diff --git a/docs/.gitignore b/docs/.gitignore new file mode 100644 index 0000000..07ed706 --- /dev/null +++ b/docs/.gitignore @@ -0,0 +1 @@ +build/* \ No newline at end of file diff --git a/docs/source/1.1.1_blinking_led.rst b/docs/source/1.1.1_blinking_led.rst new file mode 100644 index 0000000..6f2ddd8 --- /dev/null +++ b/docs/source/1.1.1_blinking_led.rst @@ -0,0 +1,478 @@ +1.1.1 点滅LED +========================= + +前書き +----------------- + +このレッスンでは、プログラミングによってLEDを点滅させる方法を学習する。設定により、LEDは一連の興味深い現象を生成できる。今、行動しよう。 + +部品 +------------------ + +.. image:: media/blinking_led_list.png + :width: 800 + :align: center + + +.. note:: + スムーズに進めるには、独自のRaspberry Pi、TFカード、およびRaspberry Piの電源を用意する必要がある。 + + +原理 +----------- + +**ブレッドボード** + +ブレッドボードは、電子装置のプロトタイピングの構築基盤である。それは回路設計を完了する前に、回路を迅速に作って、テストするために使用される。また、上記の部品をICや抵抗器、ジャンパー線などのように挿入できる多くの穴が搭載されている。ブレッドボードを使用すると、部品を簡単に差し込んだり、取り外したりすることができる。 + +この写真は、full +ブレッドボードの内部構造を示している。ブレッドボード上のこれらの穴は互いに独立しているように見えるが、実際には内部で金属ストリップを介して互いに接続されている。 + +.. image:: media/image41.png + +**LED** + +LEDは一種のダイオードである。LEDの長いピンが正極に接続され、短いピンが負極に接続されている場合にのみ、LEDが点灯する。 + +.. |image42| image:: media/image42.png + +.. |image43| image:: media/image43.png + +|image42|\ |image43| + +LEDを電源に直接接続することはできないため、部品に損傷を与える可能性がある。160Ω以上の抵抗(5V動作電圧)は、LEDの回路に直列に接続する必要がある。 + + + +**抵抗器** + +抵抗器は、分岐電流を制限できる電子素子である。固定抵抗器は抵抗値を変更できない抵抗器の一種であるが、ポテンショメータまたは可変抵抗器の抵抗値は調整できる。 + +このキットには固定抵抗器が適用される。回路では、接続された部品を保護することは重要である。次の図は、実際の物体、220Ω抵抗器、および抵抗器汎用の二つの回路記号を示している。Ωは抵抗値の単位で、より大きな単位はKΩ、MΩなどである。それらの関係は次のように示している:1M= 1000KΩ、1KΩ=1000Ω。通常、抵抗値はマークされている。したがって、回路にこれらの記号が表示される場合、抵抗があることを意味する。 + +.. image:: media/image44.png + +.. |image45| image:: media/image45.png + +.. |image46| image:: media/image46.png + +|image45|\ |image46| + +抵抗器を使用する場合、まず抵抗値を知る必要がある。以下の二つの方法がある:抵抗の帯域を観察すること、またはマルチメーターを使用して抵抗を測定すること。より便利で迅速なので、一番目の方法をお勧めする。値を測定するには、マルチメーターを使用してください。 + +カードに示されているように、各色は数字を表している。 + +.. image:: media/image47.jpeg + +回路図 +--------------------- + +この実験では、まず220Ωの抵抗器を陽極(LEDの長いピン)に接続し、それから抵抗器を3.3 Vの電源に接続し、LEDの陰極(短いピン)をRaspberry PiのGPIO17に接続する。したがって、LEDをオンにするには、GPIO17を低(0V)レベルにする必要がある。プログラミングを通じてこの現象を取得できる + +.. note:: + + **Pin11** はRaspberry Piの左から11番目のピンを指し、それに対応する **wiringPi** と **BCM** のピン番号は以下の表の通りです。 + +C言語関連のコンテンツでは、wiringPiでGPIO0を0と同等にする。Python言語関連のコンテンツの中で、BCM 17は次の表のBCM列の17である。同時に、それらはRaspberry Piの11番目のピン-ピン11と同じである。 + +============ ======== ======== ==== +T-Board Name physical wiringPi BCM +GPIO17 Pin 11 0 17 +============ ======== ======== ==== + +.. image:: media/image48.png + :width: 800 + :align: center + +実験手順 +----------------------------- + +ステップ1: 回路を作る。 + +.. image:: media/image49.png + :width: 800 + :align: center + + +C言語ユーザー向け +^^^^^^^^^^^^^^^^^^^^^^^^^ + +ステップ2: コードのフォルダーに入る。 + +1) モニターを使用する場合は、次の手順を実行することをお勧めする。 + +``/home/pi/`` に入り、 ``davinci-kit-for-raspberry-pi`` フォルダーを見つけてください。 + +フォルダー内で **C** を見つけて右クリックし、** Open in Terminal** を選択する。 + +.. image:: media/image50.png + :width: 800 + :align: center + +それから以下のようなウィンドウがポップアップされる。これで、コード ``1.1.1_BlinkingLed.c`` のパスに入っていた。 + +.. image:: media/image51.png + :width: 800 + :align: center + +次のレッスンでは、右クリックの代わりにコマンドを使用してコードファイルを入力する。ただし、お好みの方法を選択可能である。 + + +2) Raspberry Piにリモートでログインする場合、 ``cd`` を使用してディレクトリを変更する: + +.. raw:: html + + + +.. code-block:: + + cd /home/pi/davinci-kit-for-raspberry-pi/c/1.1.1/ + +.. note:: + この実験では、cdを使用してディレクトリをコードのパスに変更します。 + +どちらにしても、現在は C フォルダにいることになります。この2つの方法に基づくその後の手順は同じです。次に進みましょう。 + +ステップ3: コードをコンパイルする. + +.. raw:: html + + + +.. code-block:: + + gcc 1.1.1_BlinkingLed.c -o BlinkingLed -lwiringPi + +.. note:: + gcc は GNU Compiler Collection です。ここでは、C言語ファイル*1_BlinkingLed.c*をコンパイルし、実行ファイルを出力するような機能を持っています。 + +コマンドでは、 ``-o`` は出力を意味し( ``-o`` の直後の文字はコンパイル後のファイル名出力であり、 ``BlinkingLed`` という名前のEXEファイルがここで生成される)、 ``-lwiringPi`` はライブラリー +のwiringPiをロードする( ``l`` はlibraryの省略形である)。 + +ステップ4: 前のステップで出力されたEXEファイルを実行する。 + +.. raw:: html + + + +.. code-block:: + + sudo ./BlinkingLed + +.. note:: + + GPIOを制御するには、コマンド ``sudo`` (superuser do)でプログラムを実行してください。コマンド ``./`` は現在のディレクトリを示している。コマンド全体は、現在のディレクトリで ``BlinkingLed`` を実行することである。 + +.. image:: media/image52.png + :width: 800 + :align: center + +コードの実行後、LEDが点滅する。 + +.. note:: + + 実行しても動作しない場合、または「wiringPi.h: No such file or directory」というエラー プロンプトが表示される場合は、:ref:`faq_c_nowork` を参照してください。 + +コードファイル ``1.1.1_BlinkingLed.c`` を編集する場合は、 ``Ctrl + C`` を押してコードの実行を停止する。次に、次のコマンドを入力してそれを開く: + +.. raw:: html + + + +.. code-block:: + + nano 1.1.1_BlinkingLed.c + +.. note:: + nanoはテキストエディターツールである。このコマンドは、このツールを通して、コードファイル ``1.1.1_BlinkingLed.c`` を開くために使用される。 + + +``Ctrl + X`` を押して終了する。コードを修正した場合、変更を保存するかどうかを尋ねるプロンプトが表示される。 ``Y`` (保存)または ``N`` (保存しない)を入力する。 +次に、 ``Enter`` キーを押して終了する。 ``ステップ3`` と ``ステップ4`` を繰り返して、修正後の効果を確認する。 + +.. image:: media/image53.png + :width: 800 + :align: center + +**コード** + +プログラムコードは次のように表示される: + +.. code-block:: c + + #include + #include + #define LedPin 0 + int main(void) + { + // When initialize wiring failed, print message to screen + if(wiringPiSetup() == -1){ + printf("setup wiringPi failed !"); + return 1; + } + pinMode(LedPin, OUTPUT);// Set LedPin as output to write value to it. + while(1){ + // LED on + digitalWrite(LedPin, LOW); + printf("...LED on\n"); + delay(500); + // LED off + digitalWrite(LedPin, HIGH); + printf("LED off...\n"); + delay(500); + } + return 0; + } + +**コードの説明** + +.. code-block:: c + + include + +ハードウェアドライブライブラリは、Raspberry PiのC言語用に設計されている。このライブラリを追加すると、ハードウェアの初期化、およびI/Oポート、PWMなどの出力に役立つ。 + +.. code-block:: c + + #include + +標準I/Oライブラリ。画面に表示されるデータの印刷に使用されるpintf機能は、このライブラリによって実現される。他にも多くのパフォーマンス機能がある。 + +.. code-block:: c + + #define LedPin 0 + +T_Extension BoardのGPIO17ピンは、wiringPiのGPIO0に対応している。GPIO0をLedPinに割り当て、LedPinは後のコードでGPIO0を表す。 + +.. code-block:: c + + if(wiringPiSetup() == -1){ + printf("setup wiringPi failed !"); + return 1; + +これにより、wiringPiが初期化され、呼び出しのプログラムがwiringPiピン番号スキームを使用することになると想定される。 + +この関数を呼び出すには、ルート権限が必要である。配線の初期化に失敗すると、画面にメッセージが表示される。 +関数「return」は現在の関数から飛び出すために使用される。main()関数で関数「return」を使用すると、プログラムが終了する。 + +.. code-block:: c + + pinMode(LedPin, OUTPUT); + +LedPinを出力として設定し、値を書き込む。 + +.. code-block:: c + + digitalWrite(LedPin, LOW); + +GPIO0を0V(低レベル)に設定SURU。LEDの陰極はGPIO0に接続されているため、GPIO0が低レベルに設定されるとLEDが点灯する。 +それに反して、GPIO0を高レベルに設定すると(digitalWrite(LedPin、HIGH)):LEDが消灯する。 + +.. code-block:: c + + printf("...LED off\n"); + +printf関数は標準ライブラリ関数であり、その関数プロトタイプはヘッダーファイル「stdio.h」にあります。 +呼び出しの一般的な形式は次のとおりです。 +printf("フォーマット制御文字列"、出力テーブルの列)。 +フォーマット制御文字列は、フォーマット文字列と非フォーマット文字列に分けられる出力フォーマットを指定するために使用されます。フォーマット文字列は「%」で始まり、 +10進整数出力の場合は「%d」などのフォーマット文字が続きます。 +フォーマットされていない文字列はプロトタイプとして印刷されます。 +ここで使用されているのは、フォーマットされていない文字列であり、その後に改行文字である 「\\n」 が続きます。これは、文字列を印刷した後の自動行折り返しを表します。 + +.. code-block:: c + + delay(500); + +Delay (500) は、現在のHIGHまたはLOW状態を500ms維持する。 + +これは、プログラムを一定期間中断する機能である。また、プログラムの速度はハードウェアによって決まる。ここで、LEDをオンまたはオフにする。 +遅延機能がない場合、プログラムはプログラム全体を非常に高速で実行し、継続的にループする。そのため、プログラムの作成とデバッグに役立つ遅延機能が必要である。 + +.. code-block:: c + + return 0; + +通常、メイン関数の後ろに配置され、関数が正常に実行されると0を返すことを示す。 + +Python言語ユーザー向け +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +ステップ2: コードのフォルダーに入り、それを実行する。 + +1. モニターを使用する場合は、次の手順を実行することをお勧めする。 + +``1.1.1_BlinkingLed.py`` を見つけて、ダブルクリックして開く。今、ファイルに入った。 + +ウィンドウで **Run ->Run Module** をクリックすると、次の内容が表示される。 + +実行を停止するには、右上の「X」ボタンをクリックして閉じるだけで、コードに戻る。コードを変更する場合は、**Run Module (F5)** をクリックする前に、まず保存しなければならない。 +その後、結果を確認できる。 + +2. Raspberry Piにリモートでログインする場合、次のコマンドを入力する: + +.. raw:: html + + + +.. code-block:: + + cd /home/pi/davinci-kit-for-raspberry-pi/python + +.. note:: + ``cd`` を使用して、この実験のコードのパスにディレクトリを変更できる。 + +ステップ3: コードを実行する。 + +.. raw:: html + + + +.. code-block:: + + sudo python3 1.1.1_BlinkingLed.py + +.. note:: + ここでは ``sudo`` - superuser doとpythonは、Pythonでファイルを実行することを意味する。 + +コードの実行後、LEDが点滅する。 + +ステップ4: コードファイル ``1.1.1_BlinkingLed.py`` を編集する場合は、 Ctrl + C を押してコードの実行を停止してください。それから次のコマンドを入力して1.1.1_BlinkingLed.pyを開く: + +.. raw:: html + + + +.. code-block:: + + nano 1.1.1_BlinkingLed.py + +.. note:: + nanoはテキストエディターツールである。このツールは、コマンドを使用してコードファイル1.1.1_BlinkingLed.pyを開く。 + +``Ctrl + X`` を押して終了する。コードを修正した場合、変更を保存するかどうかを尋ねるプロンプトが表示される。 ``Y`` (保存)または ``N`` (保存しない)を入力する。 + +次に、 ``Enter`` を押して終了する。変更後の効果を確認するには、 ``nano 1.1.1_BlinkingLed.py`` をもう一度入力してください。 + +**コード** + +.. note:: + + 以下のコードを **変更/リセット/コピー/実行/停止** できます。 ただし、その前に、 ``davinci-kit-for-raspberry-pi/python`` のようなソースコードパスに移動する必要があります。 + + +.. raw:: html + + + +.. code-block:: python + + import RPi.GPIO as GPIO + import time + LedPin = 17 + def setup(): + # Set the GPIO modes to BCM Numbering + GPIO.setmode(GPIO.BCM) + # Set LedPin's mode to output,and initial level to High(3.3v) + GPIO.setup(LedPin, GPIO.OUT, initial=GPIO.HIGH) + # Define a main function for main process + def main(): + while True: + print ('...LED ON') + # Turn on LED + GPIO.output(LedPin, GPIO.LOW) + time.sleep(0.5) + print ('LED OFF...') + # Turn off LED + GPIO.output(LedPin, GPIO.HIGH) + time.sleep(0.5) + # Define a destroy function for clean up everything after the script finished + def destroy(): + # Turn off LED + GPIO.output(LedPin, GPIO.HIGH) + # Release resource + GPIO.cleanup() + # If run this script directly, do: + if __name__ == '__main__': + setup() + try: + main() + # When 'Ctrl+C' is pressed, the program destroy() will be executed. + except KeyboardInterrupt: + destroy() + +**コードの説明** + +.. code-block:: python + + #!/usr/bin/env python3 + +システムがこれを検出すると、env設定でpythonの実装パスを検索し、対応するインタープリターを呼び出して操作を完了させる。 +その目的は、ユーザーがPythonを/usr/binのデフォルトパスに実装することを防止することである。 + +.. code-block:: python + + import RPi.GPIO as GPIO + +この方法で、RPi.GPIOライブラリをインポートし、変数GPIOを定義して、次のコードでRPI.GPIOを置き換える。 + +.. code-block:: python + + import time + +次のプログラムの時間遅延機能を行うために、時間パッケージをインポートしなければならない。 + +.. code-block:: python + + LedPin = 17 + +LEDはT字型拡張ボードのGPIO17、つまりBCM 17に接続している。 + +.. code-block:: python + + def setup(): + GPIO.setmode(GPIO.BCM) + GPIO.setup(LedPin, GPIO.OUT, initial=GPIO.HIGH) + +LedPinのモードを出力に設定し、初期レベルを高(3.3v)に設定する。 + +RPi.GPIO内のRaspberry PiのIOピンに番号を付けるには、BOARDとBCM二つの番号付与方法がある。レッスンでは、使用しているのはBCM番号である。入力または出力として使用しているチャンネルをすべて設定する必要がある。 + +.. code-block:: python + + GPIO.output(LedPin, GPIO.LOW) + +GPIO17(BCM17)を0V(低レベル)に設定する。LEDのカソードはGPIO17に接続されているため、LEDが点灯する。 + +.. code-block:: python + + time.sleep(0.5) + +0.5秒の遅延。ここで、ステートメントはC言語の遅延機能に似ており、単位は秒である。 + +.. code-block:: python + + def destroy(): + GPIO.cleanup() + +スクリプトの終了後にすべてを消去する破棄関数を定義する。 + +.. code-block:: python + + if __name__ == '__main__': + setup() + try: + main() + # When 'Ctrl+C' is pressed, the program destroy() will be executed. + except KeyboardInterrupt: + destroy() + +これは、コードの一般的な実行構造である。 +プログラムの実行が開始されると、 ``setup()`` を実行してピンを初期化し、 ``main()`` 関数でコードを実行してピンを高レベルと低レベルに設定する。 +「Ctrl + C」を押すと、プログラム ``destroy()`` が実行される。 + +現象画像 +-------------------- + +.. image:: media/image54.jpeg + :width: 800 + :align: center \ No newline at end of file diff --git a/docs/source/1.1.2_rgb_led.rst b/docs/source/1.1.2_rgb_led.rst new file mode 100644 index 0000000..eec0c23 --- /dev/null +++ b/docs/source/1.1.2_rgb_led.rst @@ -0,0 +1,412 @@ +1.1.2 RGB LED +==================== + +前書き +-------------- + +このレッスンでは、これを使用してRGB LEDを制御し、さまざまな種類の色を点滅させる。 + +部品 +-------------- + +.. image:: media/list_rgb_led.png + :align: center + +原理 +-------------- + +**PWM** + +パルス幅変調(PWM)は、デジタル手段でアナログ結果を取得するための技術である。 +デジタル制御は、オンとオフを切り替える信号である方形波を作成するために使用される。 +このオン/オフパターンは、信号がオンになる時間と信号がオフになる時間の部分を変更することにより、完全にオン(5ボルト)である時と完全にオフ(0ボルト)である時の間の電圧をシミュレートできる。 +「オンタイム」の期間はパルス幅と呼ばれる。さまざまなアナログ値を取得するには、その幅を変更または変調できる。 +このオン/オフパターンを何らかのデバイス、たとえばLEDで十分に速く繰り返すと、結果は次のようになる:信号はLEDの輝度を制御する0〜5vの安定した電圧である。 + +**デューティサイクル** + +デューティサイクルは、信号が有効である1周期の割合である。期間とは、信号がオンとオフのサイクルを完了するのにかかる時間である。式として、デューティサイクルは次のように表示される: + +.. image:: media/image56.png + :width: 1.16667in + :height: 0.36458in + :align: center + +ここで、 **D** はデューティサイクル、 **T** は信号がアクティブな時間、 **P** は信号の合計周期です。 +したがって、60%のデューティサイクルは、信号が60%の時間オンであるが、40%の時間オフであることを意味します。 +60%のデューティサイクルの「定刻」は、期間の長さに応じて、数分の1秒、1日、または1週間になることもあります。 + +.. image:: media/image57.jpeg + :width: 4.325in + :height: 5.49167in + :align: center + +**RGB LED** + +.. image:: media/rgb_led_sch.png + :width: 500 + :align: center + + + +RGB LEDの3つの原色は、輝度によってさまざまな色に混ぜることができる。 +LEDの輝度はPWMで調整可能である。Raspberry PiにはハードウェアPWM出力用のチャネルが1つしかないが、RGB LEDを制御するには3つのチャネルが必要である。 +つまり、Raspberry PiのハードウェアPWMでRGB LEDを制御することは困難である。 +幸いなことに、softPwmライブラリはプログラミングによってPWM(softPwm)をシミュレートする。 +ヘッダーファイルsoftPwm.h(C言語ユーザー向け)をインクルードし、提供されるAPIを呼び出して、マルチチャネルPWM出力によってRGB LEDを簡単に制御するだけで、あらゆる種類の色を表示できる。 + +回路図 +----------------------- + +R、G、およびBのピンを電流制限抵抗器に接続した後、それぞれGPIO17、GPIO18、およびGPIO27に接続してください。LEDの最も長いピン(GND)は、Raspberry Piの接地に接続する。3つのピンに異なるPWM値が与えられると、RGB LEDは異なる色を表示する。 + +============ ======== ======== === +T-Board Name physical wiringPi BCM +GPIO17 Pin 11 0 17 +GPIO18 Pin 12 1 18 +GPIO27 Pin 13 2 27 +============ ======== ======== === + +.. image:: media/rgb_led_schematic.png + +実験手順 +---------------------------- + +ステップ1: 回路を作る。 + +.. image:: media/image61.png + :width: 6.59097in + :height: 4.29722in + +C言語ユーザー向け +^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +ステップ2: コードのフォルダーに入る。 + +.. raw:: html + + + +.. code-block:: + + cd /home/pi/davinci-kit-for-raspberry-pi/c/1.1.2/ + +ステップ3: コードをコンパイルする。 + +.. raw:: html + + + +.. code-block:: + + gcc 1.1.2_rgbLed.c -lwiringPi + +.. note:: + + 命令「gcc」が実行されるときに「-o」が呼び出されない場合、EXEファイルは「a.out」と命名する。 + +ステップ4: EXEファイルを実行する。 + +.. raw:: html + + + +.. code-block:: + + sudo ./a.out + + +コードを実行すると、RGBが赤、緑、青、黄色、ピンク、およびシアンを表示する。 + +**コード** + +.. code-block:: c + + #include + #include + #include + #define uchar unsigned char + #define LedPinRed 0 + #define LedPinGreen 1 + #define LedPinBlue 2 + + void ledInit(void){ + softPwmCreate(LedPinRed, 0, 100); + softPwmCreate(LedPinGreen,0, 100); + softPwmCreate(LedPinBlue, 0, 100); + } + + void ledColorSet(uchar r_val, uchar g_val, uchar b_val){ + softPwmWrite(LedPinRed, r_val); + softPwmWrite(LedPinGreen, g_val); + softPwmWrite(LedPinBlue, b_val); + } + + int main(void){ + + if(wiringPiSetup() == -1){ //when initialize wiring failed, printf messageto screen + printf("setup wiringPi failed !"); + return 1; + } + + ledInit(); + while(1){ + printf("Red\n"); + ledColorSet(0xff,0x00,0x00); //red + delay(500); + printf("Green\n"); + ledColorSet(0x00,0xff,0x00); //green + delay(500); + printf("Blue\n"); + ledColorSet(0x00,0x00,0xff); //blue + delay(500); + printf("Yellow\n"); + ledColorSet(0xff,0xff,0x00); //yellow + delay(500); + printf("Purple\n"); + ledColorSet(0xff,0x00,0xff); //purple + delay(500); + printf("Cyan\n"); + ledColorSet(0xc0,0xff,0x3e); //cyan + delay(500); + } + return 0; + } + +**コードの説明** + +.. code-block:: c + + #include + +ソフトウェアのpwm機能を実現するために使用されるライブラリ。 + +.. code-block:: c + + void ledInit(void){ + softPwmCreate(LedPinRed, 0, 100); + softPwmCreate(LedPinGreen,0, 100); + softPwmCreate(LedPinBlue, 0, 100); + } + +この機能は、ソフトウェアを使用してPWMピンを作成し、その周期を0x100us〜100x100usに設定することである。 + +関数 ``softPwmCreate(LedPinRed、0、100)`` のプロトタイプは次のとおりである: + +.. code-block:: c + + int softPwmCreate(int pin,int initialValue,int pwmRange); + +* **pin:** ラズベリーパイの任意のGPIOピンは、PWMピンとして設定することができます。 +* **initialValue:** 初期パルス幅はinitialValueに100usを掛けたものである。 +* **pwmRange:** PWMの周期は、pwmRangeに100usを掛けたものである。 + +.. code-block:: c + + void ledColorSet(uchar r_val, uchar g_val, uchar b_val){ + softPwmWrite(LedPinRed, r_val); + softPwmWrite(LedPinGreen, g_val); + softPwmWrite(LedPinBlue, b_val); + } + +この機能はLEDの色を設定する。RGBを使用すると、仮パラメータは赤の輝度の r_val 、緑の輝度の g_val 、青の輝度の b_val を表す。 + +関数 ``softPwmWrite(LedPinBlue, b_val)`` のプロトタイプは次のとおりである: + +.. code-block:: c + + void softPwmWrite (int pin, int value) ; + +* **pin:** ラズベリーパイの任意のGPIOピンは、PWMピンとして設定することができます。 +* **Value:** PWMのパルス幅は、値の100usの倍数です。値は、以前に定義された pwmRange より小さく、pwmRange より大きい場合、値には固定値 pwmRange が与えられることに注意してください。 + +.. code-block:: c + + ledColorSet(0xff,0x00,0x00); + +前に定義した関数を呼び出す。 ``LedPinRed`` に0xffを、 ``LedPinGreen`` と ``LedPinBlue`` に0x00を書き込む。 +このコードを実行すると、赤色のLEDのみが点灯する。他の色のLEDを点灯させる場合は、パラメーターを変更するだけである。 + +Python言語ユーザー向け +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +ステップ2: コードファイルを開く。 + +.. raw:: html + + + +.. code-block:: + + cd /home/pi/davinci-kit-for-raspberry-pi/python + +ステップ3: 実行する。 + +.. raw:: html + + + +.. code-block:: + + sudo python3 1.1.2_rgbLed.py + +コードを実行すると、RGBが赤、緑、青、黄色、ピンク、およびシアンを表示する。 + +**コード** + +.. note:: + + 以下のコードを **変更/リセット/コピー/実行/停止** できます。 ただし、その前に、 ``davinci-kit-for-raspberry-pi/python`` のようなソースコードパスに移動する必要があります。 + +.. raw:: html + + + +.. code-block:: python + + import RPi.GPIO as GPIO + import time + + # Set up a color table in Hexadecimal + COLOR = [0xFF0000, 0x00FF00, 0x0000FF, 0xFFFF00, 0xFF00FF, 0x00FFFF] + # Set pins' channels with dictionary + pins = {'Red':17, 'Green':18, 'Blue':27} + + + def setup(): + global p_R, p_G, p_B + # Set the GPIO modes to BCM Numbering + GPIO.setmode(GPIO.BCM) + # Set all LedPin's mode to output and initial level to High(3.3v) + for i in pins: + GPIO.setup(pins[i], GPIO.OUT, initial=GPIO.HIGH) + + # Set all led as pwm channel and frequece to 2KHz + p_R = GPIO.PWM(pins['Red'], 2000) + p_G = GPIO.PWM(pins['Green'], 2000) + p_B = GPIO.PWM(pins['Blue'], 2000) + + # Set all begin with value 0 + p_R.start(0) + p_G.start(0) + p_B.start(0) + + # Define a MAP function for mapping values. Like from 0~255 to 0~100 + def MAP(x, in_min, in_max, out_min, out_max): + return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min + + # Define a function to set up colors + # input color should be Hexadecimal with + # red value, blue value, green value. + def setColor(color): + # configures the three LEDs' luminance with the inputted color value . + # Devide colors from 'color' veriable + R_val = (color & 0xFF0000) >> 16 + G_val = (color & 0x00FF00) >> 8 + B_val = (color & 0x0000FF) >> 0 + # these three lines are used for analyzing the col variables + # assign the first two values of the hexadecimal to R, the middle two assigned to G + # assign the last two values to B, please refer to the shift operation of the hexadecimal for details. + + # Map color value from 0~255 to 0~100 + R_val = MAP(R_val, 0, 255, 0, 100) + G_val = MAP(G_val, 0, 255, 0, 100) + B_val = MAP(B_val, 0, 255, 0, 100) + + # Change the colors + p_R.ChangeDutyCycle(R_val) + # Assign the mapped duty cycle value to the corresponding PWM channel to change the luminance. + p_G.ChangeDutyCycle(G_val) + p_B.ChangeDutyCycle(B_val) + + print ("color_msg: R_val = %s, G_val = %s, B_val = %s"%(R_val, G_val, B_val)) + + def main(): + while True: + for color in COLOR:# Assign every item in the COLOR list to the color respectively and change the color of the RGB LED via the setColor() function. + setColor(color)# change the color of the RGB LED + time.sleep(0.5)# set delay for 0.5s after each color changing. Modify this parameter will changed the LED's color changing rate. + + def destroy(): + # Stop all pwm channel + p_R.stop() + p_G.stop() + p_B.stop() + # Release resource + GPIO.cleanup() + + # If run this script directly, do: + if __name__ == '__main__': + setup() + try: + main() + # When 'Ctrl+C' is pressed, the program + # destroy() will be executed. + except KeyboardInterrupt: + destroy() + +**コードの説明** + +.. code-block:: python + + p_R = GPIO.PWM(pins['Red'], 2000) + p_G = GPIO.PWM(pins['Green'], 2000) + p_B = GPIO.PWM(pins['Blue'], 2000) + + p_R.start(0) + p_G.start(0) + p_B.start(0) + +``GPIO.PWM()`` 関数を呼び出して、赤、緑、青をPWMピンとして定義し、 +PWMピンの周波数を2000Hzに設定してから、 ``Start()`` 関数を使用して初期デューティサイクルをゼロに設定する。 + +.. code-block:: python + + def MAP(x, in_min, in_max, out_min, out_max): + return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min + +値をマッピングするためのMAP関数を定義する。 +たとえば、x = 50、in_min = 0、in_max = 255、out_min = 0、out_max = 100。 +マップ関数のマッピング後、(50-0)*(100-0)/(255-0)+ 0 = 19.6を戻す。つまり、0-255の50は0-100の19.6に相当する。 + +.. code-block:: python + + def setColor(color): + R_val = (color & 0xFF0000) >> 16 + G_val = (color & 0x00FF00) >> 8 + B_val = (color & 0x0000FF) >> 0 + +入力されたカラー値で三つのLEDの輝度を構成し、16進数の最初の二つの値をR_valに割り当て、 +中央の二つをG_valに割り当て、最後の二つの値をB_valに割り当てる。 +たとえば、color = 0xFF00FF、R_val =(0xFF00FF&0xFF0000)>> 16 = 0xFF、G_val = 0x00、B_val = 0xFFの場合。 + +.. code-block:: python + + R_val = MAP(R_val, 0, 255, 0, 100) + G_val = MAP(G_val, 0, 255, 0, 100) + B_val = MAP(B_val, 0, 255, 0, 100) + +マップ機能を使用して、0〜255のR、G、B値をPWMデューティサイクル範囲0〜100にマップする。 + +.. code-block:: python + + p_R.ChangeDutyCycle(R_val) + p_G.ChangeDutyCycle(G_val) + p_B.ChangeDutyCycle(B_val) + +マッピングされたデューティサイクルを対応するPWMチャネルに割り当てて、輝度を変更する。 + + + +.. code-block:: python + + for color in COLOR: + setColor(color) + time.sleep(0.5) + +COLORリストのすべてのアイテムをそれぞれ色に割り当て、 ``setColor()`` 関数を介してRGB LEDの色を変更する。 + +現象画像 +------------------------ + +.. image:: media/image62.jpeg diff --git a/docs/source/1.1.3_led_bar_graph.rst b/docs/source/1.1.3_led_bar_graph.rst new file mode 100644 index 0000000..43e8b26 --- /dev/null +++ b/docs/source/1.1.3_led_bar_graph.rst @@ -0,0 +1,318 @@ +1.1.3 LED棒グラフ +====================== + +前書き +------------- + +このプロジェクトでは、LED棒グラフのライトを順番に点灯させる。 + +部品 +---------------- + +.. image:: media/list_led_bar.png + + +原理 +-------------- + +**LED棒グラフ** + +LED棒グラフは、電子回路またはマイクロコントローラーとの接続に使用されるLED配列である。10個の個別のLEDを10本の出力ピンに接続するように、LED棒グラフを回路に簡単に接続できる。 +通常、LED棒グラフは、バッテリーレベルインジケーター、オーディオ機器、および産業用制御パネルとして使用できる。LED棒グラフには他にも多くの用途がある。 + +.. image:: media/led_bar_sche.png + +回路図 +------------------------- + +============ ======== ======== === +T-Board Name physical wiringPi BCM +GPIO17 Pin 11 0 17 +GPIO18 Pin 12 1 18 +GPIO27 Pin 13 2 27 +GPIO22 Pin 15 3 22 +GPIO23 Pin 16 4 23 +GPIO24 Pin 18 5 24 +GPIO25 Pin 22 6 25 +SDA1 Pin 3 8 2 +SCL1 Pin 5 9 3 +SPICE0 Pin 24 10 8 +============ ======== ======== === + +.. image:: media/schematic_led_bar.png + + +実験手順 +------------------------------ + +ステップ1: 回路を作る。 + +.. image:: media/image66.png + :width: 800 + +C言語ユーザー向け +^^^^^^^^^^^^^^^^^^^^^^^^^ + +ステップ2: コードのフォルダーに入る。 + +.. raw:: html + + + +.. code-block:: + + cd ~/davinci-kit-for-raspberry-pi/c/1.1.3/ + +ステップ3: コードをコンパイルする。 + +.. raw:: html + + + +.. code-block:: + + gcc 1.1.3_LedBarGraph.c -lwiringPi + +ステップ4: EXEファイルを実行する。 + +.. raw:: html + + + +.. code-block:: + + sudo ./a.out + +コードの実行後、LEDバーのLEDが定期的にオン/オフになる。 + + +**コード** + +.. code-block:: c + + #include + #include + + int pins[10] = {0,1,2,3,4,5,6,8,9,10}; + void oddLedBarGraph(void){ + for(int i=0;i<5;i++){ + int j=i*2; + digitalWrite(pins[j],HIGH); + delay(300); + digitalWrite(pins[j],LOW); + } + } + void evenLedBarGraph(void){ + for(int i=0;i<5;i++){ + int j=i*2+1; + digitalWrite(pins[j],HIGH); + delay(300); + digitalWrite(pins[j],LOW); + } + } + void allLedBarGraph(void){ + for(int i=0;i<10;i++){ + digitalWrite(pins[i],HIGH); + delay(300); + digitalWrite(pins[i],LOW); + } + } + int main(void) + { + if(wiringPiSetup() == -1){ //when initialize wiring failed,print message to screen + printf("setup wiringPi failed !"); + return 1; + } + for(int i=0;i<10;i++){ //make led pins' mode is output + pinMode(pins[i], OUTPUT); + digitalWrite(pins[i],LOW); + } + while(1){ + oddLedBarGraph(); + delay(300); + evenLedBarGraph(); + delay(300); + allLedBarGraph(); + delay(300); + } + return 0; + } + +**コードの説明** + +.. code-block:: c + + int pins[10] = {0,1,2,3,4,5,6,8,9,10}; + +配列を作成し、LED棒グラフ(0、1、2、3、4、5、6、8、9、10)に対応するピン番号に割り当て、配列はLEDを制御するために使用される。 + +.. code-block:: c + + void oddLedBarGraph(void){ + for(int i=0;i<5;i++){ + int j=i*2; + digitalWrite(pins[j],HIGH); + delay(300); + digitalWrite(pins[j],LOW); + } + } + +LED棒グラフの奇数桁のLEDを順番に点灯させる。 + +.. code-block:: c + + void evenLedBarGraph(void){ + for(int i=0;i<5;i++){ + int j=i*2+1; + digitalWrite(pins[j],HIGH); + delay(300); + digitalWrite(pins[j],LOW); + } + } + +LED棒グラフの偶数桁のLEDを順番に点灯させる。 + +.. code-block:: c + + void allLedBarGraph(void){ + for(int i=0;i<10;i++){ + digitalWrite(pins[i],HIGH); + delay(300); + digitalWrite(pins[i],LOW); + } + } + +LED棒グラフのLEDを1つずつ点灯させる。 + +Python言語ユーザー向け +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +ステップ2: コードのフォルダーに入る。 + +.. raw:: html + + + +.. code-block:: + + cd /home/pi/davinci-kit-for-raspberry-pi/python/ + +ステップ3: EXEファイルを実行する。 + +.. raw:: html + + + +.. code-block:: + + sudo python3 1.1.3_LedBarGraph.py + +コードの実行後、LEDバーのLEDが定期的にオン/オフになる。 + +**コード** + +.. note:: + + 以下のコードを **変更/リセット/コピー/実行/停止** できます。 ただし、その前に、 ``davinci-kit-for-raspberry-pi/python`` のようなソースコードパスに移動する必要があります。 + +.. raw:: html + + + +.. code-block:: python + + import RPi.GPIO as GPIO + import time + + ledPins = [11, 12, 13, 15, 16, 18, 22, 3, 5, 24] + + def oddLedBarGraph(): + for i in range(5): + j = i*2 + GPIO.output(ledPins[j],GPIO.HIGH) + time.sleep(0.3) + GPIO.output(ledPins[j],GPIO.LOW) + + def evenLedBarGraph(): + for i in range(5): + j = i*2+1 + GPIO.output(ledPins[j],GPIO.HIGH) + time.sleep(0.3) + GPIO.output(ledPins[j],GPIO.LOW) + + def allLedBarGraph(): + for i in ledPins: + GPIO.output(i,GPIO.HIGH) + time.sleep(0.3) + GPIO.output(i,GPIO.LOW) + + def setup(): + GPIO.setwarnings(False) + GPIO.setmode(GPIO.BOARD) # Numbers GPIOs by physical location + for i in ledPins: + GPIO.setup(i, GPIO.OUT) # Set all ledPins' mode is output + GPIO.output(i, GPIO.LOW) # Set all ledPins to high(+3.3V) to off led + + def loop(): + while True: + oddLedBarGraph() + time.sleep(0.3) + evenLedBarGraph() + time.sleep(0.3) + allLedBarGraph() + time.sleep(0.3) + + def destroy(): + for pin in ledPins: + GPIO.output(pin, GPIO.LOW) # turn off all leds + GPIO.cleanup() # Release resource + + if __name__ == '__main__': # Program start from here + setup() + try: + loop() + except KeyboardInterrupt: # When 'Ctrl+C' is pressed, the program destroy() will be executed. + destroy() + +**コードの説明** + + +``ledPins = [11, 12, 13, 15, 16, 18, 22, 3, 5, 24]`` +配列を作成し、LED棒グラフ(11、12、13、15、16、18、22、3、5、24)に対応するピン番号に割り当て、配列はLEDを制御するために使用される。 + +.. code-block:: python + + def oddLedBarGraph(): + for i in range(5): + j = i*2 + GPIO.output(ledPins[j],GPIO.HIGH) + time.sleep(0.3) + GPIO.output(ledPins[j],GPIO.LOW) + +LED棒グラフの奇数桁のLEDを順番に点灯させる。 + +.. code-block:: python + + def evenLedBarGraph(): + for i in range(5): + j = i*2+1 + GPIO.output(ledPins[j],GPIO.HIGH) + time.sleep(0.3) + GPIO.output(ledPins[j],GPIO.LOW) + +LED棒グラフの偶数桁のLEDを順番に点灯させる。 + +.. code-block:: python + + def allLedBarGraph(): + for i in ledPins: + GPIO.output(i,GPIO.HIGH) + time.sleep(0.3) + GPIO.output(i,GPIO.LOW) + +LED棒グラフのLEDを1つずつ点灯させる。 + +現象画像 +----------------------- + +.. image:: media/image67.jpeg diff --git a/docs/source/1.1.4_7-segment_display.rst b/docs/source/1.1.4_7-segment_display.rst new file mode 100644 index 0000000..8f85b18 --- /dev/null +++ b/docs/source/1.1.4_7-segment_display.rst @@ -0,0 +1,374 @@ +1.1.4 7セグメントディスプレイ +============================= + +前書き +----------------- + +7セグメントディスプレイを駆動して、0から9およびAからFの数字を表示してみましょう。 + +部品 +---------------- + +.. image:: media/list_7_segment.png + +原理 +------------- + +**7セグメントディスプレイ** + +7セグメントディスプレイは、LEDを7個パッケージした8字型の部品である。各LEDはセグメントと呼ばれる-通電されると、1つのセグメントが表示される数字の一部を形成する。 + +ピン接続には、カソードコモン(CC)とアノードコモン(CA)の2種類がある。名前が示すように、CAディスプレイには7セグメントのアノードがすべて接続されている場合、CCディスプレイには7つのLEDのカソードがすべて接続されている。このキットでは、前者を使用する。 + +.. image:: media/image70.jpeg + :width: 3.89514in + :height: 3.32222in + :align: center + +ディスプレイの各LEDには、長方形のプラスチックパッケージから接続ピンの1つが引き出された位置セグメントがある。 +これらのLEDピンには、個々のLEDを表す「a」から「g」までのラベルが付いている。他のLEDピンは一緒に接続され、共通のピンを形成する。 +そのため、LEDセグメントの適切なピンを特定の順序で順方向にバイアスすることにより、一部のセグメントが明るくなり、他のセグメントが暗くなり、ディスプレイに対応する文字が表示される。 + +**表示コード** + +7セグメントディスプレイ(カソードコモン)がどのように番号を表示するかを知るために、次の表を作成した。 +数字は、7セグメントディスプレイに表示される数字0〜Fである。(DP)GFEDCBAは、0または1に設定された対応するLEDを指す。 +たとえば、00111111は、DPとGが0に設定され、他が1に設定されることを意味する。 +したがって、7セグメントディスプレイには0が表示され、HEXコードは16進数に対応する。 + +.. image:: media/common_cathode.png + + +**74HC595** + +74HC595は、8ビットのシフトレジスタと、3段階の並列出力を備えたストレージレジスタで構成されている。MCUのIOポートを節約できるように、シリアル入力を並列出力に変換する。 + +MR(ピン10)が高レベルで、OE(ピン13)が低レベルの場合、データはSHcpの立ち上がりエッジで入力され、SHcpの立ち上がりエッジを介してメモリレジスタに入力される。 +2つのクロックが接続されている場合、シフトレジスタは常にメモリレジスタより1パルス早くなる。 +メモリレジスタには、シリアルシフト入力ピン(Ds)、シリアル出力ピン(Q)、非同期リセットボタン(低レベル)がある。 +メモリレジスタは並列8ビットで3つの状態のバスを出力します。 +OEが有効(低レベル)の場合、メモリレジスタのデータがバスに出力される。 + +.. image:: media/74hc595_sche.png + :width: 400 + :align: center + + + + +**74HC595のピンとその機能** + +* **Q0-Q7** : 8ビットパラレルデータ出力端子。8個のLEDまたは8個の7セグメントディスプレイを直接制御することができます。 + +* **Q7'** : 複数の74HC595を直列に接続するために,別の74HC595のDSに接続される直列出力端子。 + +* **MR** : リセットピン-低レベルで作動; + +* **SHcp** : シフトレジスタの時系列入力。 立ち上がりエッジでは、シフトレジスタのデータが1ビット連続して移動します。つまり、Q1のデータがQ2に移動します。 立ち下がりエッジにある間、シフトレジスタのデータは変更されません。 + +* **STcp** : ストレージレジスタの時系列入力。 立ち上がりエッジで、シフトレジスタのデータがメモリレジスタに移動します。 + +* **CE** : 出力イネーブルピン、低レベルで作動する。 + +* **DS** : 直列データ入力ピン + +* **VCC** : 正の電源電圧 + +* **GND** : 接地 + +回路図 +--------------------- + +74HC595のピンST_CPをRaspberry Pi GPIO18に、SH_CPをGPIO27に、DSをGPIO17に、並列出力ポートをLEDセグメントディスプレイの8つのセグメントに接続する。 +SH_CP(シフトレジスタのクロック入力)が立ち上がりエッジにある場合はDSピンのデータをシフトレジスタに入力し、 +ST_CP(メモリのクロック入力)が立ち上がりエッジにある場合はそのデータをメモリレジスタに入力する。 +次に、Raspberry Pi GPIOを介してSH_CPおよびST_CPの状態を制御し、直列データ入力を並列データ出力に変換して、 +Raspberry Pi GPIOを保存したりディスプレイを駆動したりすることはできる。 + +============ ======== ======== === +T-Board Name physical wiringPi BCM +GPIO17 Pin 11 0 17 +GPIO18 Pin 12 1 18 +GPIO27 Pin 13 2 27 +============ ======== ======== === + +.. image:: media/schematic_7_segment.png + :width: 800 + +実験手順 +------------------------------ + +ステップ1: 回路を作る。 + +.. image:: media/image73.png + :width: 800 + +C言語ユーザー向け +^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +ステップ2:コードのフォルダーに入る。 + +.. raw:: html + + + +.. code-block:: + + cd /home/pi/davinci-kit-for-raspberry-pi/c/1.1.4/ + +ステップ3:コンパイルする。 + +.. raw:: html + + + +.. code-block:: + + gcc 1.1.4_7-Segment.c -lwiringPi + +ステップ4:EXEファイルを実行する。 + +.. raw:: html + + + +.. code-block:: + + sudo ./a.out + +コードの実行後、7セグメントディスプレイに0〜9、AFが表示される。 + + +**コード** + +.. code-block:: c + + #include + #include + #define SDI 0 //serial data input + #define RCLK 1 //memory clock input(STCP) + #define SRCLK 2 //shift register clock input(SHCP) + unsigned char SegCode[16] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71}; + + void init(void){ + pinMode(SDI, OUTPUT); + pinMode(RCLK, OUTPUT); + pinMode(SRCLK, OUTPUT); + digitalWrite(SDI, 0); + digitalWrite(RCLK, 0); + digitalWrite(SRCLK, 0); + } + + void hc595_shift(unsigned char dat){ + int i; + for(i=0;i<8;i++){ + digitalWrite(SDI, 0x80 & (dat << i)); + digitalWrite(SRCLK, 1); + delay(1); + digitalWrite(SRCLK, 0); + } + digitalWrite(RCLK, 1); + delay(1); + digitalWrite(RCLK, 0); + } + + int main(void){ + int i; + if(wiringPiSetup() == -1){ //when initialize wiring failed, print messageto screen + printf("setup wiringPi failed !"); + return 1; + } + init(); + while(1){ + for(i=0;i<16;i++){ + printf("Print %1X on Segment\n", i); // %X means hex output + hc595_shift(SegCode[i]); + delay(500); + } + } + return 0; + } + +**コードの説明** + +``unsigned char SegCode[16] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};`` +16進数(カソードコモン)の0からFまでのセグメントコード配列。 + +.. code-block:: c + + void init(void){ + pinMode(SDI, OUTPUT); + pinMode(RCLK, OUTPUT); + pinMode(SRCLK, OUTPUT); + digitalWrite(SDI, 0); + digitalWrite(RCLK, 0); + digitalWrite(SRCLK, 0); + } + +Set ``ds`` , ``st_cp`` , ``sh_cp`` の3つのピンをOUTPUTに設定し、初期状態を0に設定する。 +``void hc595_shift(unsigned char dat){}`` +8ビット値を74HC595のシフトレジスタに割り当てる。 + +.. code-block:: c + + digitalWrite(SDI, 0x80 & (dat << i)); + +ビットごとにdatデータをSDI(DS)に割り当てる。 +ここでは、dat = 0x3f(0011 1111を仮定し、i = 2の場合、0x3fは左(<<)2ビットにシフトする。 +1111 1100(0x3f << 2)&1000 0000(0x80)= 1000 0000、真である。 + +.. code-block:: c + + digitalWrite(SRCLK, 1); + +SRCLKの初期値は元々に0に設定されていたが、ここでは1に設定されている。 +これは、立ち上がりエッジパルスを生成し、DSの日付をシフトレジスタにシフトする。 + +.. code-block:: c + + digitalWrite(RCLK, 1); + +RCLKの初期値は元々に0に設定されていたが、ここでは1に設定されている。これは、立ち上がりエッジパルスを生成し、データーをシフトレジスタからストレージレジスターにシフトする。 + +.. code-block:: c + + while(1){ + for(i=0;i<16;i++){ + printf("Print %1X on Segment\n", i); // %X means hex output + hc595_shift(SegCode[i]); + delay(500); + } + } + +このforループでは、iを16進数で出力するために、"%1X" を使用しています。iを適用して ``SegCode[]`` 配列の対応するセグメントコードを求め、 ``hc595_shift()`` で74HC595のシフトレジスターにSegCodeを渡します。 + +Python言語ユーザー向け +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +ステップ2:コードのフォルダーに入る。 + +.. raw:: html + + + +.. code-block:: + + cd /home/pi/davinci-kit-for-raspberry-pi/python/ + +ステップ3:実行する。 + +.. raw:: html + + + +.. code-block:: + + sudo python3 1.1.4_7-Segment.py + +コードの実行後、7セグメントディスプレイに0〜9、AFが表示される。 + +**コード** + + +.. note:: + + 以下のコードを **変更/リセット/コピー/実行/停止** できます。 ただし、その前に、 ``davinci-kit-for-raspberry-pi/python`` のようなソースコードパスに移動する必要があります。 + +.. raw:: html + + + +.. code-block:: python + + import RPi.GPIO as GPIO + import time + + # Set up pins + SDI = 17 + RCLK = 18 + SRCLK = 27 + + # Define a segment code from 0 to F in Hexadecimal + # Common cathode + segCode = [0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71] + + def setup(): + GPIO.setmode(GPIO.BCM) + GPIO.setup(SDI, GPIO.OUT, initial=GPIO.LOW) + GPIO.setup(RCLK, GPIO.OUT, initial=GPIO.LOW) + GPIO.setup(SRCLK, GPIO.OUT, initial=GPIO.LOW) + + # Shift the data to 74HC595 + def hc595_shift(dat): + for bit in range(0, 8): + GPIO.output(SDI, 0x80 & (dat << bit)) + GPIO.output(SRCLK, GPIO.HIGH) + time.sleep(0.001) + GPIO.output(SRCLK, GPIO.LOW) + GPIO.output(RCLK, GPIO.HIGH) + time.sleep(0.001) + GPIO.output(RCLK, GPIO.LOW) + + def main(): + while True: + # Shift the code one by one from segCode list + for code in segCode: + hc595_shift(code) + print ("segCode[%s]: 0x%02X"%(segCode.index(code), code)) # %02X means double digit HEX to print + time.sleep(0.5) + + def destroy(): + GPIO.cleanup() + + if __name__ == '__main__': + setup() + try: + main() + except KeyboardInterrupt: + destroy() + +**コードの説明** + +.. code-block:: python + + segCode = [0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71] + +16進数(カソードコモン)の0からFまでのセグメントコード配列。 + +.. code-block:: python + + def setup(): + GPIO.setmode(GPIO.BCM) + GPIO.setup(SDI, GPIO.OUT, initial=GPIO.LOW) + GPIO.setup(RCLK, GPIO.OUT, initial=GPIO.LOW) + GPIO.setup(SRCLK, GPIO.OUT, initial=GPIO.LOW) + +Set ``ds``, ``st_cp`` , ``sh_cp`` の3つのピンを出力に設定し、初期状態を低レベルとして設定する。 + +.. code-block:: python + + GPIO.output(SDI, 0x80 & (dat << bit)) + +ビットごとにdatデータをSDI(DS)に割り当てる。ここでは、dat = 0x3f(0011 1111、bit = 2を仮定し、0x3fは右(<<)2ビットに切り替える。1111 1100(0x3f << 2)&1000 0000(0x80)=1000 0000、は真である。 + +.. code-block:: python + + GPIO.output(SRCLK, GPIO.HIGH) + +SRCLKの初期値は元々LOWに設定されていたが、ここでは立ち上がりエッジを生成し、DSデータをシフトレジスタに切り替えるためにHIGHに設定されている。 + +.. code-block:: python + + GPIO.output(RCLK, GPIO.HIGH) + +SRCLKの初期値は元々LOWに設定されていたが、ここでは立ち上がりエッジを生成し、DSデータをシフトレジスタに切り替えるためにHIGHに設定されている。 + +.. note:: + 番号0〜15の16進形式は:(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F)。 + +現象画像 +------------------------- + +.. image:: media/image74.jpeg + + diff --git a/docs/source/1.1.5_4-Digit_7-segment_display.rst b/docs/source/1.1.5_4-Digit_7-segment_display.rst new file mode 100644 index 0000000..da07a1f --- /dev/null +++ b/docs/source/1.1.5_4-Digit_7-segment_display.rst @@ -0,0 +1,521 @@ +.. _py_4-dig: + +1.1.5 4桁7セグメントディスプレイ +==================================== + +前書き +----------------- + +次に、4桁7セグメントディスプレイを制御してみてください。 + +部品 +--------------- + +.. image:: media/list_4_digit.png + + +原理 +-------------- + +**4桁7セグメントディスプレイ** + +4桁の7セグメントディスプレイは、連携して動作する4つの7セグメントディスプレイで構成されている。 + +.. image:: media/4-digit-sche.png + +4デジタル7セグメントディスプレイは独立して動作する。人間の視覚的持続性の原理を使用して、ループ内の各7セグメントの文字をすばやく表示し、連続した文字列を形成する。 + +つまり、ディスプレイに「1234」が表示されている場合、最初の7セグメントに「1」が表示され、「234」は表示されないということである。しばらくすると、2番目の7セグメントに「2」が表示され、7セグメントの1番目、3番目、4番目に表示されなくなり、4つのデジタルディスプレイショーが順番に表示される。このプロセスは非常に短く(通常5ms)、光学的残光効果と視覚的残留の原理により、同時に4つの文字を見ることができる。 + +.. image:: media/image78.png + + +**表示コード** + +7セグメントディスプレイ(アノードコモン)がどのように番号を表示するかを知るために、次の表をご参照ください。数字は7セグメントディスプレイに表示される0〜Fの数字である。(DP)GFEDCBAは、0または1に設定された対応のLEDを指す。たとえば、11000000はDPおよびGが1に設定され、他のLEDが0に設定されることを意味する。 +したがって、7セグメントディスプレイには0が表示され、HEXコードは16進数に対応する。 + +.. image:: media/common_anode.png + + +回路図 +-------------------------- + +============ ======== ======== === +T-Board Name physical wiringPi BCM +GPIO17 Pin 11 0 17 +GPIO27 Pin 13 2 27 +GPIO22 Pin 15 3 22 +SPIMOSI Pin 19 12 10 +GPIO18 Pin 12 1 18 +GPIO23 Pin 16 4 23 +GPIO24 Pin 18 5 24 +============ ======== ======== === + +.. image:: media/schmatic_4_digit.png + + +実験手順 +----------------------------------- + +ステップ1: 回路を作る。 + +.. image:: media/image80.png + :width: 800 + +C言語ユーザー向け +^^^^^^^^^^^^^^^^^^^^^^^^ + +ステップ2:コードのフォルダーに入る。 + +.. raw:: html + + + +.. code-block:: + + cd /home/pi/davinci-kit-for-raspberry-pi/c/1.1.5/ + +ステップ3:コードをコンパイルする。 + +.. raw:: html + + + +.. code-block:: + + gcc 1.1.5_4-Digit.c -lwiringPi + +ステップ4:EXEファイルを実行する。 + +.. raw:: html + + + +.. code-block:: + + sudo ./a.out + +コードの実行後、プログラムは1秒間に1つずつ増やすカウントを行い、4桁の7セグメントディスプレイにそのカウントが表示される。 + + +**コード** + +.. code-block:: c + + #include + #include + #include + #include + #include + + #define SDI 5 + #define RCLK 4 + #define SRCLK 1 + + const int placePin[] = {12, 3, 2, 0}; + unsigned char number[] = {0xc0, 0xf9, 0xa4, 0xb0, 0x99, 0x92, 0x82, 0xf8, 0x80, 0x90}; + + int counter = 0; + + void pickDigit(int digit) + { + for (int i = 0; i < 4; i++) + { + digitalWrite(placePin[i], 0); + } + digitalWrite(placePin[digit], 1); + } + + void hc595_shift(int8_t data) + { + int i; + for (i = 0; i < 8; i++) + { + digitalWrite(SDI, 0x80 & (data << i)); + digitalWrite(SRCLK, 1); + delayMicroseconds(1); + digitalWrite(SRCLK, 0); + } + digitalWrite(RCLK, 1); + delayMicroseconds(1); + digitalWrite(RCLK, 0); + } + + void clearDisplay() + { + int i; + for (i = 0; i < 8; i++) + { + digitalWrite(SDI, 1); + digitalWrite(SRCLK, 1); + delayMicroseconds(1); + digitalWrite(SRCLK, 0); + } + digitalWrite(RCLK, 1); + delayMicroseconds(1); + digitalWrite(RCLK, 0); + } + + void loop() + { + while(1){ + clearDisplay(); + pickDigit(0); + hc595_shift(number[counter % 10]); + + clearDisplay(); + pickDigit(1); + hc595_shift(number[counter % 100 / 10]); + + clearDisplay(); + pickDigit(2); + hc595_shift(number[counter % 1000 / 100]); + + clearDisplay(); + pickDigit(3); + hc595_shift(number[counter % 10000 / 1000]); + } + } + + void timer(int timer1) + { + if (timer1 == SIGALRM) + { + counter++; + alarm(1); + printf("%d\n", counter); + } + } + + void main(void) + { + if (wiringPiSetup() == -1) + { + printf("setup wiringPi failed !"); + return; + } + pinMode(SDI, OUTPUT); + pinMode(RCLK, OUTPUT); + pinMode(SRCLK, OUTPUT); + + for (int i = 0; i < 4; i++) + { + pinMode(placePin[i], OUTPUT); + digitalWrite(placePin[i], HIGH); + } + signal(SIGALRM, timer); + alarm(1); + loop(); + } + + + +**コードの説明** + +.. code-block:: c + + const int placePin[] = {12, 3, 2, 0}; + +これらの4つのピンは、4桁の7セグメントディスプレイのアノードコモンピンを制御する。 + +.. code-block:: c + + unsigned char number[] = {0xc0, 0xf9, 0xa4, 0xb0, 0x99, 0x92, 0x82, 0xf8, 0x80, 0x90}; + +16進数(アノードコモン)の0〜9のセグメントコード配列。 + +.. code-block:: c + + void pickDigit(int digit) + { + for (int i = 0; i < 4; i++) + { + digitalWrite(placePin[i], 0); + } + digitalWrite(placePin[digit], 1); + } + +値の場所を選択する。毎回有効な場所は1つだけである。有効な場所はhighに書き込まれる。 + +.. code-block:: c + + void loop() + { + while(1){ + clearDisplay(); + pickDigit(0); + hc595_shift(number[counter % 10]); + + clearDisplay(); + pickDigit(1); + hc595_shift(number[counter % 100 / 10]); + + clearDisplay(); + pickDigit(2); + hc595_shift(number[counter % 1000 / 100]); + + clearDisplay(); + pickDigit(3); + hc595_shift(number[counter % 10000 / 1000]); + } + } + +この機能を使用して、4桁の7セグメントディスプレイに表示される番号を設定する。 + +* ``clearDisplay()``:11111111に書き込み、7セグメントディスプレイ上のこれら8つのLEDをオフにして、表示されたコンテンツを消去する。 +* ``pickDigit(0)``:4番目の7セグメントディスプレイを選択する。 +* ``hc595_shift(number[counter%10])``:カウンターの1桁の数字が4番目のセグメントに表示される。 + +.. code-block:: c + + signal(SIGALRM, timer); + +これはシステム組み込みの関数であり、コードのプロトタイプは次のとおりである: + +.. code-block:: c + + sig_t signal(int signum,sig_t handler); + +``signal()`` を実行した後、プロセスは対応する signum(ここでSIGALRM)を受信すると、すぐに既存のタスクを一時停止し、設定関数(ここでtimer(sig))を処理する。 + +.. code-block:: c + + alarm(1); + +これもシステム組み込み関数である。コードのプロトタイプは: + +.. code-block:: c + + unsigned int alarm (unsigned int seconds); + +指定した秒数後にSIGALRMシグナルを生成する。 + +.. code-block:: c + + void timer(int timer1) + { + if (timer1 == SIGALRM) + { + counter++; + alarm(1); + printf("%d\n", counter); + } + } + +上記の関数を使用して、タイマー関数を実装する。 ``alarm()`` がSIGALRMシグナルを生成した後、タイマー関数が呼び出される。カウンターに1を追加すると、1秒後に関数 ``alarm(1)`` が繰り返し呼び出される。 + +Python言語ユーザー向け +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +ステップ2:コードのフォルダーに入る。 + +.. raw:: html + + + +.. code-block:: + + cd /home/pi/davinci-kit-for-raspberry-pi/python/ + +ステップ3:EXEファイルを実行する。 + +.. raw:: html + + + +.. code-block:: + + sudo python3 1.1.5_4-Digit.py + +コードの実行後、プログラムは1秒ずつ増加するカウントをして、4桁のディスプレイにカウントが表示される。 + +**コード** + +.. note:: + + 以下のコードを **変更/リセット/コピー/実行/停止** できます。 ただし、その前に、 ``davinci-kit-for-raspberry-pi/python`` のようなソースコードパスに移動する必要があります。 + +.. raw:: html + + + +.. code-block:: python + + import RPi.GPIO as GPIO + import time + import threading + + SDI = 24 + RCLK = 23 + SRCLK = 18 + + placePin = (10, 22, 27, 17) + number = (0xc0, 0xf9, 0xa4, 0xb0, 0x99, 0x92, 0x82, 0xf8, 0x80, 0x90) + + counter = 0 + timer1 = 0 + + def clearDisplay(): + for i in range(8): + GPIO.output(SDI, 1) + GPIO.output(SRCLK, GPIO.HIGH) + GPIO.output(SRCLK, GPIO.LOW) + GPIO.output(RCLK, GPIO.HIGH) + GPIO.output(RCLK, GPIO.LOW) + + def hc595_shift(data): + for i in range(8): + GPIO.output(SDI, 0x80 & (data << i)) + GPIO.output(SRCLK, GPIO.HIGH) + GPIO.output(SRCLK, GPIO.LOW) + GPIO.output(RCLK, GPIO.HIGH) + GPIO.output(RCLK, GPIO.LOW) + + def pickDigit(digit): + for i in placePin: + GPIO.output(i,GPIO.LOW) + GPIO.output(placePin[digit], GPIO.HIGH) + + + def timer(): + global counter + global timer1 + timer1 = threading.Timer(1.0, timer) + timer1.start() + counter += 1 + print("%d" % counter) + + + def loop(): + global counter + while True: + clearDisplay() + pickDigit(0) + hc595_shift(number[counter % 10]) + + clearDisplay() + pickDigit(1) + hc595_shift(number[counter % 100//10]) + + clearDisplay() + pickDigit(2) + hc595_shift(number[counter % 1000//100]) + + clearDisplay() + pickDigit(3) + hc595_shift(number[counter % 10000//1000]) + + + def setup(): + GPIO.setmode(GPIO.BCM) + GPIO.setup(SDI, GPIO.OUT) + GPIO.setup(RCLK, GPIO.OUT) + GPIO.setup(SRCLK, GPIO.OUT) + for i in placePin: + GPIO.setup(i, GPIO.OUT) + global timer1 + timer1 = threading.Timer(1.0, timer) + timer1.start() + + def destroy(): # When "Ctrl+C" is pressed, the function is executed. + global timer1 + GPIO.cleanup() + timer1.cancel() # cancel the timer + + if __name__ == '__main__': # Program starting from here + setup() + try: + loop() + except KeyboardInterrupt: + destroy() + +**コードの説明** + +.. code-block:: python + + placePin = (10, 22, 27, 17) + +これらの4つのピンは、4桁の7セグメントディスプレイのアノードコモンピンを制御する。 + +.. code-block:: python + + number = (0xc0, 0xf9, 0xa4, 0xb0, 0x99, 0x92, 0x82, 0xf8, 0x80, 0x90) + +16進数の0〜9のセグメントコード配列(アノードコモン)。 + +.. code-block:: python + + def clearDisplay(): + for i in range(8): + GPIO.output(SDI, 1) + GPIO.output(SRCLK, GPIO.HIGH) + GPIO.output(SRCLK, GPIO.LOW) + GPIO.output(RCLK, GPIO.HIGH) + GPIO.output(RCLK, GPIO.LOW) + +SDIに「1」を8回書き込むと、7セグメントディスプレイの8つのLEDが消灯し、表示されたコンテンツが消去される。 + +.. code-block:: python + + def pickDigit(digit): + for i in placePin: + GPIO.output(i,GPIO.LOW) + GPIO.output(placePin[digit], GPIO.HIGH) + +値の場所を選択する。毎回有効な場所は1つだけである。有効な場所はhighに書き込まれる。 + +.. code-block:: python + + def loop(): + global counter + while True: + clearDisplay() + pickDigit(0) + hc595_shift(number[counter % 10]) + + clearDisplay() + pickDigit(1) + hc595_shift(number[counter % 100//10]) + + clearDisplay() + pickDigit(2) + hc595_shift(number[counter % 1000//100]) + + clearDisplay() + pickDigit(3) + hc595_shift(number[counter % 10000//1000]) + +この機能は、4桁の7セグメントディスプレイに表示される番号を設定するために使用される。 + +まず、4番目のセグメントディスプレイを開始し、1桁の数字を書き込む。次に、3番目のセグメントディスプレイを開始し、10桁の数字を入力する。その後、2番目と1番目のセグメントディスプレイをそれぞれ開始し、それぞれ数百桁と数千桁を書き込む。リフレッシュ速度が非常に速いため、完全な4桁のディスプレイが表示される。 + +.. code-block:: python + + timer1 = threading.Timer(1.0, timer) + timer1.start() + +モジュール、スレッドはPythonの一般的なスレッドモジュールであり、タイマーはそのサブクラスである。コードのプロトタイプは次のとおりです: + +.. code-block:: python + + class threading.Timer(interval, function, args=[], kwargs={}) + +間隔の後、関数が実行される。ここでは、間隔は1.0、関数は ``timer()`` である。 ``start()`` は、タイマーがこの時点で開始することを意味する。 + +.. code-block:: python + + def timer(): + global counter + global timer1 + timer1 = threading.Timer(1.0, timer) + timer1.start() + counter += 1 + print("%d" % counter) + +Timerが1.0秒に達すると、Timer関数が呼び出される。カウンターに1を追加すると、タイマーが再び使用されて、1秒ごとに繰り返し実行される。 + +現象画像 +----------------------- + +.. image:: media/image81.jpeg \ No newline at end of file diff --git a/docs/source/1.1.6_led_dot_matrix.rst b/docs/source/1.1.6_led_dot_matrix.rst new file mode 100644 index 0000000..4192545 --- /dev/null +++ b/docs/source/1.1.6_led_dot_matrix.rst @@ -0,0 +1,382 @@ +.. _py_led_matrix: + +1.1.6 LEDドットマトリックス +=========================== + + +前書き +-------------------- + +名前が示すように、LEDドットマトリックスはLEDで構成されるマトリックスである。LEDの点灯と調光は、さまざまな文字とパターンを形成する。 + +部品 +------------------ + +.. image:: media/list_dot.png + +原理 +---------------- + +**LEDドットマトリックス** + +一般に、LEDドットマトリックスは、cathode (CC)とcommon anode (CA)の2つのタイプに分類できる。見た目は似ているが、内部的には違いがある。テストを行うとすぐに分かる。このキットではCAが使用される。側面に788BSというラベルが付いている。 + +下の図を参照してください。ピンは背面の両端に配置されている。ラベル側を参考にしてください。この端のピンはピン1〜8で、もう一方のピンはピン9〜16である。 + +外部ビュー: + +.. image:: media/image84.png + + +図の下に内部構造を示している。CA LEDドットマトリックスが見える。ROWはLEDのアノードを表し、COLはカソードを表す。CCの場合は逆である。共通点が1つある:両方のタイプで、ピン13、3、4、10、6、11、15、および16はすべてCOLである。ピン9、14、8、12、1、7、2、および5がすべてROWである。左上隅の最初のLEDをオンにする場合、CA LEDドットマトリックスに対して、ピン9をHigh、ピン13をLowに設定し、CC 1に対して、ピン13をHighに、ピン9をLowに設定する。CAの最初の列全体を点灯させる場合は、ピン13をLowに、行9、14、8、12、1、7、2、および5をHighに設定するCCの場合、ピン13をHighに、行9、14、8、12、1、7、2、および5をLowに設定する。理解を深めるために、次の図を検討してください。 + +内部ビュー: + +.. image:: media/image85.png + :width: 400 + :align: center + +上記の行と列に対応するピン番号: + +=========== ====== ====== ===== ====== ===== ====== ====== ====== +**COL** **1** **2** **3** **4** **5** **6** **7** **8** +**Pin No.** **13** **3** **4** **10** **6** **11** **15** **16** +**ROW** **1** **2** **3** **4** **5** **6** **7** **8** +**Pin No.** **9** **14** **8** **12** **1** **7** **2** **5** +=========== ====== ====== ===== ====== ===== ====== ====== ====== + +さらに、2つの74HC595チップがここで使用されている。1つはLEDドットマトリックスの行を制御し、もう1つは列を制御する。 + +回路図 +----------------------- + +============ ======== ======== === +T-Board Name physical wiringPi BCM +GPIO17 Pin 11 0 17 +GPIO18 Pin 12 1 18 +GPIO27 Pin 13 2 27 +============ ======== ======== === + +.. image:: media/schematic_dot.png + :width: 800 + +実験手順 +---------------------------- + +ステップ1: 回路を作る。配線が複雑なので、段階的に作りましょう。まず、T-Cobbler、LEDドットマトリックス、および2つの74HC595チップをブレッドボードに挿入する。 +T-Cobblerの3.3Vと接地をボードの両側の穴に接続し、2つの74HC595チップのピン16と10をVCCに、ピン13とピン8を接地に接続する。 + +.. note:: + 上のFritzing画像では、ラベルのある側が下にある。 + +.. image:: media/image87.png + :width: 800 + +ステップ2: 2つの74HC595のピン11を一緒に接続し、GPIO27に接続する。 +次に、2つのチップのピン12を一緒に接続し、GPIO18に接続する。 +それから左側の74HC595のピン14をGPIO17に、ピン9を2番目の74HC595のピン14に接続する。 + +.. image:: media/image88.png + :width: 800 + +ステップ3: 右側の74HC595は、LEDドットマトリックスの列を制御する。 +マッピングについては、以下の表を参照してください。 +したがって、74HC595のQ0〜Q7ピンは、それぞれピン13、3、4、10、6、11、15、および16にマップされる。 + ++--------------------+--------+--------+--------+--------+--------+--------+--------+--------+ +| **74HC595** | **Q0** | **Q1** | **Q2** | **Q3** | **Q4** | **Q5** | **Q6** | **Q7** | ++--------------------+--------+--------+--------+--------+--------+--------+--------+--------+ +| **LED Dot Matrix** | **13** | **3** | **4** | **10** | **6** | **11** | **15** | **16** | ++--------------------+--------+--------+--------+--------+--------+--------+--------+--------+ + +.. image:: media/image89.png + :width: 800 + +ステップ4: 次に、LEDドットマトリックスの行を接続する。左側の74HC595はLEDドットマトリックスの行を制御する。 +マッピングについては、以下の表を参照してください。左側の74HC595のQ0〜Q7は、それぞれピン9、14、8、12、1、7、2、および5にマッピングされていることは分かった。 + ++--------------------+--------+--------+--------+--------+--------+--------+--------+--------+ +| **74HC595** | **Q0** | **Q1** | **Q2** | **Q3** | **Q4** | **Q5** | **Q6** | **Q7** | ++--------------------+--------+--------+--------+--------+--------+--------+--------+--------+ +| **LED Dot Matrix** | **9** | **14** | **8** | **12** | **1** | **7** | **2** | **5** | ++--------------------+--------+--------+--------+--------+--------+--------+--------+--------+ + +.. image:: media/image90.png + :width: 800 + +C言語ユーザー向け +^^^^^^^^^^^^^^^^^^^^^ + +ステップ5: コードのフォルダーに移動する。 + +.. raw:: html + + + +.. code-block:: + + cd /home/pi/davinci-kit-for-raspberry-pi/c/1.1.6/ + +ステップ6: コンパイルする。 + +.. raw:: html + + + +.. code-block:: + + gcc 1.1.6_LedMatrix.c -lwiringPi + +ステップ7: 実行する。 + +.. raw:: html + + + +.. code-block:: + + sudo ./a.out + +コードの実行後、LEDドットマトリックスが行ごとに、列ごとに点灯したり消灯したりする。 + +**コード** + +.. code-block:: c + + #include + #include + + #define SDI 0 //serial data input + #define RCLK 1 //memory clock input(STCP) + #define SRCLK 2 //shift register clock input(SHCP) + + unsigned char code_H[20] = {0x01,0xff,0x80,0xff,0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}; + unsigned char code_L[20] = {0x00,0x7f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; + + void init(void){ + pinMode(SDI, OUTPUT); + pinMode(RCLK, OUTPUT); + pinMode(SRCLK, OUTPUT); + + digitalWrite(SDI, 0); + digitalWrite(RCLK, 0); + digitalWrite(SRCLK, 0); + } + + void hc595_in(unsigned char dat){ + int i; + for(i=0;i<8;i++){ + digitalWrite(SDI, 0x80 & (dat << i)); + digitalWrite(SRCLK, 1); + delay(1); + digitalWrite(SRCLK, 0); + } + } + + void hc595_out(){ + digitalWrite(RCLK, 1); + delay(1); + digitalWrite(RCLK, 0); + } + + int main(void){ + int i; + if(wiringPiSetup() == -1){ //when initialize wiring failed, print message to screen + printf("setup wiringPi failed !"); + return 1; + } + init(); + while(1){ + for(i=0;i=0;i--){ + hc595_in(code_L[i]); + hc595_in(code_H[i]); + hc595_out(); + delay(100); + } + } + + return 0; + } + +**Code Explanation** + +.. code-block:: c + + unsigned char code_H[20] = {0x01,0xff,0x80,0xff,0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}; + unsigned char code_L[20] = {0x00,0x7f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; + +配列code_HはLEDドットマトリックス行の要素を表し、配列code_Lは列の要素を表す。 +文字が表示されると、行の要素と列の要素が取得され、それぞれ2つのHC595チップに割り当てられる。 +したがって、パターンはLEDドットマトリックスに表示される。例として、code_Hの最初の数字0x01とcode_Lの最初の数字0x00を取り上げる。 + +二進法に変換された0x01は00000001になり、二進法に変換された0x00は0000 0000になる。 + +このキットでは、アノードコモンLEDドットマトリックスディスプレイが適用されるため、 +8列目の8つのLEDのみが点灯する。コードHが0xffで、code_Lが0x7fであるという条件が同時に満たされると、最初の列のこれら8つのLEDが点灯する。 + +.. image:: media/anode_table.png + +.. code-block:: c + + void hc595_in(unsigned char dat){ + int i; + for(i=0;i<8;i++){ + digitalWrite(SDI, 0x80 & (dat << i)); + digitalWrite(SRCLK, 1); + delay(1); + digitalWrite(SRCLK, 0); + +HC 595ビットのピンSDIにビット単位でDATの値を書き込みます。SRCLKの初期値は0に設定され、ここで1がセットされ、立ち上がりエッジパルスを生成し、次にPHSDI(DS)の日付をシフトレジスタにシフトさせる。 + +.. code-block:: c + + void hc595_out(){ + digitalWrite(RCLK, 1); + delay(1); + digitalWrite(RCLK, 0); + +RCLKの初期値は元々に0に設定されていたが、ここでは1に設定されている。これは、立ち上がりエッジパルスを生成し、データーをシフトレジスタからストレージレジスターにシフトする。 + +.. code-block:: c + + while(1){ + for(i=0;i + +.. code-block:: + + cd /home/pi/davinci-kit-for-raspberry-pi/python + +ステップ6: 実行する。 + +.. raw:: html + + + +.. code-block:: + + sudo python3 1.1.6_LedMatrix.py + +コードの実行後、LEDドットマトリックスが行ごとに、列ごとに点灯したり消灯したりする。 + +**コード** + +.. note:: + + 以下のコードを **変更/リセット/コピー/実行/停止** できます。 ただし、その前に、 ``davinci-kit-for-raspberry-pi/python`` のようなソースコードパスに移動する必要があります。 + +.. raw:: html + + + + +.. code-block:: python + + import RPi.GPIO as GPIO + import time + + SDI = 17 + RCLK = 18 + SRCLK = 27 + + # we use BX matrix, ROW for anode, and COL for cathode + # ROW ++++ + code_H = [0x01,0xff,0x80,0xff,0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff] + # COL ---- + code_L = [0x00,0x7f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f] + + def setup(): + GPIO.setmode(GPIO.BCM) # Number GPIOs by its BCM location + GPIO.setup(SDI, GPIO.OUT) + GPIO.setup(RCLK, GPIO.OUT) + GPIO.setup(SRCLK, GPIO.OUT) + GPIO.output(SDI, GPIO.LOW) + GPIO.output(RCLK, GPIO.LOW) + GPIO.output(SRCLK, GPIO.LOW) + + # Shift the data to 74HC595 + def hc595_shift(dat): + for bit in range(0, 8): + GPIO.output(SDI, 0x80 & (dat << bit)) + GPIO.output(SRCLK, GPIO.HIGH) + time.sleep(0.001) + GPIO.output(SRCLK, GPIO.LOW) + GPIO.output(RCLK, GPIO.HIGH) + time.sleep(0.001) + GPIO.output(RCLK, GPIO.LOW) + + def main(): + while True: + for i in range(0, len(code_H)): + hc595_shift(code_L[i]) + hc595_shift(code_H[i]) + time.sleep(0.1) + + for i in range(len(code_H)-1, -1, -1): + hc595_shift(code_L[i]) + hc595_shift(code_H[i]) + time.sleep(0.1) + + def destroy(): + GPIO.cleanup() + + if __name__ == '__main__': + setup() + try: + main() + except KeyboardInterrupt: + destroy() + +**コードの説明*** + +.. code-block:: python + + code_H = [0x01,0xff,0x80,0xff,0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff] + code_L = [0x00,0x7f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f] + +配列code_Hはmatix行の要素を表し、配列code_Lは列の要素を表す。文字が表示されると、行の要素と列の要素が取得され、それぞれ2つのHC595チップに割り当てられる。したがって、パターンはLEDドットマトリックスに表示される。例として、code_Hの最初の数字0x01とcode_Lの最初の数字0x00を取り上げる。 + +二進法に変換された0x01は00000001になり、二進法に変換された0x00は0000 0000になる。 + +このキットでは、アノードコモンLEDドットマトリックスが適用されるため、8行目の8つのLEDのみが点灯する。コードHが0xffで、code_Lが0x7fであるという条件が同時に満たされると、最初の列のこれら8つのLEDが点灯する。 + +.. image:: media/anode_table.png + +.. code-block:: python + + for i in range(0, len(code_H)): + hc595_shift(code_L[i]) + hc595_shift(code_H[i]) + +このループでは、2つの配列code_Lおよびcode_Hのこれらの20個の要素が2つのHC595チップに1つずつアップロードされる。 + +.. note:: + LEDドットマトリックスに文字を表示する場合は、Pythonコードを参照してください: https://github.com/sunfounder/SunFounder_Dot_Matrix. + +現象画像 +----------------------- + +.. image:: media/image91.jpeg diff --git a/docs/source/1.1.7_i2c_lcd1602.rst b/docs/source/1.1.7_i2c_lcd1602.rst new file mode 100644 index 0000000..742fe7c --- /dev/null +++ b/docs/source/1.1.7_i2c_lcd1602.rst @@ -0,0 +1,322 @@ +.. _py_lcd: + +1.1.7 I2C LCD1602 +====================== + +前書き +------------------ + +LCD1602は文字型液晶ディスプレイで、32(16 * 2)文字を同時に表示できる。 + +部品 +------------------- + +.. image:: media/list_i2c_lcd.png + +原理 +----------- + +**I2C LCD1602** + +ご存知のように、LCDやその他のディスプレイはマンマシンの相互作用を大幅に強化するが、共通の弱点を共有している。 +それらがコントローラーに接続されると、外部ポートがあまりないコントローラーの複数のIOが占用される。 +また、コントローラーの他の機能も制限される。したがって、この問題を解決するために、I2Cバスを備えたLCD1602が開発された。 + +.. image:: media/i2c_lcd.png + +**I2C通信** + +I2C(アイ・スクエアド・シー)バスは、一つマスターデバイス(または複数のマスターデバイス)と単一または複数のスレーブデバイス間の通信用の非常に強力なバスである。 + +I2Cメインコントローラーを使用して、IOエクスパンダー、各種センサー、EEPROM、ADC/DACなどを制御できる。 +これらはすべて、ホストの2つのピン、シリアルデータ(SDA1)ラインとシリアルクロックライン(SCL1)によってのみ制御される。 + +回路図 +--------------------- + +============ ======== +T-Board Name physical +SDA1 Pin 3 +SCL1 Pin 5 +============ ======== + +.. image:: media/schematic_i2c_lcd.png + + +実験手順 +----------------------------- + +ステップ1: 回路を作る。 + +.. image:: media/image96.png + :width: 800 + + + +ステップ2: I2Cをセットアップします( :ref:`I2C Configuration` 。I2Cを設定している場合は、このステップをスキップしてください。) + +C言語ユーザー向け +^^^^^^^^^^^^^^^^^^^^^^^^^ + +ステップ3: ディレクトリを変更する。 + +.. raw:: html + + + +.. code-block:: + + cd /home/pi/davinci-kit-for-raspberry-pi/c/1.1.7/ + +ステップ4: コンパイルする。 + +.. raw:: html + + + +.. code-block:: + + gcc 1.1.7_Lcd1602.c -lwiringPi + +ステップ5: 実行する。 + +.. raw:: html + + + +.. code-block:: + + sudo ./a.out + +コードの実行後、LCDに「Greetings」、「SunFounderから」が表示される。 + +.. note:: + + コードと配線に問題がないのに LCD に内容が表示されない場合は、背面のポテンショメータをひねってみてください。 + + +**コード** + +.. code-block:: c + + #include + #include + #include + #include + + int LCDAddr = 0x27; + int BLEN = 1; + int fd; + + void write_word(int data){ + int temp = data; + if ( BLEN == 1 ) + temp |= 0x08; + else + temp &= 0xF7; + wiringPiI2CWrite(fd, temp); + } + + void send_command(int comm){ + int buf; + // Send bit7-4 firstly + buf = comm & 0xF0; + buf |= 0x04; // RS = 0, RW = 0, EN = 1 + write_word(buf); + delay(2); + buf &= 0xFB; // Make EN = 0 + write_word(buf); + + // Send bit3-0 secondly + buf = (comm & 0x0F) << 4; + buf |= 0x04; // RS = 0, RW = 0, EN = 1 + write_word(buf); + delay(2); + buf &= 0xFB; // Make EN = 0 + write_word(buf); + } + + void send_data(int data){ + int buf; + // Send bit7-4 firstly + buf = data & 0xF0; + buf |= 0x05; // RS = 1, RW = 0, EN = 1 + write_word(buf); + delay(2); + buf &= 0xFB; // Make EN = 0 + write_word(buf); + + // Send bit3-0 secondly + buf = (data & 0x0F) << 4; + buf |= 0x05; // RS = 1, RW = 0, EN = 1 + write_word(buf); + delay(2); + buf &= 0xFB; // Make EN = 0 + write_word(buf); + } + + void init(){ + send_command(0x33); // Must initialize to 8-line mode at first + delay(5); + send_command(0x32); // Then initialize to 4-line mode + delay(5); + send_command(0x28); // 2 Lines & 5*7 dots + delay(5); + send_command(0x0C); // Enable display without cursor + delay(5); + send_command(0x01); // Clear Screen + wiringPiI2CWrite(fd, 0x08); + } + + void clear(){ + send_command(0x01); //clear Screen + } + + void write(int x, int y, char data[]){ + int addr, i; + int tmp; + if (x < 0) x = 0; + if (x > 15) x = 15; + if (y < 0) y = 0; + if (y > 1) y = 1; + + // Move cursor + addr = 0x80 + 0x40 * y + x; + send_command(addr); + + tmp = strlen(data); + for (i = 0; i < tmp; i++){ + send_data(data[i]); + } + } + + + void main(){ + fd = wiringPiI2CSetup(LCDAddr); + init(); + write(0, 0, "Greetings!"); + write(1, 1, "From SunFounder"); + } + +**コードの説明** + +.. code-block:: + + void write_word(int data){……} + void send_command(int comm){……} + void send_data(int data){……} + void init(){……} + void clear(){……} + void write(int x, int y, char data[]){……} + +これらの関数は、I2C LCD1602オープンソースコードを制御するために使用される。 +これにより、I2C LCD1602を簡単に使用できる。 +これらの関数の中で、 ``init()`` は初期化に使用され、 ``clear()`` は画面の消去に使用され、 ``write()`` は表示内容の書き込みに使用され、 +他の関数は上記の関数をサポートする。 + +.. code-block:: c + + fd = wiringPiI2CSetup(LCDAddr); + +この関数は指定されたデバイスシンボルでI2Cシステムを初期化する。関数のプロトタイプ: + +.. code-block:: c + + int wiringPiI2CSetup(int devId); + +パラメーターdevIdはI2Cデバイスのアドレスであり、i2cdetectコマンド(付録を参照)で見つけることができ、I2C LCD1602のdevIdは通常0x27である。 + +.. code-block:: c + + void write(int x, int y, char data[]){} + +この関数では、 ``data[]`` はLCDにプリントされる文字であり、パラメーターxとyはプリントの位置を決定する(行y + 1、列x + 1はプリントされる文字の開始位置である)。 + +Python言語ユーザー向け +^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +ステップ3: ディレクトリを変更する。 + +.. raw:: html + + + +.. code-block:: + + cd /home/pi/davinci-kit-for-raspberry-pi/python/ + +ステップ4: 実行。 + +.. raw:: html + + + +.. code-block:: + + sudo python3 1.1.7_Lcd1602.py + +コードの実行後、LCDに「Greetings」、「SunFounderから」が表示される。 + +.. note:: + + * ``FileNotFoundError: [Errno 2] No such file or directory: '/dev/i2c-1'`` というエラーが発生した場合は、 :ref:`i2c_config` を参照して I2C を有効にする必要があります。 + * ``ModuleNotFoundError: No module named 'smbus2'`` エラーが発生した場合は、 ``sudo pip3 install smbus2`` を実行してください。 + * ``OSError: [Errno 121] Remote I/O`` というエラーが発生した場合は、モジュールの配線が間違っているか、モジュールが破損しています。 + * コードと配線に問題がないのに LCD に内容が表示されない場合は、背面のポテンショメータをひねってみてください。 + + +**コード** + +.. note:: + + 以下のコードを **変更/リセット/コピー/実行/停止** できます。 ただし、その前に、 ``davinci-kit-for-raspberry-pi/python`` のようなソースコードパスに移動する必要があります。 + +.. raw:: html + + + +.. code-block:: python + + import LCD1602 + import time + + def setup(): + LCD1602.init(0x27, 1) # init(slave address, background light) + LCD1602.write(0, 0, 'Greetings!!') + LCD1602.write(1, 1, 'from SunFounder') + time.sleep(2) + + def destroy(): + LCD1602.clear() + + if __name__ == "__main__": + try: + setup() + except KeyboardInterrupt: + destroy() + + +**コードの説明** + +.. code-block:: python + + import LCD1602 + +このファイルはI2C LCD1602を制御するためのオープンソースファイルである。I2C LCD1602を簡単に使用できる。 + +.. code-block:: python + + LCD1602.init(0x27, 1) + +この関数は指定されたデバイスシンボルでI2Cシステムを初期化する。最初のパラメーターはI2Cデバイスのアドレスで、i2cdetectコマンドで検出できる(詳細については付録を参照してください)。I2C LCD1602のアドレスは通常0x27である。 + +.. code-block:: python + + LCD1602.write(0, 0, 'Greetings!!') + +コードの実行後、LCDに「Greetings」、「SunFounderから」が表示される。 + +現象画像 +-------------------------- + +.. image:: media/image97.jpeg diff --git a/docs/source/1.2.1_active_buzzer.rst b/docs/source/1.2.1_active_buzzer.rst new file mode 100644 index 0000000..df640d9 --- /dev/null +++ b/docs/source/1.2.1_active_buzzer.rst @@ -0,0 +1,240 @@ +1.2.1 アクティブブザー +====================== + + +前書き +------------ + +このレッスンでは、PNPトランジスタでアクティブブザーを鳴らす方法を学習する。 + +部品 +---------- + +.. image:: media/list_1.2.1.png + + +原理 +--------- + +**ブザー** + +統合された構造を持つ電子ブザーの一種として、DC電源によって電圧供給されるブザーは、コンピューター、プリンター、コピー機、警報器、電子玩具、自動車用電子装置、電話、タイマー、その他の電子製品または音声装置で広く使用されている。ブザーは、アクティブとパッシブに分類できる(次の図を参照)。ピンが上を向くようにブザーを回し、緑色の回路基板を備えたブザーはパッシブブザーで、黒いテープで囲まれたブザーはアクティブである。 + +アクティブブザーとパッシブブザーの違い: + +.. image:: media/image101.png + :width: 400 + :align: center + + +アクティブブザーとパッシブブザーの違いは次の通りである:アクティブブザーには振動源が内蔵されているため、通電すると音が鳴る。ただし、パッシブブザーにはそのような振動源がないため、DC信号が使用されてもビープ音は鳴らない。代わりに、周波数が2K〜5Kの方形波を使用して駆動する必要がある。アクティブブザーは、多くの場合、複数の発振回路が内蔵されているため、パッシブブザーよりも高価である。 + +以下はブザーの電気記号である。両極の2つのピンが搭載されている。表面の+は陽極を表し、もう1つは陰極を表す。 + +.. image:: media/image102.png + :width: 150 + :align: center + + +ブザーのピンをチェックすることができ、長い方が陽極で、短い方が陰極である。接続時にそれらを混同しないでください。混同すると、ブザーが鳴らない。 + +回路図 +----------------- + +この実験では、アクティブブザー、PNPトランジスタ、および1k抵抗器をトランジスタのベースとGPIOの間に使用して、トランジスタを保護する。Raspberry Pi出力のGPIO17にプログラミングによって低レベル(0V)が供給されると、電流飽和のためトランジスタが導通し、ブザーが音を出す。しかし、Raspberry PiのIOに高レベルが供給されると、トランジスターが切断され、ブザーは音を出さない。 + +.. image:: media/image332.png + + +実験手順 +----------------------- + +ステップ1: 回路を作る。(ブザーの両極に注意してください:+ラベルが付いている方が正極で、もう一方が負極である。) + +.. image:: media/image104.png + :width: 800 + + + +C言語ユーザー向け +^^^^^^^^^^^^^^^^^^^^ + +ステップ2: コードファイルを開く。 + +.. raw:: html + + + +.. code-block:: + + cd /home/pi/davinci-kit-for-raspberry-pi/c/1.2.1/ + +ステップ3: コードをコンパイルする。 + +.. raw:: html + + + +.. code-block:: + + gcc 1.2.1_ActiveBuzzer.c -lwiringPi + +ステップ4: EXEファイルを実行する。 + +.. raw:: html + + + +.. code-block:: + + sudo ./a.out + +コードが実行されると、ブザーが鳴く。 + + +**コード** + +.. code-block:: c + + #include + #include + + #define BeepPin 0 + int main(void){ + if(wiringPiSetup() == -1){ //when initialize wiring failed, print messageto screen + printf("setup wiringPi failed !"); + return 1; + } + + pinMode(BeepPin, OUTPUT); //set GPIO0 output + while(1){ + //beep on + printf("Buzzer on\n"); + digitalWrite(BeepPin, LOW); + delay(100); + printf("Buzzer off\n"); + //beep off + digitalWrite(BeepPin, HIGH); + delay(100); + } + return 0; + } + +**コードの説明** + +.. code-block:: c + + digitalWrite(BeepPin, LOW); + +この実験ではアクティブブザーを使用しているため、直流に接続すると自動的に音が鳴く。このスケッチは、I/Oポートを低レベル(0V)に設定して、トランジスタを管理し、ブザーを鳴らすためのものである。 + +.. code-block:: c + + digitalWrite(BeepPin, HIGH); + +I/Oポートを高レベル(3.3V)に設定するため、トランジスターは通電されず、ブザーは鳴らない。 + +Python言語ユーザー向け +^^^^^^^^^^^^^^^^^^^^^^^^^ + +ステップ2: コードファイルを開く。 + +.. raw:: html + + + +.. code-block:: + + cd /home/pi/davinci-kit-for-raspberry-pi/python + +ステップ3: 実行する。 + +.. raw:: html + + + +.. code-block:: + + sudo python3 1.2.1_ActiveBuzzer.py + +コードが実行されると、ブザーが鳴く。 + +**コード** + +.. note:: + + 以下のコードを **変更/リセット/コピー/実行/停止** できます。 ただし、その前に、 ``davinci-kit-for-raspberry-pi/python`` のようなソースコードパスに移動する必要があります。 + +.. raw:: html + + + +.. code-block:: python + + import RPi.GPIO as GPIO + import time + + # Set #17 as buzzer pin + BeepPin = 17 + + def setup(): + # Set the GPIO modes to BCM Numbering + GPIO.setmode(GPIO.BCM) + # Set LedPin's mode to output, + # and initial level to High(3.3v) + GPIO.setup(BeepPin, GPIO.OUT, initial=GPIO.HIGH) + + def main(): + while True: + # Buzzer on (Beep) + print ('Buzzer On') + GPIO.output(BeepPin, GPIO.LOW) + time.sleep(0.1) + # Buzzer off + print ('Buzzer Off') + GPIO.output(BeepPin, GPIO.HIGH) + time.sleep(0.1) + + def destroy(): + # Turn off buzzer + GPIO.output(BeepPin, GPIO.HIGH) + # Release resource + GPIO.cleanup() + + # If run this script directly, do: + if __name__ == '__main__': + setup() + try: + main() + # When 'Ctrl+C' is pressed, the program + # destroy() will be executed. + except KeyboardInterrupt: + destroy() + +**コードの説明** + +.. code-block:: python + + GPIO.output(BeepPin, GPIO.LOW) + +ビープ音を鳴らすには、ブザーピンを低レベルに設定してください。 + +.. code-block:: python + + time.sleep(0.1) + +0.1秒待つ。このパラメーターを変更して、スイッチング周波数を変更する。 + +.. note:: + これは音の周波数ではない。アクティブブザーは音の周波数を変更できない。 + +.. code-block:: python + + GPIO.output(BeepPin, GPIO.HIGH) + +ブザーを閉じる。 + +現象画像 +------------------ + +.. image:: media/image105.jpeg \ No newline at end of file diff --git a/docs/source/1.2.2_passive_buzzer.rst b/docs/source/1.2.2_passive_buzzer.rst new file mode 100644 index 0000000..5e1ecdf --- /dev/null +++ b/docs/source/1.2.2_passive_buzzer.rst @@ -0,0 +1,361 @@ +1.2.2 パッシブブザー +===================== + +前書き +------------ + +このレッスンでは、パッシブブザーで音楽を再生する方法を学習する。 + +部品 +---------- + +.. image:: media/list_1.2.2.png + +回路図 +----------------- + +この実験では、トランジスタを保護するために、トランジスタのベースとGPIOの間にパッシブブザー、PNPトランジスタ、および1k抵抗器を使用する。 + +GPIO17に異なる周波数が与えられると、パッシブブザーは異なる音を出す。このようにして、ブザーは音楽を再生する。 + +.. image:: media/image333.png + + +実験手順 +----------------------- + +ステップ1: 回路を作る。 + +.. image:: media/image106.png + :width: 800 + + + +C言語ユーザー向け +^^^^^^^^^^^^^^^^^^^^ + +ステップ2: ディレクトリを変更する。 + +.. raw:: html + + + +.. code-block:: + + cd /home/pi/davinci-kit-for-raspberry-pi/c/1.2.2/ + +ステップ3: コードをコンパイルする。 + +.. raw:: html + + + +.. code-block:: + + gcc 1.2.2_PassiveBuzzer.c -lwiringPi + +ステップ4: 実行。 + +.. raw:: html + + + +.. code-block:: + + sudo ./a.out + +コードが実行されると、ブザーが音楽を再生する。 + +**コード** + +.. code-block:: c + + #include + #include + #include + + #define BuzPin 0 + + #define CL1 131 + #define CL2 147 + #define CL3 165 + #define CL4 175 + #define CL5 196 + #define CL6 221 + #define CL7 248 + + #define CM1 262 + #define CM2 294 + #define CM3 330 + #define CM4 350 + #define CM5 393 + #define CM6 441 + #define CM7 495 + + #define CH1 525 + #define CH2 589 + #define CH3 661 + #define CH4 700 + #define CH5 786 + #define CH6 882 + #define CH7 990 + + int song_1[] = {CM3,CM5,CM6,CM3,CM2,CM3,CM5,CM6,CH1,CM6,CM5,CM1,CM3,CM2, + CM2,CM3,CM5,CM2,CM3,CM3,CL6,CL6,CL6,CM1,CM2,CM3,CM2,CL7, + CL6,CM1,CL5}; + + int beat_1[] = {1,1,3,1,1,3,1,1,1,1,1,1,1,1,3,1,1,3,1,1,1,1,1,1,1,2,1,1, + 1,1,1,1,1,1,3}; + + + int song_2[] = {CM1,CM1,CM1,CL5,CM3,CM3,CM3,CM1,CM1,CM3,CM5,CM5,CM4,CM3,CM2, + CM2,CM3,CM4,CM4,CM3,CM2,CM3,CM1,CM1,CM3,CM2,CL5,CL7,CM2,CM1 + }; + + int beat_2[] = {1,1,1,3,1,1,1,3,1,1,1,1,1,1,3,1,1,1,2,1,1,1,3,1,1,1,3,3,2,3}; + + int main(void) + { + int i, j; + if(wiringPiSetup() == -1){ //when initialize wiring failed,print message to screen + printf("setup wiringPi failed !"); + return 1; + } + + if(softToneCreate(BuzPin) == -1){ + printf("setup softTone failed !"); + return 1; + } + + while(1){ + printf("music is being played...\n"); + delay(100); + for(i=0;i + +.. code-block:: + + cd /home/pi/davinci-kit-for-raspberry-pi/python/ + +ステップ3:実行する。 + +.. raw:: html + + + +.. code-block:: + + sudo python3 1.2.2_PassiveBuzzer.py + +コードが実行されると、ブザーが音楽を再生する。 + +**コード** + + +.. note:: + + 以下のコードを **変更/リセット/コピー/実行/停止** できます。 ただし、その前に、 ``davinci-kit-for-raspberry-pi/python`` のようなソースコードパスに移動する必要があります。 + +.. raw:: html + + + +.. code-block:: python + + import RPi.GPIO as GPIO + import time + + Buzzer = 11 + + CL = [0, 131, 147, 165, 175, 196, 211, 248] # Frequency of Bass tone in C major + + CM = [0, 262, 294, 330, 350, 393, 441, 495] # Frequency of Midrange tone in C major + + CH = [0, 525, 589, 661, 700, 786, 882, 990] # Frequency of Treble tone in C major + + song_1 = [ CM[3], CM[5], CM[6], CM[3], CM[2], CM[3], CM[5], CM[6], # Notes of song1 + CH[1], CM[6], CM[5], CM[1], CM[3], CM[2], CM[2], CM[3], + CM[5], CM[2], CM[3], CM[3], CL[6], CL[6], CL[6], CM[1], + CM[2], CM[3], CM[2], CL[7], CL[6], CM[1], CL[5] ] + + beat_1 = [ 1, 1, 3, 1, 1, 3, 1, 1, # Beats of song 1, 1 means 1/8 beat + 1, 1, 1, 1, 1, 1, 3, 1, + 1, 3, 1, 1, 1, 1, 1, 1, + 1, 2, 1, 1, 1, 1, 1, 1, + 1, 1, 3 ] + + song_2 = [ CM[1], CM[1], CM[1], CL[5], CM[3], CM[3], CM[3], CM[1], # Notes of song2 + CM[1], CM[3], CM[5], CM[5], CM[4], CM[3], CM[2], CM[2], + CM[3], CM[4], CM[4], CM[3], CM[2], CM[3], CM[1], CM[1], + CM[3], CM[2], CL[5], CL[7], CM[2], CM[1] ] + + beat_2 = [ 1, 1, 2, 2, 1, 1, 2, 2, # Beats of song 2, 1 means 1/8 beat + 1, 1, 2, 2, 1, 1, 3, 1, + 1, 2, 2, 1, 1, 2, 2, 1, + 1, 2, 2, 1, 1, 3 ] + + def setup(): + + GPIO.setmode(GPIO.BOARD) # Numbers GPIOs by physical location + GPIO.setup(Buzzer, GPIO.OUT) # Set pins' mode is output + global Buzz # Assign a global variable to replace GPIO.PWM + Buzz = GPIO.PWM(Buzzer, 440) # 440 is initial frequency. + Buzz.start(50) # Start Buzzer pin with 50% duty cycle + + def loop(): + while True: + print ('\n Playing song 1...') + for i in range(1, len(song_1)): # Play song 1 + Buzz.ChangeFrequency(song_1[i]) # Change the frequency along the song note + time.sleep(beat_1[i] * 0.5) # delay a note for beat * 0.5s + time.sleep(1) # Wait a second for next song. + + print ('\n\n Playing song 2...') + for i in range(1, len(song_2)): # Play song 1 + Buzz.ChangeFrequency(song_2[i]) # Change the frequency along the song note + time.sleep(beat_2[i] * 0.5) # delay a note for beat * 0.5s + + def destory(): + Buzz.stop() # Stop the buzzer + GPIO.output(Buzzer, 1) # Set Buzzer pin to High + GPIO.cleanup() # Release resource + + if __name__ == '__main__': # Program start from here + setup() + try: + loop() + except KeyboardInterrupt: # When 'Ctrl+C' is pressed, the program destroy() will be executed. + destory() + +**コードの説明** + +.. code-block:: python + + CL = [0, 131, 147, 165, 175, 196, 211, 248] # Frequency of Bass tone in C major + CM = [0, 262, 294, 330, 350, 393, 441, 495] # Frequency of Midrange tone in C major + CH = [0, 525, 589, 661, 700, 786, 882, 990] # Frequency of Treble tone in C major + +これらは各音符の周波数である。番号1〜7が音色のCDEFGABに対応するように、最初の0は ``CL[0]`` をスキップする。 + +.. code-block:: python + + song_1 = [ CM[3], CM[5], CM[6], CM[3], CM[2], CM[3], CM[5], CM[6], + CH[1], CM[6], CM[5], CM[1], CM[3], CM[2], CM[2], CM[3], + CM[5], CM[2], CM[3], CM[3], CL[6], CL[6], CL[6], CM[1], + CM[2], CM[3], CM[2], CL[7], CL[6], CM[1], CL[5] ] + +これらの配列は歌の音符である。 + +.. code-block:: python + + beat_1 = [ 1, 1, 3, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, + 1, 3, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, + 1, 1, 3 ] + +すべての音符の拍(各番号)は、⅛拍で、つまり0.5秒を表す。 + +.. code-block:: python + + Buzz = GPIO.PWM(Buzzer, 440) + Buzz.start(50) + +ピンブザーをPWMピンとして定義し、その周波数を440に設定し、 ``Buzz.start(50)`` を使用してPWMを実行する。 +さらに、デューティサイクルを50%に設定する。 + +.. code-block:: python + + for i in range(1, len(song_1)): + Buzz.ChangeFrequency(song_1[i]) + time.sleep(beat_1[i] * 0.5) + +for 文を実行すると、ブザーは配列 ``song_1[]`` の音符を ``beat_1[]`` 配列の拍で再生する。 + +これで、パッシブブザーが音楽を再生していることが聞こえる。 + +現象画像 +------------------ + +.. image:: media/image107.jpeg \ No newline at end of file diff --git a/docs/source/1.3.1_motor.rst b/docs/source/1.3.1_motor.rst new file mode 100644 index 0000000..904d667 --- /dev/null +++ b/docs/source/1.3.1_motor.rst @@ -0,0 +1,423 @@ +1.3.1 モーター +=============== + +前書き +----------------- + +このレッスンでは、L293Dを使用してDCモーターを駆動し、時計回りと反時計回りに回転させる方法を学習する。 +安全上の理由で、DCモーターは大電流を必要とするため、ここでは電源モジュールを使用してモーターに電力を供給する。 + +部品 +----------- + +.. image:: media/list_1.3.1.png + + +原理 +--------- + +**L293D** + +L293Dは、高電圧と高電流のチップで統合された4チャネルモータードライバーである。 +標準のDTL、TTLロジックレベルに接続し、誘導負荷(リレーコイル、DC、ステッピングモーターなど)およびパワースイッチングトランジスタなどを駆動するように設計される。 +DCモーターは、DC電気エネルギーを機械エネルギーに変換するデバイスである。それらは、優れた速度調整性能の利点により、電気駆動装置で広く使用されている。 + +ピンの図については、以下の図を参照してください。L293Dには、電源用の2つのピン(Vcc1とVcc2)がある。Vcc2はモーターに電力を供給し、Vcc1はチップに電力を供給するために使用される。 +ここでは小型のDCモーターが使用されているため、両方のピンを+ 5Vに接続してください。 + +.. image:: media/image111.png + + +以下はL293Dの内部構造である。ピンENはイネーブルピンであり、高レベルでのみ機能する。Aは入力を表し、Yは出力を表す。それらの間の関係は右下に見ることができる。 +ピンENがHighレベルのとき、AがHighの場合、YはHighレベルを出力する。AがLowの場合、YはLowレベルを出力する。ピンENがLowレベルの場合、L293Dは機能しない。 + +.. image:: media/image334.png + + +**DCモーター** + +.. image:: media/image114.jpeg + + +これは5V DCモーターである。銅板の2つの端子に1つの高レベルと1つの低レベルを与えると回転する。便宜上、ピンを溶接することができる。 + +.. image:: media/image335.png + + +**電源モジュール** + +この実験では、特に起動時と停止時にモーターを駆動するために大きな電流が必要である。 +これは、Raspberry Piの通常の動作を大幅に妨害する可能性がある。そのため、このモジュールによってモーターに個別に電力を供給し、安全かつ着実に動作させる。 + +ブレッドボードに差し込むだけで電力を供給できる。3.3Vと5Vの電圧を提供し、付属のジャンパーキャップを介してどちらでも接続できる。 + +.. image:: media/image115.png + + +回路図 +------------------ + +電源モジュールをブレッドボードに差し込み、ジャンパーキャップを5Vのピンに挿入すると、5Vの電圧が出力される。L293Dのピン1をGPIO22に接続し、それを高レベルに設定する。 +ピン2をGPIO27に、ピン7をGPIO17に接続し、一方のピンをhighに、もう一方のピンをhighに設定する。したがって、モーターの回転方向を変更できる。 + +.. image:: media/image336.png + + +実験手順 +-------------------------- + +ステップ1: 回路を作る。 + +.. image:: media/image117.png + :width: 800 + + + +.. note:: + 電源モジュールはキットの9Vバッテリーバックルで9Vバッテリーを適用できる。電源モジュールのジャンパキャップをブレッドボードの5Vバスストリップに挿入する。 + +.. image:: media/image118.jpeg + + +C言語ユーザー向け +^^^^^^^^^^^^^^^^^^^^^ + +ステップ2: コードのフォルダーに入る。 + +.. raw:: html + + + +.. code-block:: + + cd /home/pi/davinci-kit-for-raspberry-pi/c/1.3.1/ + +ステップ3: コンパイルする。 + +.. raw:: html + + + +.. code-block:: + + gcc 1.3.1_Motor.c -lwiringPi + +ステップ4: EXEファイルを実行する。 + +.. raw:: html + + + +.. code-block:: + + sudo ./a.out + +コードが実行されると、モーターは最初に5秒間時計回りに回転し、それから5秒間停止し、その後5秒間反時計回りに回転してから5秒間停止する。この一連の動作は繰り返し実行される。 + +**コード** + +.. code-block:: c + + #include + #include + + #define MotorPin1 0 + #define MotorPin2 2 + #define MotorEnable 3 + + int main(void){ + int i; + if(wiringPiSetup() == -1){ //when initialize wiring failed, print messageto screen + printf("setup wiringPi failed !"); + return 1; + } + + pinMode(MotorPin1, OUTPUT); + pinMode(MotorPin2, OUTPUT); + pinMode(MotorEnable, OUTPUT); + while(1){ + printf("Clockwise\n"); + delay(100); + digitalWrite(MotorEnable, HIGH); + digitalWrite(MotorPin1, HIGH); + digitalWrite(MotorPin2, LOW); + for(i=0;i<3;i++){ + delay(1000); + } + + printf("Stop\n"); + delay(100); + digitalWrite(MotorEnable, LOW); + for(i=0;i<3;i++){ + delay(1000); + } + + printf("Anti-clockwise\n"); + delay(100); + digitalWrite(MotorEnable, HIGH); + digitalWrite(MotorPin1, LOW); + digitalWrite(MotorPin2, HIGH); + for(i=0;i<3;i++){ + delay(1000); + } + + printf("Stop\n"); + delay(100); + digitalWrite(MotorEnable, LOW); + for(i=0;i<3;i++){ + delay(1000); + } + } + return 0; + } + +**コードの説明** + +.. code-block:: c + + digitalWrite(MotorEnable, HIGH); + +L239Dを有効にする。 + +.. code-block:: c + + digitalWrite(MotorPin1, HIGH); + digitalWrite(MotorPin2, LOW); + +2A(ピン7)に高レベルを設定する。1,2EN(ピン1)は高レベルなので、2Yは高レベルを出力する。 + +1Aに低レベルを設定すると、1Yが低レベルを出力し、モーターが回転する。 + +.. code-block:: c + + for(i=0;i<3;i++){ + delay(1000); + } + +このループは3 * 1000ms遅延する。 + +.. code-block:: c + + digitalWrite(MotorEnable, LOW) + +1,2EN(ピン1)が低レベルの場合、L293Dは機能しない。モーターが回転を停止する。 + +.. code-block:: c + + digitalWrite(MotorPin1, LOW) + digitalWrite(MotorPin2, HIGH) + +モーターの電流を逆にすると、モーターが逆回転する。 + +Python言語ユーザー向け +^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +ステップ2: コードのフォルダーに入る。 + +.. raw:: html + + + +.. code-block:: + + cd /home/pi/davinci-kit-for-raspberry-pi/python + +ステップ3: 実行する。 + +.. raw:: html + + + +.. code-block:: + + sudo python3 1.3.1_Motor.py + +コードが実行されると、モーターは最初に5秒間時計回りに回転し、それから5秒間停止し、その後5秒間反時計回りに回転してから5秒間停止する。この一連の動作は繰り返し実行される。 + +**コード** + + +.. note:: + + 以下のコードを **変更/リセット/コピー/実行/停止** できます。 ただし、その前に、 ``davinci-kit-for-raspberry-pi/python`` のようなソースコードパスに移動する必要があります。 + +.. raw:: html + + + +.. code-block:: python + + import RPi.GPIO as GPIO + import time + + dhtPin = 17 + + GPIO.setmode(GPIO.BCM) + + MAX_UNCHANGE_COUNT = 100 + + STATE_INIT_PULL_DOWN = 1 + STATE_INIT_PULL_UP = 2 + STATE_DATA_FIRST_PULL_DOWN = 3 + STATE_DATA_PULL_UP = 4 + STATE_DATA_PULL_DOWN = 5 + + def readDht11(): + GPIO.setup(dhtPin, GPIO.OUT) + GPIO.output(dhtPin, GPIO.HIGH) + time.sleep(0.05) + GPIO.output(dhtPin, GPIO.LOW) + time.sleep(0.02) + GPIO.setup(dhtPin, GPIO.IN, GPIO.PUD_UP) + + unchanged_count = 0 + last = -1 + data = [] + while True: + current = GPIO.input(dhtPin) + data.append(current) + if last != current: + unchanged_count = 0 + last = current + else: + unchanged_count += 1 + if unchanged_count > MAX_UNCHANGE_COUNT: + break + + state = STATE_INIT_PULL_DOWN + + lengths = [] + current_length = 0 + + for current in data: + current_length += 1 + + if state == STATE_INIT_PULL_DOWN: + if current == GPIO.LOW: + state = STATE_INIT_PULL_UP + else: + continue + if state == STATE_INIT_PULL_UP: + if current == GPIO.HIGH: + state = STATE_DATA_FIRST_PULL_DOWN + else: + continue + if state == STATE_DATA_FIRST_PULL_DOWN: + if current == GPIO.LOW: + state = STATE_DATA_PULL_UP + else: + continue + if state == STATE_DATA_PULL_UP: + if current == GPIO.HIGH: + current_length = 0 + state = STATE_DATA_PULL_DOWN + else: + continue + if state == STATE_DATA_PULL_DOWN: + if current == GPIO.LOW: + lengths.append(current_length) + state = STATE_DATA_PULL_UP + else: + continue + if len(lengths) != 40: + #print ("Data not good, skip") + return False + + shortest_pull_up = min(lengths) + longest_pull_up = max(lengths) + halfway = (longest_pull_up + shortest_pull_up) / 2 + bits = [] + the_bytes = [] + byte = 0 + + for length in lengths: + bit = 0 + if length > halfway: + bit = 1 + bits.append(bit) + #print ("bits: %s, length: %d" % (bits, len(bits))) + for i in range(0, len(bits)): + byte = byte << 1 + if (bits[i]): + byte = byte | 1 + else: + byte = byte | 0 + if ((i + 1) % 8 == 0): + the_bytes.append(byte) + byte = 0 + #print (the_bytes) + checksum = (the_bytes[0] + the_bytes[1] + the_bytes[2] + the_bytes[3]) & 0xFF + if the_bytes[4] != checksum: + #print ("Data not good, skip") + return False + + return the_bytes[0], the_bytes[2] + + def main(): + + while True: + result = readDht11() + if result: + humidity, temperature = result + print ("humidity: %s %%, Temperature: %s C`" % (humidity, temperature)) + time.sleep(1) + + def destroy(): + GPIO.cleanup() + + if __name__ == '__main__': + try: + main() + except KeyboardInterrupt: + destroy() + +**コードの説明** + +.. code-block:: python + + def motor(direction): + # Clockwise + if direction == 1: + # Set direction + GPIO.output(MotorPin1, GPIO.HIGH) + GPIO.output(MotorPin2, GPIO.LOW) + # Enable the motor + GPIO.output(MotorEnable, GPIO.HIGH) + print ("Clockwise") + ... + +変数が ``direction`` である関数 ``motor()`` を作成する。 +``direction = 1`` の条件が満たされると、モーターは時計回りに回転する。 +``direction = -1`` の場合、モーターは反時計回りに回転する。 +そして、 ``direction = 0`` の条件下では、回転を停止する。 + +.. code-block:: python + + def main(): + # Define a dictionary to make the script more readable + # CW as clockwise, CCW as counterclockwise, STOP as stop + directions = {'CW': 1, 'CCW': -1, 'STOP': 0} + while True: + # Clockwise + motor(directions['CW']) + time.sleep(5) + # Stop + motor(directions['STOP']) + time.sleep(5) + # Anticlockwise + motor(directions['CCW']) + time.sleep(5) + # Stop + motor(directions['STOP']) + time.sleep(5) + +``main()`` 関数で、CWが1、CCWの値が-1、0がStopを指す配列 ``directions[]`` を作成する。 + +コードが実行されると、モーターは最初に5秒間時計回りに回転し、それから5秒間停止し、その後5秒間反時計回りに回転してから5秒間停止する。この一連の動作は繰り返し実行される。 + +これで、モーターブレードが回転していることが分かる。 + +現象画像 +------------------ + +.. image:: media/image119.jpeg \ No newline at end of file diff --git a/docs/source/1.3.2_servo.rst b/docs/source/1.3.2_servo.rst new file mode 100644 index 0000000..d0888b5 --- /dev/null +++ b/docs/source/1.3.2_servo.rst @@ -0,0 +1,310 @@ +1.3.2 サーボ +============ + +前書き +-------------- + +このレッスンでは、サーボを回転させる方法を学ぶ。 + +部品 +---------- + +.. image:: media/list_1.3.2.png + + +原理 +--------- + +**サーボ** + +サーボは一般に、ケース、シャフト、ギアシステム、ポテンショメーター、DCモーター、および内蔵式ボードで構成されている。 + +.. image:: media/image121.png + + +これは次のように動作する:マイクロコントローラーはPWM信号をサーボに送信し、サーボの内蔵式ボードは信号ピンを介して信号を受信し、内部のモーターを制御して回転させる。その結果、モーターはギアシステムを駆動し、減速後にシャフトを駆動する。サーボのシャフトとポテンショメーターは接続されている。シャフトが回転する時、ポテンショメーターが駆動されるため、ポテンショメーターは電圧信号を内蔵式ボードに出力する。 +その後、ボードは現在の位置に基づいて回転の方向と速度を決めるため、定義された位置で正確に停止してそのまま保持する。 + +.. image:: media/image122.png + + +角度は制御ワイヤに適用されるパルスの持続時間によって決まる。これはパルス幅変調と呼ばれる。 +サーボは20ミリ秒ごとに1パルスを期待している。パルスの長さにより、モーターの回転距離が決まる。 +たとえば、1.5msパルスは、モーターを90度の位置(ニュートラル位置)に回転させる。 + +1.5 ms未満のパルスがサーボに送信されると、サーボはある位置まで回転し、出力軸をニュートラル位置から反時計回りにある程度保持する。 +パルスが1.5ミリ秒を上回る場合、逆のことが起こる。 +有効な位置にサーボを回転させるように命令するパルスの最小幅と最大幅は、各サーボの機能である。 +通常、パルスの最小幅は約0.5 msで、最大幅は2.5 msである。 + +.. image:: media/image123.jpeg + + +回路図 +----------------- + +.. image:: media/image337.png + + +実験手順 +----------------------- + +ステップ1: 回路を作る。 + +.. image:: media/image125.png + :width: 800 + + + +C言語ユーザー向け +^^^^^^^^^^^^^^^^^^^^^ + +ステップ2: コードのフォルダーに入る。 + +.. raw:: html + + + +.. code-block:: + + cd /home/pi/davinci-kit-for-raspberry-pi/c/1.3.2 + +ステップ3: コードをコンパイルする。 + +.. raw:: html + + + +.. code-block:: + + gcc 1.3.2_Servo.c -lwiringPi + +ステップ4: EXEファイルを実行する。 + +.. raw:: html + + + +.. code-block:: + + sudo ./a.out + +プログラムが実行されると、サーボは0度から180度まで回転し、それから180度から0度まで循環的に回転する。 + +**コード** + +.. code-block:: c + + #include + #include + #include + + #define ServoPin 1 //define the servo to GPIO1 + long Map(long value,long fromLow,long fromHigh,long toLow,long toHigh){ + return (toHigh-toLow)*(value-fromLow) / (fromHigh-fromLow) + toLow; + } + void setAngle(int pin, int angle){ //Create a funtion to control the angle of the servo. + if(angle < 0) + angle = 0; + if(angle > 180) + angle = 180; + softPwmWrite(pin,Map(angle, 0, 180, 5, 25)); + } + + int main(void) + { + int i; + if(wiringPiSetup() == -1){ //when initialize wiring failed,print message to screen + printf("setup wiringPi failed !"); + return 1; + } + softPwmCreate(ServoPin, 0, 200); //initialize PMW pin of servo + while(1){ + for(i=0;i<181;i++){ // Let servo rotate from 0 to 180. setAngle(ServoPin,i); + delay(2); + } + delay(1000); + for(i=181;i>-1;i--){ // Let servo rotate from 180 to 0. setAngle(ServoPin,i); + delay(2); + } + delay(1000); + } + return 0; + } + +**コードの説明** + +.. code-block:: c + + long Map(long value,long fromLow,long fromHigh,long toLow,long toHigh){ + return (toHigh-toLow)*(value-fromLow) / (fromHigh-fromLow) + toLow; + } + +次のコードで値をマップする ``Map()`` 関数を作成する。 + +.. code-block:: c + + void setAngle(int pin, int angle){ //Create a funtion to control the angle of the servo. + if(angle < 0) + angle = 0; + if(angle > 180) + angle = 180; + softPwmWrite(pin,Map(angle, 0, 180, 5, 25)); + } + +角度をサーボに書き込むために、関数 ``setAngle()`` を作成する。 + +.. code-block:: c + + softPwmWrite(pin,Map(angle,0,180,5,25)); + +この関数はPWMのデューティサイクルを変更できる。 + +サーボを0〜180°に回転させるために、周期が20msのときにパルス幅を0.5ms〜2.5msの範囲内で変更してください。 +関数 ``softPwmCreate()`` では、周期が200x100us = 20msに設定されているため、0〜180を5x100us〜25x100usにマッピングする必要がある。 + +この関数のプロトタイプを以下に示す。 + +.. code-block:: + + int softPwmCreate(int pin,int initialValue,int pwmRange); + + +**pin:** Raspberry PiのGPIOピンはPWMピンとして設定できる。 + +**initialValue:** 初期パルス幅は、initialValueに100usを掛けたものである。 + +**pwmRange:** PWMの周期は、pwmRangeに100usを掛けたものである。 + +Python言語ユーザー向け +^^^^^^^^^^^^^^^^^^^^^^^^^ + +ステップ2: コードのフォルダーに入る。 + +.. raw:: html + + + +.. code-block:: + + cd /home/pi/davinci-kit-for-raspberry-pi/python/ + +ステップ3: EXEファイルを実行する。 + +.. raw:: html + + + +.. code-block:: + + sudo python3 1.3.2_Servo.py + +プログラムが実行されると、サーボは0度から180度まで回転し、それから180度から0度まで循環的に回転する。 + +**コード** + +.. note:: + + 以下のコードを **変更/リセット/コピー/実行/停止** できます。 ただし、その前に、 ``davinci-kit-for-raspberry-pi/python`` のようなソースコードパスに移動する必要があります。 + +.. raw:: html + + + +.. code-block:: python + + import RPi.GPIO as GPIO + import time + + SERVO_MIN_PULSE = 500 + SERVO_MAX_PULSE = 2500 + + ServoPin = 18 + + def map(value, inMin, inMax, outMin, outMax): + return (outMax - outMin) * (value - inMin) / (inMax - inMin) + outMin + + def setup(): + global p + GPIO.setmode(GPIO.BCM) # Numbers GPIOs by BCM + GPIO.setup(ServoPin, GPIO.OUT) # Set ServoPin's mode is output + GPIO.output(ServoPin, GPIO.LOW) # Set ServoPin to low + p = GPIO.PWM(ServoPin, 50) # set Frequecy to 50Hz + p.start(0) # Duty Cycle = 0 + + def setAngle(angle): # make the servo rotate to specific angle (0-180 degrees) + angle = max(0, min(180, angle)) + pulse_width = map(angle, 0, 180, SERVO_MIN_PULSE, SERVO_MAX_PULSE) + pwm = map(pulse_width, 0, 20000, 0, 100) + p.ChangeDutyCycle(pwm)#map the angle to duty cycle and output it + + def loop(): + while True: + for i in range(0, 181, 5): #make servo rotate from 0 to 180 deg + setAngle(i) # Write to servo + time.sleep(0.002) + time.sleep(1) + for i in range(180, -1, -5): #make servo rotate from 180 to 0 deg + setAngle(i) + time.sleep(0.001) + time.sleep(1) + + def destroy(): + p.stop() + GPIO.cleanup() + + if __name__ == '__main__': #Program start from here + setup() + try: + loop() + except KeyboardInterrupt: # When 'Ctrl+C' is pressed, the program destroy() will be executed. + destroy() + + +**コードの説明** + +.. code-block:: python + + p = GPIO.PWM(ServoPin, 50) # set Frequecy to 50Hz + p.start(0) # Duty Cycle = 0 + +``servoPin`` をPWMピンに設定し、次に周波数を50hzに、周期を20msに設定する。 + +``p.start(0)`` : PWM関数を実行し、初期値を0に設定する。 + +.. code-block:: python + + def setAngle(angle): # make the servo rotate to specific angle (0-180 degrees) + angle = max(0, min(180, angle)) + pulse_width = map(angle, 0, 180, SERVO_MIN_PULSE, SERVO_MAX_PULSE) + pwm = map(pulse_width, 0, 20000, 0, 100) + p.ChangeDutyCycle(pwm)#map the angle to duty cycle and output it + +関数 ``setAngle()`` を作成して、0〜180の範囲の角度をサーボに書き込む。 + +.. code-block:: python + + angle = max(0, min(180, angle)) + +このコードは角度を0〜180°の範囲に制限するために使用される。 + +``min()`` 関数は入力値の最小値を返す。角度が180以下の場合、180を返す。そうではない場合、角度を返す。 + +``max()`` メソッドは、反復可能または最大の2つ以上のパラメーターで最大要素を返す。角度が0以上の場合は0を返し、そうでない場合は角度を返す。 + +.. code-block:: python + + pulse_width = map(angle, 0, 180, SERVO_MIN_PULSE, SERVO_MAX_PULSE) + pwm = map(pulse_width, 0, 20000, 0, 100) + p.ChangeDutyCycle(pwm) + +0〜180°の範囲をサーボにレンダリングすると、サーボのパルス幅は0.5ms(500us)〜2.5ms(2500us)に設定される。 + +PWMの周期は20ms(20000us)であるため、PWMのデューティサイクルは(500/20000)%-(2500/20000)%であり、0〜180の範囲は2.5〜12.5にマッピングされる。 + + +現象画像 +------------------ + +.. image:: media/image126.jpeg + diff --git a/docs/source/1.3.3_stepper_motor.rst b/docs/source/1.3.3_stepper_motor.rst new file mode 100644 index 0000000..01de0af --- /dev/null +++ b/docs/source/1.3.3_stepper_motor.rst @@ -0,0 +1,511 @@ +1.3.3 ステッピングモーター +========================== + + +前書き +------------ + +独自の設計により、ステッピングモーターはフィードバックメカニズムなしで高度な精度で制御できる。一連の磁石が取り付けられたステッパーのシャフトは、特定のシーケンスで正と負に帯電する一連の電磁コイルによって制御され、小さな「ステップ」で前後に正確に移動する。 + +部品 +---------- + +.. image:: media/list_1.3.3.png + + +原理 +--------- + +**ステッピングモーター** + +ステッパーには、ユニポーラーとバイポーラーの2つのタイプがあり、使用しているタイプを知ることが非常に重要である。 +この実験では、ユニポーラステッパーを使用する。 + +ステッピングモーターは単相DC電源を使用する4相モーターである。 +適切な時系列でモーターのすべての相巻線に通電する限り、一歩一歩に回転させることができる。 +4相リアクティブステッピングモーターの概略図: + +.. image:: media/image129.png + + +図では、モーターの中央にローター-歯車状の永久磁石がある。ローターの周りの0〜5は歯である。 +さらに外側には、8つの磁極があり、それぞれ反対側の2つの磁極がコイル巻線で接続されている。 +そのため、AからDまでの4つのペアを形成し、相と呼ばれる。スイッチSA、SB、SC、SDに接続するリード線が4本ある。 +したがって、回路では4つの相が並列になっており、1つの相の2つの磁極は直列になっている。 + +**4相ステッピングモーターの動作原理は次の通りである:** + +スイッチSBの電源がオンになると、スイッチSA、SC、およびSDの電源がオフになり、B相の磁極がローターの歯0と3と整列する。 +同時に、歯1と4は、C相とD相の極を持つ互い違いに配列した歯を生成する。 +歯2と5は、D相とA相の極を持つ互い違いに配列した歯を生成する。 +スイッチSCの電源がオン、スイッチSB、SA、およびSDの電源がオフの場合、ローターはC相巻線の磁場と歯1と4の間の磁場の下で回転する。 +次に、歯1と4がC相巻線の磁極と整列する。 +一方、歯0と3はA相とB相の極を持つ互い違いに配列した歯を生成し、歯2と5はA相とD相の極を持つ互い違いに配列した歯を生成する。 +同様の状況が続いていく。 +A、B、C、D相に順番に通電すると、ローターはA、B、C、Dの順に回転する。 + +.. image:: media/image130.png + + +4相ステッピングモーターには、3つの動作モードがある:シングル4ステップ、ダブル4ステップ、および8ステップ。 +シングル4ステップとダブル4ステップのステップ角は同じであるが、シングル4ステップの駆動トルクは小さくなる。 +8ステップのステップ角は、シングル4ステップおよびダブル4ステップの半分である。 +したがって、8ステップの動作モードは、高い駆動トルクを維持し、制御精度を向上させることができる。 + +使用するステッピングモーターのステータには32個の磁極があるため、円には32ステップが必要である。 +ステッピングモーターの出力軸は減速装置セットに接続され、減速比は1/64である。 +ですから、最終出力シャフトは32 * 64 = 2048ステップを必要とする円を回転させる。 + +**ULN2003** + +モーターを円に適用するには、ドライバーボードを使用する必要があります。 +ステッパーモータードライバ-ULN2003は7チャネルインバータサークルです。 +つまり、入力ピンが高レベルの場合、ULN2003の出力ピンは低レベルであり、その逆も同様です。 +IN1 に高レベルを供給し、IN2、IN3、IN4 に低レベルを供給すると、出力端 OUT1 は低レベルであり、他のすべての出力端は高レベルになります。 +チップの内部構造を以下に示します。 + +.. image:: media/image338.png + + +ULN2003チップと4つのLEDで構成されるステッピングモータードライバーを以下に示す。 +ボードでは、IN1、IN2、IN3、IN4が入力として機能し、4つのLED、A、B、C、Dは入力ピンの指示器である。 +さらに、OUT1、OUT2、OUT3、およびOUT4はそれぞれ、ステッピングモータードライバーのSA、SB、SC、およびSDに接続されている。 +IN1の値が高レベルに設定されると、Aが点灯し、スイッチSAの電源がオンになり、ステッピングモーターが1ステップで回転する。 +同様のケースが何度も繰り返される。したがって、ステッピングモーターに特定の時系列を与えるだけで、ステップごとに回転する。 +ステッピングモーターに特定の時系列を提供するために、ここでULN2003を使用する。 + +.. image:: media/image132.png + + +回路図 +----------------- + + +.. image:: media/image339.png + + +実験手順 +----------------------- + +ステップ1: 回路を作る。 + +.. image:: media/image134.png + :width: 800 + + +C言語ユーザー向け +^^^^^^^^^^^^^^^^^^^^ + +ステップ2: コードのフォルダーに入る。 + +.. raw:: html + + + +.. code-block:: + + cd /home/pi/davinci-kit-for-raspberry-pi/c/1.3.3/ + +ステップ3: コードをコンパイルする。 + +.. raw:: html + + + +.. code-block:: + + gcc 1.3.3_StepperMotor.c -lwiringPi + +ステップ4: EXEファイルを実行する。 + +.. raw:: html + + + +.. code-block:: + + sudo ./a.out + +コードが実行されると、入力「a」または「c」に応じてステッピングモーターが時計回りまたは反時計回りに回転する。 + +**コード** + +.. code-block:: c + + #include + #include + + const int motorPin[] = {1, 4, 5, 6}; + int rolePerMinute = 15; + int stepsPerRevolution = 2048; + int stepSpeed = 0; + + void rotary(char direction){ + if(direction == 'c'){ + for(int j=0;j<4;j++){ + for(int i=0;i<4;i++) + {digitalWrite(motorPin[i],0x99>>j & (0x08>>i));} + delayMicroseconds(stepSpeed); + } + } + else if(direction =='a'){ + for(int j=0;j<4;j++){ + for(int i=0;i<4;i++) + {digitalWrite(motorPin[i],0x99<>i));} + delayMicroseconds(stepSpeed); + } + } + } + + void loop() + { + char direction = '0'; + while (1) + { + printf("select motor direction a=anticlockwise, c=clockwise: "); + delay(100); + direction=getchar(); + if (direction == 'c') + { + printf("motor running clockwise\n"); + delay(100); + break; + } + else if (direction == 'a') + { + printf("motor running anti-clockwise\n"); + delay(100); + break; + } + else + { + printf("input error, please try again!\n"); + delay(100); + } + } + while(1) + { + rotary(direction); + } + } + + void main(void) + { + if (wiringPiSetup() == -1) + { + printf("setup wiringPi failed !"); + return; + } + for (int i = 0; i < 4; i++) + { + pinMode(motorPin[i], OUTPUT); + } + stepSpeed = (60000000 / rolePerMinute) / stepsPerRevolution; + loop(); + } + +**コードの説明** + +.. code-block:: c + + int rolePerMinute = 15; + int stepsPerRevolution = 2048; + int stepSpeed = 0; + +**rolePerMinute:** 1分あたりの回転数。このキットで使用されるステッピングモーターのRPMは0〜17である。 + +**stepPerRevolution:** 1ターンのステップ数、およびこのキットで使用されるステッピングモーターには、1回転あたり2048ステップが必要である。 + +**stepSpeed:** 各ステップに使用される時間、 ``main()`` では、それらに値を割り当てる。 ``(60000000/rolePerMinute)/stepsPerRevolution`` (60,000,000 us = 1分) + +.. code-block:: c + + void loop() + { + char direction = '0'; + while (1) + { + printf("select motor direction a=anticlockwise, c=clockwise: "); + direction=getchar(); + if (direction == 'c') + { + printf("motor running clockwise\n"); + break; + } + else if (direction == 'a') + { + printf("motor running anti-clockwise\n"); + break; + } + else + { + printf("input error, please try again!\n"); + } + } + while(1) + { + rotary(direction); + } + } + + + +``loop()`` 関数は、2つの部分(2つの ``while(1)`` の間にある)に大まかに分けられている: + +最初の部分の目的は、key valueを取得することである。「a」または「c」が取得されたら、ループを終了して入力を停止してください。 + +2番目の部分は ``rotary(direction)`` を呼び出して、ステッピングモーターを動作させる。 + +.. code-block:: c + + void rotary(char direction){ + if(direction == 'c'){ + for(int j=0;j<4;j++){ + for(int i=0;i<4;i++) + {digitalWrite(motorPin[i],0x99>>j & (0x08>>i));} + delayMicroseconds(stepSpeed); + } + } + else if(direction =='a'){ + for(int j=0;j<4;j++){ + for(int i=0;i<4;i++) + {digitalWrite(motorPin[i],0x99<>i));} + delayMicroseconds(stepSpeed); + } + } + } + +ステッピングモーターを **時計回りに回転させる** ために、motorPinのレベルス状態要求は以下の通りである: + +.. image:: media/image340.png + + + + +したがって、2層のfor文を使用してMotorPinの潜在的な書き込みを実装する。 + +Step1では、j=0、i=0〜4。 + +``motorPin[0]`` は高レベル (10011001 & 00001000 = 1) で書き込まれる + +``motorPin[1]`` は低レベル (10011001 & 00000100 = 0) で書き込まれる + +``motorPin[2]`` は低レベル (10011001 & 00000010 = 0) で書き込まれる + +``motorPin[3]`` は高レベル (10011001 & 00000001 = 1) で書き込まれる + +Step2では、j=1、i= 0〜4。 + +``motorPin[0]`` は高レベル (01001100 & 00001000 = 1) で書き込まれる + +``motorPin[1]`` は低レベル (01001100 & 00000100 = 1) などで書き込 + +まれる。 + +また、ステッピングモーターを **反時計回り** に回転させるために、motorPinのレベルステータスを次の表に示す。 + +.. image:: media/image341.png + + +Step1では、j=0、i=0〜4。 + +``motorPin[0]`` は高レベル (10011001 & 10000000 = 1)で書き込まれる + +``motorPin[1]`` は低レベル (10011001 & 01000000 = 0)で書き込まれる + +ステップ2では、j=1、i=0〜4。 + +``motorPin[0]`` は高レベル (00110010 & 10000000 = 0)で書き込まれる + +``motorPin[1]`` は低レベル (00110010 & 01000000 = 0)で書き込まれる + +まれる。 + +Python言語ユーザー向け +^^^^^^^^^^^^^^^^^^^^^^^^^ + +ステップ2: コードのフォルダーに入る。 + +.. raw:: html + + + +.. code-block:: + + cd /home/pi/davinci-kit-for-raspberry-pi/python/ + +ステップ3: EXEファイルを実行する。 + +.. raw:: html + + + +.. code-block:: + + sudo python3 1.3.3_StepperMotor.py + +コードが実行されると、入力「a」または「c」に応じて、ステッピングモーターが時計回りまたは反時計回りに回転する。 + +**コード** + + +.. note:: + + 以下のコードを **変更/リセット/コピー/実行/停止** できます。 ただし、その前に、 ``davinci-kit-for-raspberry-pi/python`` のようなソースコードパスに移動する必要があります。 + +.. raw:: html + + + +.. code-block:: python + + import RPi.GPIO as GPIO + from time import sleep + + motorPin = (18,23,24,25) + rolePerMinute =15 + stepsPerRevolution = 2048 + stepSpeed = (60/rolePerMinute)/stepsPerRevolution + + def setup(): + GPIO.setwarnings(False) + GPIO.setmode(GPIO.BCM) + for i in motorPin: + GPIO.setup(i, GPIO.OUT) + + def rotary(direction): + if(direction == 'c'): + for j in range(4): + for i in range(4): + GPIO.output(motorPin[i],0x99>>j & (0x08>>i)) + sleep(stepSpeed) + + elif(direction == 'a'): + for j in range(4): + for i in range(4): + GPIO.output(motorPin[i],0x99<>i)) + sleep(stepSpeed) + + def loop(): + while True: + direction = input('select motor direction a=anticlockwise, c=clockwise: ') + if(direction == 'c'): + print('motor running clockwise\n') + break + elif(direction == 'a'): + print('motor running anti-clockwise\n') + break + else: + print('input error, please try again!') + while True: + rotary(direction) + + def destroy(): + GPIO.cleanup() + + if __name__ == '__main__': + setup() + try: + loop() + except KeyboardInterrupt: + destroy() + +**コードの説明** + +.. code-block:: python + + rolePerMinute =15 + stepsPerRevolution = 2048 + stepSpeed = (60/rolePerMinute)/stepsPerRevolution + +**rolePerMinute:** 1分あたりの回転数。このキットで使用されるステッピングモーターのRPMは0〜17である。 + +**stepPerRevolution:** 1ターンのステップ数、およびこのキットで使用されるステッピングモーターには、1回転あたり2048ステップが必要である。 + +**stepSpeed:** 各ステップに使用される時間。それらに値を割り当てる: ``(60/rolePerMinute)/stepsPerRevolution`` (60s = 1分)。 + +.. code-block:: python + + def loop(): + while True: + direction = input('select motor direction a=anticlockwise, c=clockwise: ') + if(direction == 'c'): + print('motor running clockwise\n') + break + elif(direction == 'a'): + print('motor running anti-clockwise\n') + break + else: + print('input error, please try again!') + while True: + rotary(direction) + +``loop()`` 関数は、大きく分けて2つの部分に分かれている(2つの ``while(1)`` にある): + +最初の部分の目的は、key valueを取得することである。「a」または「c」が取得されたら、ループを終了して入力を停止してください。 + +2番目の部分は ``rotary(direction)`` を呼び出して、ステッピングモーターを動作させる。 + +.. code-block:: python + + def rotary(direction): + if(direction == 'c'): + for j in range(4): + for i in range(4): + GPIO.output(motorPin[i],0x99>>j & (0x08>>i)) + sleep(stepSpeed) + + elif(direction == 'a'): + for j in range(4): + for i in range(4): + GPIO.output(motorPin[i],0x99<>i)) + sleep(stepSpeed) + +ステッピングモーターを時計回りに回転させるために、motorPinのレベルステータスを次の表に示す: + +.. image:: media/image342.png + +したがって、2層のfor文を使用してMotorPinの潜在的な書き込みを実装する。 + +Step1では、j=0、i=0〜4。 + +``motorPin[0]`` は高レベル (10011001 & 00001000 = 1) で書き込まれる + +``motorPin[1]`` は低レベル (10011001 & 00000100 = 0) で書き込まれる + +``motorPin[2]`` は低レベル (10011001 & 00000010 = 0) で書き込まれる + +``motorPin[3]`` は高レベル (10011001 & 00000001 = 1) で書き込まれる + +Step2では、j=1、i= 0〜4。 + +``motorPin[0]`` は高レベル (01001100 & 00001000 = 1) で書き込まれる + +``motorPin[1]`` は低レベル (01001100 & 00000100 = 1) などで書き込 + +まれる。 + +また、ステッピングモーターを **反時計回り** に回転させるために、motorPinのレベルステータスを次の表に示す。 + + +.. image:: media/image343.png + + +Step1では、j=0、i=0〜4。 + +``motorPin[0]`` は高レベル (10011001 & 10000000 = 1)で書き込まれる + +``motorPin[1]`` は低レベル (10011001 & 01000000 = 0)で書き込まれる + +ステップ2では、j=1、i=0〜4。 + +``motorPin[0]`` は高レベル (00110010 & 10000000 = 0)で書き込まれる + +``motorPin[1]`` は低レベル (00110010 & 01000000 = 0)で書き込まれる + +まれる。 + +現象画像 +------------------ + +.. image:: media/image135.jpeg \ No newline at end of file diff --git a/docs/source/1.3.4_relay.rst b/docs/source/1.3.4_relay.rst new file mode 100644 index 0000000..f565d38 --- /dev/null +++ b/docs/source/1.3.4_relay.rst @@ -0,0 +1,272 @@ +1.3.4 リレー +============== + +前書き +------------ + +このレッスンでは、リレーの使用方法を学習する。 +これは、自動制御システムで一般的に使用される部品の1つである。 +電圧、電流、温度、圧力などが所定の値に到達、超過、または低下すると、リレーは回路を接続または中断して、機器を制御したり保護したりする。 + +部品 +---------- + +.. image:: media/list_1.3.4.png + + +原理 +--------- + +**ダイオード** + +ダイオードは一方向に電流が流れる電子機器の2端子部品である。 +電流の流れる方向に低い抵抗を提供し、反対方向に高い抵抗を提供する。 +ダイオードは主に、通常は分極している回路の起電力による部品の損傷を防ぐために使用される。 + +.. image:: media/image344.png + + +ダイオードの2つの端子は極性があり、陽極と呼ばれる正の端と陰極と呼ばれる負の端がある。 +陰極は通常、銀でできているか、またあカラーバンドを持っている。 +電流の方向を制御することは、ダイオードの重要な機能の1つである。 +ダイオードの電流は陽極から陰極に流れる。ダイオードの動作は、逆止弁の動作に似ている。 +ダイオードの最も重要な特性の1つは、非線形電流電圧である。 +より高い電圧が陽極に接続されている場合、電流は陽極から陰極に流れ、プロセスは順方向バイアスと呼ばれる。 +ただし、より高い電圧が陰極に接続されている場合、ダイオードは電気を通さず、プロセスは逆方向バイアスと呼ばれる。 + +**リレー** + +ご存知のように、リレーは、入力信号に応じて2つ以上のポイントまたはデバイス間の接続を提供するために使用されるデバイスである。 +つまり、デバイスはACとDCの両方で動作する可能性があるため、リレーはコントローラーとデバイスの間を分離する。 +しかしながら、DC上で動作するマイクロコントローラーから信号を受信するため、ギャップを埋めるためのリレーが必要である。 +小さな電気信号で大量の電流または電圧を制御する必要がある場合には、リレーは非常に有用である。 + +すべてのリレーには5つのパーツがある: + +**電磁石** - ワイヤーのコイルで巻かれた鉄心で構成されている。通電させると、磁気になります。したがって、電磁石と呼ばれる。 + +**電機子** - 可動磁気ストリップは電機子と呼ばれる。それらに電流が流れると、コイルが通電されて磁場が生成され、常開(N/O)または常閉(N/C)ポイントを作成したり切断したりするために使用される。また、電機子は直流(DC)と交流(AC)で移動できる。 + +**スプリング** - 電磁石のコイルに電流が流れない場合、スプリングは電機子を引き離し、回路を完成できない。 + +電気 **接点** のセット-2つの接点がある: + +* 通常開-リレーがアクティブなときに接続され、非アクティブなときに切断されます。 + +* 常閉-リレーが作動している時に接続しなく、リ + +**成形フレーム** - 保護のため、リレーはプラスチックで覆われている。 + +**リレーの動作** + +リレーの動作原理は非常に簡単である。リレーに電力が供給されると、制御コイルに電流が流れ始める。その結果、電磁石が通電を開始する。次に、電機子がコイルに引き付けられ、可動接点が一緒に引き下げられ、常開接点に接続される。したがって、負荷がかけられた回路が通電される。次に、可動接点がスプリングの力で常閉接点に引き上げられるため、回路を遮断することも同様のケースになる。このようにして、リレーのオンとオフの切り替えにより、負荷回路の状態を制御できる。 + +.. image:: media/image142.jpeg + + +回路図 +----------------- + +.. image:: media/image345.png + + +実験手順 +----------------------- + +ステップ1: 回路を作る。 + +.. image:: media/image144.png + :width: 800 + + + +C言語ユーザー向け +^^^^^^^^^^^^^^^^^^^^ + +ステップ2: コードファイルを開く。 + +.. raw:: html + + + +.. code-block:: + + cd /home/pi/davinci-kit-for-raspberry-pi/c/1.3.4 + +ステップ3: コードをコンパイルする。 + +.. raw:: html + + + +.. code-block:: + + gcc 1.3.4_Relay.c -lwiringPi + + +ステップ4: EXEファイルを実行する。 + +.. raw:: html + + + +.. code-block:: + + sudo ./a.out + +コードの実行後、LEDが点灯する。さらに、通常は閉じている接点を切断し、通常は開いている接点を閉じることによって発生するカチカチという声が聞こえる。 + +**コード** + +.. code-block:: c + + #include + #include + #define RelayPin 0 + + int main(void){ + if(wiringPiSetup() == -1){ //when initialize wiring failed, print message to screen + printf("setup wiringPi failed !"); + return 1; + } + pinMode(RelayPin, OUTPUT); //set GPIO17(GPIO0) output + while(1){ + // Tick + printf("Relay Open......\n"); + delay(100); + digitalWrite(RelayPin, LOW); + delay(1000); + // Tock + printf("......Relay Close\n"); + delay(100); + digitalWrite(RelayPin, HIGH); + delay(1000); + } + + return 0; + } + +**コードの説明** + +.. code-block:: c + + digitalWrite(RelayPin, LOW); + +I/Oポートを低レベル(0V)に設定すると、トランジスタに通電されず、コイルに電力が供給されない。 +電磁力がないため、リレーが開き、LEDは点灯しない。 + +.. code-block:: c + + digitalWrite(RelayPin, HIGH); + +I/Oポートを高レベル(5V)に設定して、トランジスタに通電する。 +リレーのコイルに電力を供給し、電磁力が発生すると、リレーが閉じてLEDが点灯する。 + +Pythonユーザーの場合 +^^^^^^^^^^^^^^^^^^^^^^^^^ + +ステップ2: コードファイルを開く。 + +.. raw:: html + + + +.. code-block:: + + cd /home/pi/davinci-kit-for-raspberry-pi/python + + +ステップ3: 実行する。 + +.. raw:: html + + + +.. code-block:: + + sudo python3 1.3.4_Relay.py + +コードの実行中、LEDが点灯する。 +さらに、通常は閉じている接点を切断し、通常は開いている接点を閉じることによって発生するカチカチという声が聞こえる。 + +**コード** + + +.. note:: + + 以下のコードを **変更/リセット/コピー/実行/停止** できます。 ただし、その前に、 ``davinci-kit-for-raspberry-pi/python`` のようなソースコードパスに移動する必要があります。 + +.. raw:: html + + + +.. code-block:: python + + import RPi.GPIO as GPIO + import time + + # Set GPIO17 as control pin + relayPin = 17 + + # Define a setup function for some setup + def setup(): + # Set the GPIO modes to BCM Numbering + GPIO.setmode(GPIO.BCM) + # Set relayPin's mode to output, + # and initial level to High(3.3v) + GPIO.setup(relayPin, GPIO.OUT, initial=GPIO.HIGH) + + # Define a main function for main process + def main(): + while True: + print ('Relay open...') + # Tick + GPIO.output(relayPin, GPIO.LOW) + time.sleep(1) + print ('...Relay close') + # Tock + GPIO.output(relayPin, GPIO.HIGH) + time.sleep(1) + + # Define a destroy function for clean up everything after + # the script finished + def destroy(): + # Turn off LED + GPIO.output(relayPin, GPIO.HIGH) + # Release resource + GPIO.cleanup() + + # If run this script directly, do: + if __name__ == '__main__': + setup() + try: + main() + # When 'Ctrl+C' is pressed, the child program + # destroy() will be executed. + except KeyboardInterrupt: + destroy() + +**コードの説明** + +.. code-block:: python + + GPIO.output(relayPin, GPIO.LOW) + +トランジスタのピンを低レベルに設定して、リレーを開く。LEDは点灯しない。 + +.. code-block:: python + + time.sleep(1) + +1秒待つ。 + +.. code-block:: python + + GPIO.output(relayPin, GPIO.HIGH) + +トランジスタのピンを低レベルに設定してリレーを作動させ、LEDが点灯する。 + +現象画像 +------------------ + +.. image:: media/image145.jpeg \ No newline at end of file diff --git a/docs/source/1_output.rst b/docs/source/1_output.rst new file mode 100644 index 0000000..5d1d2a7 --- /dev/null +++ b/docs/source/1_output.rst @@ -0,0 +1,34 @@ +1 出力 +============= + +**1.1 ディスプレイ** + +.. toctree:: + :maxdepth: 1 + + 1.1.1_blinking_led + 1.1.2_rgb_led + 1.1.3_led_bar_graph + 1.1.4_7-segment_display + 1.1.5_4-Digit_7-segment_display + 1.1.6_led_dot_matrix + 1.1.7_i2c_lcd1602 + +**1.2 音声** + +.. toctree:: + :maxdepth: 1 + + 1.2.1_active_buzzer + 1.2.2_passive_buzzer + + +**1.3 ドライバー** + +.. toctree:: + :maxdepth: 1 + + 1.3.1_motor + 1.3.2_servo + 1.3.3_stepper_motor + 1.3.4_relay \ No newline at end of file diff --git a/docs/source/2.1.1_button.rst b/docs/source/2.1.1_button.rst new file mode 100644 index 0000000..a325459 --- /dev/null +++ b/docs/source/2.1.1_button.rst @@ -0,0 +1,320 @@ +2.1.1 ボタン +============ + +前書き +----------------- + +このレッスンでは、LEDをボタンでオンまたはオフにする方法を学習する。 + +部品 +--------------- + +.. image:: media/list_2.1.1_Button.png + + +原理 +------------- + +**ボタン** + + +ボタンは電子デバイスを制御するために使用される一般的な部品である。通常、回路を接続または遮断するためのスイッチとして使用される。ボタンにはさまざまなサイズと形状があるが、ここで使用するものは、次の図に示すように6mmのミニボタンである。 + +左側の2つのピンが接続されており、右側の方は左側と同じである。以下を参照してください: + +.. image:: media/image148.png + :width: 400 + :align: center + +以下に示す記号は、通常、回路内のボタンを表すために使用される。 + + +.. image:: media/image301.png + :width: 400 + :align: center + + +ボタンを押すと、4つのピンが接続され、回路が閉じる。 + +回路図 +--------------------- + +Raspberry Piの入力として常開ボタンを使用し、接続は下の概略図に示されている。 +ボタンを押すと、GPIO18は低レベル(0V)に変わる。 +プログラミングによってGPIO18の状態を検出できる。 +つまり、GPIO18が低レベルになった場合、ボタンが押されたことを意味する。 +ボタンが押されたときに対応するコードを実行すると、LEDが点灯する。 + +.. image:: media/image302.png + :width: 600 + :align: center + + +.. image:: media/image303.png + :width: 400 + :align: center + + +実験手順 +--------------------------- + +ステップ1: 回路を作る。 + +.. image:: media/image152.png + :width: 800 + + + +C言語ユーザー向け +^^^^^^^^^^^^^^^^^^^^ + +ステップ2: コードファイルを開く。 + +.. raw:: html + + + +.. code-block:: + + cd /home/pi/davinci-kit-for-raspberry-pi/c/2.1.1/ + +.. note:: + cd を使用して、この実験のコードのパスにディレクトリを変更する。 + +ステップ3: コードをコンパイルする。 + +.. raw:: html + + + +.. code-block:: + + gcc 2.1.1_Button.c -lwiringPi + +ステップ4: EXEファイルを実行する。 + +.. raw:: html + + + +.. code-block:: + + sudo ./a.out + +コードの実行後、ボタンを押すと、LEDが点灯する。それ以外の場合は消灯する。 + +**コード** + +.. code-block:: c + + #include + #include + + #define LedPin 0 + #define ButtonPin 1 + + int main(void){ + // When initialize wiring failed, print message to screen + if(wiringPiSetup() == -1){ + printf("setup wiringPi failed !"); + return 1; + } + + pinMode(LedPin, OUTPUT); + pinMode(ButtonPin, INPUT); + digitalWrite(LedPin, HIGH); + + while(1){ + // Indicate that button has pressed down + if(digitalRead(ButtonPin) == 0){ + // Led on + digitalWrite(LedPin, LOW); + // printf("...LED on\n"); + } + else{ + // Led off + digitalWrite(LedPin, HIGH); + // printf("LED off...\n"); + } + } + return 0; + } + +**コードの説明** + +.. code-block:: + + #define LedPin 0 + +T_ExtensionボードのGPIO17ピンは、wiringPiのGPIO0と同じである。 + +.. code-block:: + + #define ButtonPin 1 + +ButtonPinはGPIO1に接続されている。 + +.. code-block:: + + pinMode(LedPin, OUTPUT); + +LedPinを出力として設定し、値を割り当てる。 + +.. code-block:: + + pinMode(ButtonPin, INPUT); + +ButtonPinを入力として設定し、ButtonPinの値を読み取る。 + +.. code-block:: C + + while(1){ + // Indicate that button has pressed down + if(digitalRead(ButtonPin) == 0){ + // Led on + digitalWrite(LedPin, LOW); + // printf("...LED on\n"); + } + else{ + // Led off + digitalWrite(LedPin, HIGH); + // printf("LED off...\n"); + } + } + + +``if(digitalRead(ButtonPin))== 0:`` ボタンが押されたかどうかを確認してください。 +ボタンを押してLEDを点灯させると、 ``digitalWrite(LedPin、LOW)`` を実行してください。 + +Python言語ユーザー向け +^^^^^^^^^^^^^^^^^^^^^^^^^ + +ステップ2: コードファイルを開く。 + +.. raw:: html + + + +.. code-block:: + + cd /home/pi/davinci-kit-for-raspberry-pi/python + +ステップ3: コードを実行する。 + +.. raw:: html + + + +.. code-block:: + + sudo python3 2.1.1_Button.py + +それから、ボタンを押すと、LEDが点灯する。もう一度ボタンを押すと、LEDが消灯する。同時に、LEDの状態が画面にプリントされる。 + +**コード** + + +.. note:: + + 以下のコードを **変更/リセット/コピー/実行/停止** できます。 ただし、その前に、 ``davinci-kit-for-raspberry-pi/python`` のようなソースコードパスに移動する必要があります。 + +.. raw:: html + + + +.. code-block:: python + + import RPi.GPIO as GPIO + import time + + LedPin = 17 # Set GPIO17 as LED pin + BtnPin = 18 # Set GPIO18 as button pin + + + Led_status = True # Set Led status to True(OFF) + + # Define a setup function for some setup + def setup(): + # Set the GPIO modes to BCM Numbering + GPIO.setmode(GPIO.BCM) + GPIO.setup(LedPin, GPIO.OUT, initial=GPIO.HIGH) # Set LedPin's mode to output, and initial level to high (3.3v) + GPIO.setup(BtnPin, GPIO.IN) # Set BtnPin's mode to input. + + # Define a callback function for button callback + def swLed(ev=None): + global Led_status + # Switch led status(on-->off; off-->on) + Led_status = not Led_status + GPIO.output(LedPin, Led_status) + if Led_status: + print ('LED OFF...') + else: + print ('...LED ON') + + # Define a main function for main process + def main(): + # Set up a falling detect on BtnPin, + # and callback function to swLed + GPIO.add_event_detect(BtnPin, GPIO.FALLING, callback=swLed) + while True: + # Don't do anything. + time.sleep(1) + + # Define a destroy function for clean up everything after + # the script finished + def destroy(): + # Turn off LED + GPIO.output(LedPin, GPIO.HIGH) + # Release resource + GPIO.cleanup() + + # If run this script directly, do: + if __name__ == '__main__': + setup() + try: + main() + # When 'Ctrl+C' is pressed, the program + # destroy() will be executed. + except KeyboardInterrupt: + destroy() + +**コードの説明** + +.. code-block:: python + + LedPin = 17 + +GPIO17をLEDピンとして設定する。 + +.. code-block:: python + + BtnPin = 18 + +GPIO18をボタンピンとして設定する。 + +.. code-block:: python + + GPIO.add_event_detect(BtnPin, GPIO.FALLING, callback=swLed) + +BtnPinで立ち下がり検出を設定してから、BtnPinの値が高レベルから低レベルに変わると、 +ボタンが押されたことを意味する。次のステップは、関数swledを呼び出す。 + +.. code-block:: python + + def swLed(ev=None): + global Led_status + # Switch led status(on-->off; off-->on) + Led_status = not Led_status + GPIO.output(LedPin, Led_status) + +ボタンコールバックとしてコールバック関数を定義する。 +ボタンが初めて押され、 ``not Led_status`` 条件がfalseの場合、 +``GPIO.output()`` 関数を呼び出してLEDを点灯させる。 +ボタンをもう一度押すと、LEDの状態が ``false`` から ``true`` に変換され、LEDが消灯する。 + +現象画像 +------------------------ + +.. image:: media/image153.jpeg + + diff --git a/docs/source/2.1.2_slide Switch.rst b/docs/source/2.1.2_slide Switch.rst new file mode 100644 index 0000000..da23cf2 --- /dev/null +++ b/docs/source/2.1.2_slide Switch.rst @@ -0,0 +1,300 @@ +2.1.2 スライドスイッチ +====================== + + +前書き +------------ + +このレッスンでは、スライドスイッチの使用方法を学習する。 +通常、スライドスイッチは電源スイッチとしてPCBにはんだ付けされるが、 +ここではブレッドボードに挿入する必要があるため、締め付けられない場合がある。 +そして、その機能を示すためにブレッドボードで使用する。 + +部品 +---------- + +.. image:: media/list_2.1.2_slide_switch.png + + +原理 +--------- + +**スライドスイッチ** + +.. image:: media/image156.jpeg + +スライドスイッチは名前が示すように、スイッチバーをスライドさせて回路を接続または遮断し、 +さらに回路を切り替えるものである。汎用タイプは、SPDT、SPTT、DPDT、DPTTなどである。 +スライドスイッチは低電圧回路で一般的に使用されている。融通性と安定性の特徴を備えており、 +電気機器や電気玩具に広く適用されている。 + +仕組み:中央のピンを固定ピンとして設定する。 +スライドを左に引くと、左の2つのピンが接続され、右に引くと、 +右側の2つのピンが接続される。したがって、 +回路を接続または遮断するスイッチとして機能する。以下の図を参照してください: + + +.. image:: media/image304.png + + +スライドスイッチの回路記号を以下に示す。図のピン2は中央のピンを指す。 + +.. image:: media/image159.png + + +**コンデンサ** + +コンデンサーは、小さな充電式バッテリーのように、エネルギーを電荷の形で蓄えたり、プレート間に電位差(静的電圧)を生成する能力を持つ部品である。 + +静電容量の標準単位 + +Microfarad (μF) 1μF = 1/1,000,000 = 0.000001 = :math:`10^{- 6}` F + +Nanofarad (nF) 1nF = 1/1,000,000,000 = 0.000000001 = :math:`10^{- 9}`\ F + +Picofarad (pF) 1pF = 1/1,000,000,000,000 = 0.000000000001 = +:math:`10^{- 12}`\ F + +.. note:: + ここでは、 **104コンデンサ** (10 x :math:`10^{4}`\ PF) を使用する。 + 抵抗器のリングのように、コンデンサの数字は、ボードに組み立てられた後に値を読み取ることに役立つ。 + 最初の2桁は値を表し、数字の最後の桁は乗数を指す(pF単位)。 + +回路図 +----------------- + +スライドスイッチの中央のピンをGPIO17に接続し、2つのLEDをそれぞれGPIO22とGPIO27に接続する。 +次に、スライドを引くと、2つのLEDが交互に点灯する。 + +.. image:: media/image305.png + + +.. image:: media/image306.png + + +実験手順 +----------------------- + +ステップ1: 回路を作る。 + +.. image:: media/image161.png + :width: 800 + + + +C言語ユーザー向け +^^^^^^^^^^^^^^^^^^^^ + +ステップ2: コードのフォルダーに入る。 + +.. raw:: html + + + +.. code-block:: + + cd /home/pi/davinci-kit-for-raspberry-pi/c/2.1.2 + +ステップ3: コンパイルする。 + +.. raw:: html + + + +.. code-block:: + + gcc 2.1.2_Slider.c -lwiringPi + +ステップ4: EXEファイルを実行する。 + +.. raw:: html + + + +.. code-block:: + + sudo ./a.out + +コードの実行中に、スイッチを左側に接続すると、黄色のLEDが点灯する。右側に接続すると、赤いライトが点灯する。 + +**コード** + +.. code-block:: c + + #include + #include + #define slidePin 0 + #define led1 3 + #define led2 2 + + int main(void) + { + // When initialize wiring failed, print message to screen + if(wiringPiSetup() == -1){ + printf("setup wiringPi failed !"); + return 1; + } + pinMode(slidePin, INPUT); + pinMode(led1, OUTPUT); + pinMode(led2, OUTPUT); + while(1){ + // slide switch high, led1 on + if(digitalRead(slidePin) == 1){ + digitalWrite(led1, LOW); + digitalWrite(led2, HIGH); + printf("LED1 on\n"); + delay(100); + } + // slide switch low, led2 on + if(digitalRead(slidePin) == 0){ + digitalWrite(led2, LOW); + digitalWrite(led1, HIGH); + printf(".....LED2 on\n"); + delay(100); + } + } + return 0; + } + +**コードの説明** + + +.. code-block:: c + + if(digitalRead(slidePin) == 1){ + digitalWrite(led1, LOW); + digitalWrite(led2, HIGH); + printf("LED1 on\n"); + } + +スライドを右に引くと、中央のピンと右のピンが接続される。 Raspberry Piは中央のピンで高レベルを読み取るため、LED1は点灯し、LED2は消灯する。 + +.. code-block:: c + + if(digitalRead(slidePin) == 0){ + digitalWrite(led2, LOW); + digitalWrite(led1, HIGH); + printf(".....LED2 on\n"); + } + +スライドを左に引くと、中央のピンと左のピンが接続されます。Raspberry Piが低レベルを読み取るため、LED2が点灯し、LED1が消灯する。 + + +Python言語ユーザー向け +^^^^^^^^^^^^^^^^^^^^^^^^^ + +ステップ2: コードのフォルダーに入る。 + +.. raw:: html + + + +.. code-block:: + + cd /home/pi/davinci-kit-for-raspberry-pi/python + +ステップ3: 実行する。 + +.. raw:: html + + + +.. code-block:: + + sudo python3 2.1.2_Slider.py + +コードの実行中に、スイッチを左側に接続すると、黄色のLEDが点灯する。右側に接続すると、赤いライトが点灯する。 + +**コード** + + +.. note:: + + 以下のコードを **変更/リセット/コピー/実行/停止** できます。 ただし、その前に、 ``davinci-kit-for-raspberry-pi/python`` のようなソースコードパスに移動する必要があります。 + +.. raw:: html + + + +.. code-block:: python + + import RPi.GPIO as GPIO + import time + + # Set #17 as slide switch pin, #22 as led1 pin, #27 as led2 pin + slidePin = 17 + led1Pin = 22 + led2Pin = 27 + + # Define a setup function for some setup + def setup(): + # Set the GPIO modes to BCM Numbering + GPIO.setmode(GPIO.BCM) + # Set slidePin input + # Set ledPin output, + # and initial level to High(3.3v) + GPIO.setup(slidePin, GPIO.IN) + GPIO.setup(led1Pin, GPIO.OUT, initial=GPIO.HIGH) + GPIO.setup(led2Pin, GPIO.OUT, initial=GPIO.HIGH) + + # Define a main function for main process + def main(): + while True: + # slide switch high, led1 on + if GPIO.input(slidePin) == 1: + print ('LED1 ON') + GPIO.output(led1Pin, GPIO.LOW) + GPIO.output(led2Pin, GPIO.HIGH) + + # slide switch low, led2 on + if GPIO.input(slidePin) == 0: + print (' LED2 ON') + GPIO.output(led2Pin, GPIO.LOW) + GPIO.output(led1Pin, GPIO.HIGH) + + time.sleep(0.5) + # Define a destroy function for clean up everything after + # the script finished + def destroy(): + # Turn off LED + GPIO.output(led1Pin, GPIO.HIGH) + GPIO.output(led2Pin, GPIO.HIGH) + # Release resource + GPIO.cleanup() + + # If run this script directly, do: + if __name__ == '__main__': + setup() + try: + main() + # When 'Ctrl+C' is pressed, the program + # destroy() will be executed. + except KeyboardInterrupt: + destroy() + +**コードの説明** + +.. code-block:: python + + if GPIO.input(slidePin) == 1: + GPIO.output(led1Pin, GPIO.LOW) + GPIO.output(led2Pin, GPIO.HIGH) + +スライドを右に引くと、中央のピンと右のピンが接続される。 +Raspberry Piは中央のピンで高レベルを読み取るため、LED1は点灯し、LED2は消灯する。 + +.. code-block:: python + + if GPIO.input(slidePin) == 0: + GPIO.output(led2Pin, GPIO.LOW) + GPIO.output(led1Pin, GPIO.HIGH) + +スライドを左に引くと、中央のピンと左のピンが接続されます。 +Raspberry Piが低レベルを読み取るため、LED2が点灯し、LED1が消灯する。 + +現象画像 +------------------ + +.. image:: media/image162.jpeg + + diff --git a/docs/source/2.1.3_tilt_switch.rst b/docs/source/2.1.3_tilt_switch.rst new file mode 100644 index 0000000..f1b782d --- /dev/null +++ b/docs/source/2.1.3_tilt_switch.rst @@ -0,0 +1,397 @@ +2.1.3 チルトスイッチ +==================== + + +前書き +------------ + +これは、内部に金属製のボールがあるボールチルトスイッチである。小さな角度の傾きを検出するために使用される。 + +部品 +---------- + +.. image:: media/list_2.1.3_tilt_switch.png + + +原理 +--------- + +**チルト** + +原理は非常に簡単である。スイッチが特定の角度に傾けられると、内側のボールが転がり落ち、外側のピンに接続された2つの接点に触れて、回路をトリガーする。 +そうしないと、ボールが接点から遠ざかり、回路が遮断される。 + +.. image:: media/image167.png + + +回路図 +----------------- + +.. image:: media/image307.png + + +.. image:: media/image308.png + + +実験手順 +----------------------- + +ステップ1: 回路を作る。 + +.. image:: media/image169.png + :width: 800 + + + +C言語ユーザー向け +^^^^^^^^^^^^^^^^^^^^ + +ステップ2: ディレクトリを変更する。 + +.. raw:: html + + + +.. code-block:: + + cd /home/pi/davinci-kit-for-raspberry-pi/c/2.1.3/ + +ステップ3: コンパイルする。 + +.. raw:: html + + + +.. code-block:: + + gcc 2.1.3_Tilt.c -lwiringPi + +ステップ4: 実行する。 + +.. raw:: html + + + +.. code-block:: + + sudo ./a.out + +水平に置くと、緑色のLEDが点灯する。傾けると、「Tilt!」画面にプリントされ、赤いLEDが点灯する。再び水平に置くと、緑色のLEDが再び点灯する。 + +**コード** + +.. code-block:: c + + #include + #include + + #define TiltPin 0 + #define Gpin 2 + #define Rpin 3 + + void LED(char* color) + { + pinMode(Gpin, OUTPUT); + pinMode(Rpin, OUTPUT); + if (color == "RED") + { + digitalWrite(Rpin, HIGH); + digitalWrite(Gpin, LOW); + } + else if (color == "GREEN") + { + digitalWrite(Rpin, LOW); + digitalWrite(Gpin, HIGH); + } + else + printf("LED Error"); + } + + int main(void) + { + if(wiringPiSetup() == -1){ //when initialize wiring failed,print message to screen + printf("setup wiringPi failed !"); + return 1; + } + + pinMode(TiltPin, INPUT); + LED("GREEN"); + + while(1){ + if(0 == digitalRead(TiltPin)){ + delay(10); + if(0 == digitalRead(TiltPin)){ + LED("RED"); + printf("Tilt!\n"); + delay(100); + } + } + else if(1 == digitalRead(TiltPin)){ + delay(10); + if(1 == digitalRead(TiltPin)){ + LED("GREEN"); + } + } + } + return 0; + } + +**コードの説明** + +.. code-block:: c + + void LED(char* color) + { + pinMode(Gpin, OUTPUT); + pinMode(Rpin, OUTPUT); + if (color == "RED") + { + digitalWrite(Rpin, HIGH); + digitalWrite(Gpin, LOW); + } + else if (color == "GREEN") + { + digitalWrite(Rpin, LOW); + digitalWrite(Gpin, HIGH); + } + else + printf("LED Error"); + } + +関数 ``LED()`` を定義して、2つのLEDをオン・オフにする。 +パラメータの色が赤の場合、赤のLEDが点灯する。 +同様に、パラメータの色が緑の場合、緑のLEDが点灯する。 + +.. code-block:: c + + while(1){ + if(0 == digitalRead(TiltPin)){ + delay(10); + if(0 == digitalRead(TiltPin)){ + LED("RED"); + printf("Tilt!\n"); + } + } + else if(1 == digitalRead(TiltPin)){ + delay(10); + if(1 == digitalRead(TiltPin)){ + LED("GREEN"); + } + } + } + +傾斜スイッチの読み取り値が0の場合、傾斜スイッチが傾斜していることを意味し、 +関数LEDにパラメーター「RED」を書き込んで赤色LEDを点灯させる。 +そうしない場合、緑色のLEDが点灯する。 + +Python言語ユーザー向け +^^^^^^^^^^^^^^^^^^^^^^^^^ + +ステップ2: ディレクトリを変更する。 + +.. raw:: html + + + +.. code-block:: + + cd /home/pi/davinci-kit-for-raspberry-pi/python/ + +ステップ3: 実行する。 + +.. raw:: html + + + +.. code-block:: + + sudo python3 2.1.3_Tilt.py + +水平に置くと、緑色のLEDが点灯する。 +傾けると、「Tilt!」画面にプリントされ、赤いLEDが点灯する。 +再び水平に置くと、緑色のLEDが再び点灯する。 + +**コード** + + +.. note:: + + 以下のコードを **変更/リセット/コピー/実行/停止** できます。 ただし、その前に、 ``davinci-kit-for-raspberry-pi/python`` のようなソースコードパスに移動する必要があります。 + + +.. raw:: html + + + +.. code-block:: python + + import RPi.GPIO as GPIO + import time + + dhtPin = 17 + + GPIO.setmode(GPIO.BCM) + + MAX_UNCHANGE_COUNT = 100 + + STATE_INIT_PULL_DOWN = 1 + STATE_INIT_PULL_UP = 2 + STATE_DATA_FIRST_PULL_DOWN = 3 + STATE_DATA_PULL_UP = 4 + STATE_DATA_PULL_DOWN = 5 + + def readDht11(): + GPIO.setup(dhtPin, GPIO.OUT) + GPIO.output(dhtPin, GPIO.HIGH) + time.sleep(0.05) + GPIO.output(dhtPin, GPIO.LOW) + time.sleep(0.02) + GPIO.setup(dhtPin, GPIO.IN, GPIO.PUD_UP) + + unchanged_count = 0 + last = -1 + data = [] + while True: + current = GPIO.input(dhtPin) + data.append(current) + if last != current: + unchanged_count = 0 + last = current + else: + unchanged_count += 1 + if unchanged_count > MAX_UNCHANGE_COUNT: + break + + state = STATE_INIT_PULL_DOWN + + lengths = [] + current_length = 0 + + for current in data: + current_length += 1 + + if state == STATE_INIT_PULL_DOWN: + if current == GPIO.LOW: + state = STATE_INIT_PULL_UP + else: + continue + if state == STATE_INIT_PULL_UP: + if current == GPIO.HIGH: + state = STATE_DATA_FIRST_PULL_DOWN + else: + continue + if state == STATE_DATA_FIRST_PULL_DOWN: + if current == GPIO.LOW: + state = STATE_DATA_PULL_UP + else: + continue + if state == STATE_DATA_PULL_UP: + if current == GPIO.HIGH: + current_length = 0 + state = STATE_DATA_PULL_DOWN + else: + continue + if state == STATE_DATA_PULL_DOWN: + if current == GPIO.LOW: + lengths.append(current_length) + state = STATE_DATA_PULL_UP + else: + continue + if len(lengths) != 40: + #print ("Data not good, skip") + return False + + shortest_pull_up = min(lengths) + longest_pull_up = max(lengths) + halfway = (longest_pull_up + shortest_pull_up) / 2 + bits = [] + the_bytes = [] + byte = 0 + + for length in lengths: + bit = 0 + if length > halfway: + bit = 1 + bits.append(bit) + #print ("bits: %s, length: %d" % (bits, len(bits))) + for i in range(0, len(bits)): + byte = byte << 1 + if (bits[i]): + byte = byte | 1 + else: + byte = byte | 0 + if ((i + 1) % 8 == 0): + the_bytes.append(byte) + byte = 0 + #print (the_bytes) + checksum = (the_bytes[0] + the_bytes[1] + the_bytes[2] + the_bytes[3]) & 0xFF + if the_bytes[4] != checksum: + #print ("Data not good, skip") + return False + + return the_bytes[0], the_bytes[2] + + def main(): + + while True: + result = readDht11() + if result: + humidity, temperature = result + print ("humidity: %s %%, Temperature: %s C`" % (humidity, temperature)) + time.sleep(1) + + def destroy(): + GPIO.cleanup() + + if __name__ == '__main__': + try: + main() + except KeyboardInterrupt: + destroy() + +**コードの説明** + +.. code-block:: python + + GPIO.add_event_detect(TiltPin, GPIO.BOTH, callback=detect, bouncetime=200) + +TiltPinで検出を設定し、検出する関数をコールバックする。 + +.. code-block:: python + + def Led(x): + if x == 0: + GPIO.output(Rpin, 1) + GPIO.output(Gpin, 0) + if x == 1: + GPIO.output(Rpin, 0) + GPIO.output(Gpin, 1) + +関数 ``Led()`` を定義して、2つのLEDをオンまたはオフにする。 +x=0の場合、赤いLEDが点灯する。そうしないと、緑色のLEDが点灯する。 + +.. code-block:: python + + def Print(x): + if x == 0: + print (' *************') + print (' * Tilt! *') + print (' *************') + +関数 ``Print()`` を作成して、画面上の上記の文字をプリントする。 + +.. code-block:: python + + def detect(chn): + Led(GPIO.input(TiltPin)) + Print(GPIO.input(TiltPin)) + +傾斜コールバックのコールバック関数を定義する。傾斜スイッチの読み取り値を取得してから、 +関数 ``Led()`` が傾斜スイッチの読み取り値に依存する2つのLEDを点灯・消灯させる。 + +現象画像 +------------------ + +.. image:: media/image170.jpeg + + diff --git a/docs/source/2.1.4_potentiometer.rst b/docs/source/2.1.4_potentiometer.rst new file mode 100644 index 0000000..02f018e --- /dev/null +++ b/docs/source/2.1.4_potentiometer.rst @@ -0,0 +1,546 @@ +2.1.4 ポテンショメータ +====================== + +前書き +------------ + +ADC機能を使用してアナログ信号をデジタル信号に変換でき、この実験では、 +ADC0834を使用してADCに関する関数を取得する。 +ここでは、ポテンショメータを使用してこのプロセスを実装する。 +ポテンショメーターはADC機能によって変換される物理量-電圧を変更する。 + +部品 +---------- + +.. image:: media/list_2.1.4_potentiometer.png + + +原理 +--------- + +**ADC0834** + +ADC0834 は、入力構成可能なマルチチャンネル マルチプレクサとシリアル入出力を備えた 8 ビットの逐次比較型 A/D コンバータです。 +シリアル入出力は、標準的なシフトレジスターやマイクロプロセッサーとのインターフェースとして構成されています。 + +.. image:: media/image309.png + + +**操作の順序** + +変換はCSをlowに設定することで開始され、 +論理回路がすべて有効になる。 +変換プロセスを完了するには、CSをlowに保持する必要がある。 +次に、プロセッサからクロック入力を受信する。 +クロック入力のLowからHighへの遷移ごとに、 +DI上のデータがマルチプレクサーアドレスシフトレジスタに入力される。 +入力の最初のロジックhighはスタートビットである。スタートビットの後に、 +3〜4ビットの割り当てワードが続く。クロック入力のLowからHighへの遷移ごとに、 +スタートビットと割り当てワードがシフトレジスターにシフトする。 +スタートビットがマルチプレクサレジスタの開始位置にシフトされると、 +入力チャネルが選択され、変換が開始される。SAR Statu出力(SARS)は、 +変換が進行中であることを示すために高レベルになり、 +マルチプレクサーシフトレジスタへのDIは変換中は無効になる。 + +1クロック周期の間隔が自動的に挿入されて、 +選択されたマルチプレックスチャネルの安定化を実現する。 +データ出力DOは高インピーダンス状態から出て、 +マルチプレクサの整定時間のこの1クロック期間に先行するLowを提供する。 +SARコンパレータは、抵抗ラダーからの連続出力を入力アナログ信号と比較する。 +コンパレータ出力は、アナログ入力が抵抗ラダー出力より大きいか小さいかを示す。 +変換が進むと、変換データがDO出力ピンから同時に出力され、最上位ビット(MSB)が最初になる。 + +8クロック周期後、変換が完了し、SARS出力がLOWになる。 +最後に、MSBファーストデータストリームの後に最下位ビットファーストデータを出力する。 + +.. image:: media/image175.png + :width: 800 + :align: center + + +**ADC0834 MUXアドレス制御論理表** + +.. image:: media/image176.png + :width: 800 + :align: center + + +**ポテンショメータ** + + +ポテンショメーターも3つの端子を持つ抵抗部品であり、その抵抗値は定期的な変動に応じて調整できる。 +ポテンショメータは通常、抵抗器と可動ブラシで構成されている。 +ブラシが抵抗に沿って移動しているとき、変位に応じて特定の抵抗または電圧出力が生成される。 + +.. image:: media/image310.png + :width: 300 + :align: center + + +回路内のポテンショメータの機能は次のとおりである: + +1. 分圧器として機能する + +ポテンショメータは連続的に調整可能な抵抗器である。 +ポテンショメータのシャフトまたはスライドハンドルを調整すると、 +可動接点が抵抗器上でスライドする。この時点で、ポテンショメータに印加される電圧と、 +可動アームが回転した角度または移動距離に応じて、電圧を出力できる。 + +回路図 +----------------- + +.. image:: media/image311.png + + +.. image:: media/image312.png + + +実験手順 +----------------------- + +ステップ1: 回路を作る。 + +.. image:: media/image180.png + :width: 800 + + + +.. note:: + 写真に示されている対応する位置を参照して、チップを配置してください。配置するときにチップの溝は左側にあることに注意してください。 + +C言語ユーザー向け +^^^^^^^^^^^^^^^^^^^^ + +ステップ2: コードファイルを開く。 + +.. raw:: html + + + +.. code-block:: + + cd /home/pi/davinci-kit-for-raspberry-pi/c/2.1.4/ + +ステップ3: コードをコンパイルする。 + +.. raw:: html + + + +.. code-block:: + + gcc 2.1.4_Potentiometer.c -lwiringPi + +ステップ4: 実行する。 + +.. raw:: html + + + +.. code-block:: + + sudo ./a.out + +コードの実行後、ポテンショメーターのノブを回すと、それに応じてLEDの輝度が変化する。 + +**コード** + +.. code-block:: c + + #include + #include + #include + + typedef unsigned char uchar; + typedef unsigned int uint; + + #define ADC_CS 0 + #define ADC_CLK 1 + #define ADC_DIO 2 + #define LedPin 3 + + uchar get_ADC_Result(uint channel) + { + uchar i; + uchar dat1=0, dat2=0; + int sel = channel > 1 & 1; + int odd = channel & 1; + + pinMode(ADC_DIO, OUTPUT); + digitalWrite(ADC_CS, 0); + // Start bit + digitalWrite(ADC_CLK,0); + digitalWrite(ADC_DIO,1); delayMicroseconds(2); + digitalWrite(ADC_CLK,1); delayMicroseconds(2); + //Single End mode + digitalWrite(ADC_CLK,0); + digitalWrite(ADC_DIO,1); delayMicroseconds(2); + digitalWrite(ADC_CLK,1); delayMicroseconds(2); + // ODD + digitalWrite(ADC_CLK,0); + digitalWrite(ADC_DIO,odd); delayMicroseconds(2); + digitalWrite(ADC_CLK,1); delayMicroseconds(2); + //Select + digitalWrite(ADC_CLK,0); + digitalWrite(ADC_DIO,sel); delayMicroseconds(2); + digitalWrite(ADC_CLK,1); + + digitalWrite(ADC_DIO,1); delayMicroseconds(2); + digitalWrite(ADC_CLK,0); + digitalWrite(ADC_DIO,1); delayMicroseconds(2); + + for(i=0;i<8;i++) + { + digitalWrite(ADC_CLK,1); delayMicroseconds(2); + digitalWrite(ADC_CLK,0); delayMicroseconds(2); + + pinMode(ADC_DIO, INPUT); + dat1=dat1<<1 | digitalRead(ADC_DIO); + } + + for(i=0;i<8;i++) + { + dat2 = dat2 | ((uchar)(digitalRead(ADC_DIO))< 1 & 1; + int odd = channel & 1; + + pinMode(ADC_DIO, OUTPUT); + digitalWrite(ADC_CS, 0); + // Start bit + digitalWrite(ADC_CLK,0); + digitalWrite(ADC_DIO,1); delayMicroseconds(2); + digitalWrite(ADC_CLK,1); delayMicroseconds(2); + //Single End mode + digitalWrite(ADC_CLK,0); + digitalWrite(ADC_DIO,1); delayMicroseconds(2); + digitalWrite(ADC_CLK,1); delayMicroseconds(2); + // ODD + digitalWrite(ADC_CLK,0); + digitalWrite(ADC_DIO,odd); delayMicroseconds(2); + digitalWrite(ADC_CLK,1); delayMicroseconds(2); + //Select + digitalWrite(ADC_CLK,0); + digitalWrite(ADC_DIO,sel); delayMicroseconds(2); + digitalWrite(ADC_CLK,1); + + digitalWrite(ADC_DIO,1); delayMicroseconds(2); + digitalWrite(ADC_CLK,0); + digitalWrite(ADC_DIO,1); delayMicroseconds(2); + for(i=0;i<8;i++) + { + digitalWrite(ADC_CLK,1); delayMicroseconds(2); + digitalWrite(ADC_CLK,0); delayMicroseconds(2); + + pinMode(ADC_DIO, INPUT); + dat1=dat1<<1 | digitalRead(ADC_DIO); + } + + for(i=0;i<8;i++) + { + dat2 = dat2 | ((uchar)(digitalRead(ADC_DIO))< 1 & 1; + int odd = channel & 1; + +channel = 1、sel = 0、odd = 1という条件が満たされている場合、 +次のアドレス制御ロジックテーブルを参照してください。ここで、 +CH1が選択され、開始ビットがマルチプレクサレジスタの開始位置にシフトされ、変換が開始される。 + +.. image:: media/image313.png + + +.. code-block:: c + + digitalWrite(ADC_DIO,1); delayMicroseconds(2); + digitalWrite(ADC_CLK,0); + digitalWrite(ADC_DIO,1); delayMicroseconds(2); + +ここでは、DIOを1に二回設定し、それを無視してください。 + +.. code-block:: c + + for(i=0;i<8;i++) + { + digitalWrite(ADC_CLK,1); delayMicroseconds(2); + digitalWrite(ADC_CLK,0); delayMicroseconds(2); + + pinMode(ADC_DIO, INPUT); + dat1=dat1<<1 | digitalRead(ADC_DIO); + } + +最初の ``for() statement`` で、CLKの五番目のパルスがHighレベルから低レベルに変換したらすぐに、 +DIOを入力モードに設定してください。 +それから、変換が開始され、変換された値が変数dat1に保存される。8クロック周期後、変換が完了する。 + +.. code-block:: c + + for(i=0;i<8;i++) + { + dat2 = dat2 | ((uchar)(digitalRead(ADC_DIO))< + +.. code-block:: + + cd /home/pi/davinci-kit-for-raspberry-pi/python/ + +ステップ3: 実行する。 + +.. raw:: html + + + +.. code-block:: + + sudo python3 2.1.4_Potentiometer.py + +コードの実行後、ポテンショメーターのノブを回すと、それに応じてLEDの輝度が変化する。 + +**コード** + +.. note:: + + 以下のコードを **変更/リセット/コピー/実行/停止** できます。 ただし、その前に、 ``davinci-kit-for-raspberry-pi/python`` のようなソースコードパスに移動する必要があります。 + + +.. raw:: html + + + +.. code-block:: python + + import RPi.GPIO as GPIO + import ADC0834 + import time + + LedPin = 22 + + def setup(): + global led_val + # Set the GPIO modes to BCM Numbering + GPIO.setmode(GPIO.BCM) + # Set all LedPin's mode to output and initial level to High(3.3v) + GPIO.setup(LedPin, GPIO.OUT, initial=GPIO.HIGH) + ADC0834.setup() + # Set led as pwm channel and frequece to 2KHz + led_val = GPIO.PWM(LedPin, 2000) + # Set all begin with value 0 + led_val.start(0) + + def destroy(): + # Stop all pwm channel + led_val.stop() + # Release resource + GPIO.cleanup() + def loop(): + while True: + analogVal = ADC0834.getResult() + print ('analog value = %d' % analogVal) + led_val.ChangeDutyCycle(analogVal*100/255) + time.sleep(0.2) + if __name__ == '__main__': + setup() + try: + loop() + except KeyboardInterrupt: # When 'Ctrl+C' is pressed, the program destroy() will be executed. + destroy() + +**コードの説明** + +.. code-block:: python + + import ADC0834 + +ADC0834ライブラリをインポートする。コマンド ``nano ADC0834.py`` を呼び出して、ライブラリの内容を確認できる。 + +.. code-block:: python + + def setup(): + global led_val + # Set the GPIO modes to BCM Numbering + GPIO.setmode(GPIO.BCM) + # Set all LedPin's mode to output and initial level to High(3.3v) + GPIO.setup(LedPin, GPIO.OUT, initial=GPIO.HIGH) + ADC0834.setup() + # Set led as pwm channel and frequece to 2KHz + led_val = GPIO.PWM(LedPin, 2000) + + # Set all begin with value 0 + led_val.start(0) + +``setup()`` で、命名方法をBCMとして定義し、LedPinをPWMチャネルとして設定し、2Khzの周波数にレンダリングする。 + +``ADC0834.setup():`` ADC0834を初期化し、ADC0834の定義されたCS、CLK、DIOをそれぞれGPIO17、GPIO18、GPIO27に接続する。 + +.. code-block:: python + + def loop(): + while True: + res = ADC0834.getResult() + print ('res = %d' % res) + R_val = MAP(res, 0, 255, 0, 100) + led_val.ChangeDutyCycle(R_val) + time.sleep(0.2) + +関数 ``getResult()`` はADC0834の4つのチャンネルのアナログ値を読み取るために使用される。 +デフォルトでは、関数はCH0の値を読み取り、 +他のチャネルを読み取りたい場合は、() にチャネル番号を入力してください(例えば ``getResult(1)`` )。 + +関数 ``loop()`` は最初にCH0の値を読み取り、それから変数resに値を割り当てる。 +その後、関数MAPを呼び出して、ポテンショメーターの読み取り値を0〜100にマッピングする。 +このステップはLedPinのデューティサイクルを制御するために使用される。 +これで、ポテンショメータの値によってLEDの輝度が変化していることがわかる。 + + +現象画像 +------------------ + +.. image:: media/image181.jpeg + + diff --git a/docs/source/2.1.5_keypad.rst b/docs/source/2.1.5_keypad.rst new file mode 100644 index 0000000..d8722ec --- /dev/null +++ b/docs/source/2.1.5_keypad.rst @@ -0,0 +1,508 @@ +.. _py_keypad: + +2.1.5 キーパッド +================= + +前書き +------------ + +キーパッドは、ボタンの長方形の配列である。このプロジェクトでは、入力文字を使用する。 + +部品 +---------- + +.. image:: media/list_2.1.5_keypad.png + + +原理 +--------- + +**キーパッド** + +キーパッドは12個または16個のOFF-(ON)ボタンの長方形配列である。 +リボンケーブルとの接続またはプリント基板への挿入に適したヘッダーを介してそれらの接点にアクセスする。 +一部のキーパッドでは、 +各ボタンはヘッダーの個別の連絡先に接続されるが、すべてのボタンは共通の接地を共有する。 + +.. image:: media/image314.png + + +多くの場合、ボタンはマトリックスエンコードされている。 +つまり、各ボタンはマトリックス内の一意のコンダクターペアをブリッジしている。 +この構成は、マイクロコントローラーによるポーリングに適し、 +4本の水平線のそれぞれに順番に出力パルスを送信するようにプログラムできる。 +各パルス中に、残りの4本の垂直ワイヤを順番にチェックして、信号を伝送しているのがどれかを判断する。 +信号が存在しない場合にマイクロコントローラの入力が予期しない動作をすることを防ぐため、 +入力ワイヤにプルアップまたはプルダウン抵抗を追加してください。 + +回路図 +----------------- + +.. image:: media/image315.png + + +.. image:: media/image316.png + + +実験手順 +----------------------- + +ステップ1: 回路を作る。 + +.. image:: media/image186.png + :width: 800 + + + +C言語ユーザー向け +^^^^^^^^^^^^^^^^^^^^^^ + +ステップ2: コードファイルを開く。 + +.. raw:: html + + + +.. code-block:: + + cd /home/pi/davinci-kit-for-raspberry-pi/c/2.1.5/ + +ステップ3: コードをコンパイルする。 + +.. raw:: html + + + +.. code-block:: + + gcc 2.1.5_Keypad.cpp -lwiringPi + +ステップ4: 実行する。 + +.. raw:: html + + + +.. code-block:: + + sudo ./a.out + +コードの実行後、キーパッドで押されたボタンの値(ボタン値)が画面にプリントされる。 + +**コード** + +.. code-block:: c + + #include + #include + + #define ROWS 4 + #define COLS 4 + #define BUTTON_NUM (ROWS * COLS) + + unsigned char KEYS[BUTTON_NUM] { + '1','2','3','A', + '4','5','6','B', + '7','8','9','C', + '*','0','#','D'}; + + unsigned char rowPins[ROWS] = {1, 4, 5, 6}; + unsigned char colPins[COLS] = {12, 3, 2, 0}; + + void keyRead(unsigned char* result); + bool keyCompare(unsigned char* a, unsigned char* b); + void keyCopy(unsigned char* a, unsigned char* b); + void keyPrint(unsigned char* a); + void keyClear(unsigned char* a); + int keyIndexOf(const char value); + + void init(void) { + for(int i=0 ; i<4 ; i++) { + pinMode(rowPins[i], OUTPUT); + pinMode(colPins[i], INPUT); + } + } + + int main(void){ + unsigned char pressed_keys[BUTTON_NUM]; + unsigned char last_key_pressed[BUTTON_NUM]; + + if(wiringPiSetup() == -1){ //when initialize wiring failed,print message to screen + printf("setup wiringPi failed !"); + return 1; + } + init(); + while(1){ + keyRead(pressed_keys); + bool comp = keyCompare(pressed_keys, last_key_pressed); + if (!comp){ + keyPrint(pressed_keys); + keyCopy(last_key_pressed, pressed_keys); + } + delay(100); + } + return 0; + } + + void keyRead(unsigned char* result){ + int index; + int count = 0; + keyClear(result); + for(int i=0 ; i + +.. code-block:: + + cd /home/pi/davinci-kit-for-raspberry-pi/python/ + +ステップ3: 実行する。 + +.. raw:: html + + + +.. code-block:: + + sudo python3 2.1.5_Keypad.py + +コードの実行後、キーパッドで押されたボタンの値(ボタン値)が画面にプリントされる。 + + + +**コード** + + +.. note:: + + 以下のコードを **変更/リセット/コピー/実行/停止** できます。 ただし、その前に、 ``davinci-kit-for-raspberry-pi/python`` のようなソースコードパスに移動する必要があります。 + +.. raw:: html + + + +.. code-block:: python + + import RPi.GPIO as GPIO + import time + + class Keypad(): + + def __init__(self, rowsPins, colsPins, keys): + self.rowsPins = rowsPins + self.colsPins = colsPins + self.keys = keys + GPIO.setwarnings(False) + GPIO.setmode(GPIO.BCM) + GPIO.setup(self.rowsPins, GPIO.OUT, initial=GPIO.LOW) + GPIO.setup(self.colsPins, GPIO.IN, pull_up_down=GPIO.PUD_DOWN) + + def read(self): + pressed_keys = [] + for i, row in enumerate(self.rowsPins): + GPIO.output(row, GPIO.HIGH) + for j, col in enumerate(self.colsPins): + index = i * len(self.colsPins) + j + if (GPIO.input(col) == 1): + pressed_keys.append(self.keys[index]) + GPIO.output(row, GPIO.LOW) + return pressed_keys + + def setup(): + global keypad, last_key_pressed + rowsPins = [18,23,24,25] + colsPins = [10,22,27,17] + keys = ["1","2","3","A", + "4","5","6","B", + "7","8","9","C", + "*","0","#","D"] + keypad = Keypad(rowsPins, colsPins, keys) + last_key_pressed = [] + + def loop(): + global keypad, last_key_pressed + pressed_keys = keypad.read() + if len(pressed_keys) != 0 and last_key_pressed != pressed_keys: + print(pressed_keys) + last_key_pressed = pressed_keys + time.sleep(0.1) + + # Define a destroy function for clean up everything after the script finished + def destroy(): + # Release resource + GPIO.cleanup() + + if __name__ == '__main__': # Program start from here + try: + setup() + while True: + loop() + except KeyboardInterrupt: # When 'Ctrl+C' is pressed, the program destroy() will be executed. + destroy() + +**コードの説明** + +.. code-block:: python + + def setup(): + global keypad, last_key_pressed + rowsPins = [18,23,24,25] + colsPins = [10,22,27,17] + keys = ["1","2","3","A", + "4","5","6","B", + "7","8","9","C", + "*","0","#","D"] + keypad = Keypad(rowsPins, colsPins, keys) + last_key_pressed = [] + +マトリックスキーボードの各キーを配列 ``keys[]`` に表示し、各行と列にピンを定義する。 + +.. code-block:: python + + def loop(): + global keypad, last_key_pressed + pressed_keys = keypad.read() + if len(pressed_keys) != 0 and last_key_pressed != pressed_keys: + print(pressed_keys) + last_key_pressed = pressed_keys + time.sleep(0.1) + +これは、ボタン値を読み取り、プリントするメイン関数の一部である。 + +関数 ``keyRead()`` は、すべてのボタンの状態を読み取る。 + +``if len(pressed_keys)!= 0`` と ``last_key_pressed != Pressed_keys`` のステートメントは、 + +キーが押されたかどうか、押されたボタンの状態を判断するために使用される。(「1」を押したときに「3」を押した場合、判断は受け入れられる。) + +条件が主張できる場合、現在押されているキーの値をプリントする。 + +ステートメント ``last_key_pressed = pressed_keys`` は、それぞれの判断の状態を配列 ``last_key_pressed`` に割り当て、次の条件判断を容易にする。 + +.. code-block:: python + + def read(self): + pressed_keys = [] + for i, row in enumerate(self.rowsPins): + GPIO.output(row, GPIO.HIGH) + for j, col in enumerate(self.colsPins): + index = i * len(self.colsPins) + j + if (GPIO.input(col) == 1): + pressed_keys.append(self.keys[index]) + GPIO.output(row, GPIO.LOW) + return pressed_keys + +この関数は各行に順番に高レベルを割り当て、列のボタンが押されると、 +キーが配置されている列が高レベルになる。 +2層ループが判定された後、状態が1のボタンの値は、 ``pressed_keys`` 配列に保存される。 + +キー「3」を押すと: + +.. image:: media/image187.png + + +``rowPins[0]`` は高レベルで書き込まれ、 ``colPins[2]`` は高レベルになり。 + +``colPins[0]`` 、 ``colPins[1]`` 、 ``colPins[3]`` は低レベルになる。 + +4つの状態がある: ``0、0、1、0`` 。そして、 ``pressed_keys`` に「3」を書き込む。 + +``rowPins[1]`` 、 ``rowPins[2]`` 、 ``rowPins[3]`` が高レベルに書き込まれると、 ``colPins[0]`` 〜 ``colPins[4]`` は低レベルになる。 + +ループが停止し、 ``pressed_keys = '3'`` が返される。 + +ボタン「1」と「3」を押すと、 ``pressed_keys =['1'、'3']`` が返される。 + +現象画像 +------------------ + +.. image:: media/image188.jpeg + + diff --git a/docs/source/2.1.6_joystick.rst b/docs/source/2.1.6_joystick.rst new file mode 100644 index 0000000..f4ffdd7 --- /dev/null +++ b/docs/source/2.1.6_joystick.rst @@ -0,0 +1,309 @@ +2.1.6 ジョイスティック +====================== + + +前書き +------------ + +このプロジェクトでは、ジョイスティックの仕組みを学習する。 +ジョイスティックを操作して、結果を画面に表示する。 + +部品 +---------- + +.. image:: media/image317.png + + +原理 +--------- + +**ジョイスティック** + +ジョイスティックの基本的な原理は、スティックの動きをコンピューターが処理できる電子情報に変換することである。 + +モーションの全範囲をコンピューターに通信するために、ジョイスティックはX軸(左から右)とY軸(上下)の二つの軸でスティックの位置を測定する必要がある。基本的なジオメトリと同様に、X-Y座標はスティックの位置を正確に特定する。 + +スティックの位置を決定するために、ジョイスティック制御システムは各シャフトの位置を監視する。従来のアナログジョイスティックの設計では、これを二つのポテンショメーターまたは可変抵抗器で行う。 + +ジョイスティックには、ジョイスティックを押し下げたときに作動するデジタル入力もある。 + +.. image:: media/image318.png + +回路図 +----------------- + +ジョイスティックのデータを読み取ると、 +軸間でいくつかの違いがある:X軸とY軸のデータはアナログであり、 +ADC0834を使用してアナログ値をデジタル値に変換する必要がある。 +Z軸のデータはデジタルであるため、GPIOを直接使用して読み取るか、 +またはADCを使用して読み取ることができる。 + +.. image:: media/image319.png + + +.. image:: media/image320.png + + +実験手順 +----------------------- + +ステップ1: 回路を作る。 + +.. image:: media/image193.png + :width: 800 + + + +C言語ユーザー向け +^^^^^^^^^^^^^^^^^^^^ + +ステップ2: コードのフォルダーに入る。 + +.. raw:: html + + + +.. code-block:: + + cd /home/pi/davinci-kit-for-raspberry-pi/c/2.1.6/ + +ステップ3: コードをコンパイルする。 + +.. raw:: html + + + +.. code-block:: + + gcc 2.1.6_Joystick.c -lwiringPi + +ステップ4: EXEファイルを実行する。 + +.. raw:: html + + + +.. code-block:: + + sudo ./a.out + +コードの実行後、ジョイスティックを回すと、対応するx、y、Btnの値が画面に表示される。 + +**コード** + +.. code-block:: c + + #include + #include + #include + + typedef unsigned char uchar; + typedef unsigned int uint; + + #define ADC_CS 0 + #define ADC_CLK 1 + #define ADC_DIO 2 + #define BtnPin 3 + + uchar get_ADC_Result(uint channel) + { + uchar i; + uchar dat1=0, dat2=0; + int sel = channel > 1 & 1; + int odd = channel & 1; + pinMode(ADC_DIO, OUTPUT); + digitalWrite(ADC_CS, 0); + // Start bit + digitalWrite(ADC_CLK,0); + digitalWrite(ADC_DIO,1); delayMicroseconds(2); + digitalWrite(ADC_CLK,1); delayMicroseconds(2); + //Single End mode + digitalWrite(ADC_CLK,0); + digitalWrite(ADC_DIO,1); delayMicroseconds(2); + digitalWrite(ADC_CLK,1); delayMicroseconds(2); + // ODD + digitalWrite(ADC_CLK,0); + digitalWrite(ADC_DIO,odd); delayMicroseconds(2); + digitalWrite(ADC_CLK,1); delayMicroseconds(2); + //Select + digitalWrite(ADC_CLK,0); + digitalWrite(ADC_DIO,sel); delayMicroseconds(2); + digitalWrite(ADC_CLK,1); + digitalWrite(ADC_DIO,1); delayMicroseconds(2); + digitalWrite(ADC_CLK,0); + digitalWrite(ADC_DIO,1); delayMicroseconds(2); + for(i=0;i<8;i++) + { + digitalWrite(ADC_CLK,1); delayMicroseconds(2); + digitalWrite(ADC_CLK,0); delayMicroseconds(2); + pinMode(ADC_DIO, INPUT); + dat1=dat1<<1 | digitalRead(ADC_DIO); + } + for(i=0;i<8;i++) + { + dat2 = dat2 | ((uchar)(digitalRead(ADC_DIO))< 1 & 1; + int odd = channel & 1; + pinMode(ADC_DIO, OUTPUT); + digitalWrite(ADC_CS, 0); + // Start bit + digitalWrite(ADC_CLK,0); + digitalWrite(ADC_DIO,1); delayMicroseconds(2); + digitalWrite(ADC_CLK,1); delayMicroseconds(2); + //Single End mode + digitalWrite(ADC_CLK,0); + digitalWrite(ADC_DIO,1); delayMicroseconds(2); + digitalWrite(ADC_CLK,1); delayMicroseconds(2); + ...... + +機能の動作プロセスについては、2.1.4ポテンショメーターで詳しく説明している。 + +.. code-block:: c + + while(1){ + x_val = get_ADC_Result(0); + y_val = get_ADC_Result(1); + btn_val = digitalRead(BtnPin); + printf("x = %d, y = %d, btn = %d\n", x_val, y_val, btn_val); + delay(100); + } + +ジョイスティックのVRXとVRYは、それぞれADC0834のCH0、CH1に接続されている。 +したがって、関数 ``getResult()`` が呼び出されて、CH0とCH1の値が読み取られる。 +それから、読み取った値を変数 ``x_val`` と ``y_val`` に保存してください。 +さらに、ジョイスティックのSWの値を読み取り、変数 ``Btn_val`` に保存する。 +最後に、 ``x_val`` 、 ``y_val`` 、と ``Btn_val`` の値は ``print()`` 関数で出力される。 + +Python言語ユーザー向け +^^^^^^^^^^^^^^^^^^^^^^^^^ + +ステップ2: コードのフォルダーに入る。 + +.. raw:: html + + + +.. code-block:: + + cd /home/pi/davinci-kit-for-raspberry-pi/python/ + +ステップ3: 実行する。 + +.. raw:: html + + + +.. code-block:: + + sudo python3 2.1.6_Joystick.py + +コードの実行後、ジョイスティックを回すと、対応するx、y、Btnの値が画面に表示される。 + + +**コード** + + +.. note:: + + 以下のコードを **変更/リセット/コピー/実行/停止** できます。 ただし、その前に、 ``davinci-kit-for-raspberry-pi/python`` のようなソースコードパスに移動する必要があります。 + +.. raw:: html + + + +.. code-block:: python + + import RPi.GPIO as GPIO + import ADC0834 + import time + + BtnPin = 22 + + def setup(): + # Set the GPIO modes to BCM Numbering + GPIO.setmode(GPIO.BCM) + GPIO.setup(BtnPin, GPIO.IN, pull_up_down=GPIO.PUD_UP) + ADC0834.setup() + + def destroy(): + # Release resource + GPIO.cleanup() + + def loop(): + while True: + x_val = ADC0834.getResult(0) + y_val = ADC0834.getResult(1) + Btn_val = GPIO.input(BtnPin) + print ('X: %d Y: %d Btn: %d' % (x_val, y_val, Btn_val)) + time.sleep(0.2) + + if __name__ == '__main__': + setup() + try: + loop() + except KeyboardInterrupt: # When 'Ctrl+C' is pressed, the program destroy() will be executed. + destroy() + +**コードの説明** + +.. code-block:: python + + def loop(): + while True: + x_val = ADC0834.getResult(0) + y_val = ADC0834.getResult(1) + Btn_val = GPIO.input(BtnPin) + print ('X: %d Y: %d Btn: %d' % (x_val, y_val, Btn_val)) + time.sleep(0.2) + +ジョイスティックのVRXとVRYは、それぞれADC0834のCH0、CH1に接続されている。 +したがって、関数 ``getResult()`` が呼び出されて、CH0とCH1の値が読み取られる。 +それから、読み取った値を変数 ``x_val`` と ``y_val`` に保存してください。 +さらに、ジョイスティックのSWの値を読み取り、変数 ``Btn_val`` に保存する。 +最後に、 ``x_val`` 、 ``y_val`` 、と ``Btn_val`` の値は ``print()`` 関数で出力される。 + +現象画像 +------------------ + +.. image:: media/image194.jpeg + + diff --git a/docs/source/2.2.1_photoresistor.rst b/docs/source/2.2.1_photoresistor.rst new file mode 100644 index 0000000..8ce15c5 --- /dev/null +++ b/docs/source/2.2.1_photoresistor.rst @@ -0,0 +1,276 @@ +2.2.1 フォトレジスタ +==================== + + +前書き +------------ + +フォトレジスタは生活の中で環境光の強度によく使用される部品である。 +コントローラーが昼と夜を認識し、夜間ランプなどの調光機能を実現することに役立つ。 +このプロジェクトはポテンショメータによく似ており、光を感知するための電圧を変えると思うかもしれない。 + +部品 +---------- + +.. image:: media/list_2.2.1_photoresistor.png + + +原理 +--------- + +フォトレジスタまたはフォトセルは光制御可変抵抗器である。 +フォトレジストの抵抗は入射光強度の増加とともに減少する。つまり、光伝導性を示す。 +フォトレジスタは、光に敏感な検出回路、および光・暗闇で作動する切換回路に適用できる。 + +.. image:: media/image196.png + :width: 200 + :align: center + + +回路図 +----------------- + +.. image:: media/image321.png + + +.. image:: media/image322.png + + +実験手順 +----------------------- + +ステップ1: 回路を作る。 + +.. image:: media/image198.png + :width: 800 + + + +C言語ユーザー向け +^^^^^^^^^^^^^^^^^^^^ + +ステップ2: コードのフォルダーに入る。 + +.. raw:: html + + + +.. code-block:: + + cd /home/pi/davinci-kit-for-raspberry-pi/c/2.2.1/ + +ステップ3: コードをコンパイルする。 + +.. raw:: html + + + +.. code-block:: + + gcc 2.2.1_Photoresistor.c -lwiringPi + +ステップ4: EXEファイルを実行する。 + +.. raw:: html + + + +.. code-block:: + + sudo ./a.out + +コードを実行すると、LEDの輝度はフォトレジスターが感知する光の強度に応じて変化する。 + +**コード** + +.. code-block:: c + + #include + #include + #include + + typedef unsigned char uchar; + typedef unsigned int uint; + + #define ADC_CS 0 + #define ADC_CLK 1 + #define ADC_DIO 2 + #define LedPin 3 + + uchar get_ADC_Result(uint channel) + { + uchar i; + uchar dat1=0, dat2=0; + int sel = channel > 1 & 1; + int odd = channel & 1; + + pinMode(ADC_DIO, OUTPUT); + digitalWrite(ADC_CS, 0); + // Start bit + digitalWrite(ADC_CLK,0); + digitalWrite(ADC_DIO,1); delayMicroseconds(2); + digitalWrite(ADC_CLK,1); delayMicroseconds(2); + //Single End mode + digitalWrite(ADC_CLK,0); + digitalWrite(ADC_DIO,1); delayMicroseconds(2); + digitalWrite(ADC_CLK,1); delayMicroseconds(2); + // ODD + digitalWrite(ADC_CLK,0); + digitalWrite(ADC_DIO,odd); delayMicroseconds(2); + digitalWrite(ADC_CLK,1); delayMicroseconds(2); + //Select + digitalWrite(ADC_CLK,0); + digitalWrite(ADC_DIO,sel); delayMicroseconds(2); + digitalWrite(ADC_CLK,1); + + digitalWrite(ADC_DIO,1); delayMicroseconds(2); + digitalWrite(ADC_CLK,0); + digitalWrite(ADC_DIO,1); delayMicroseconds(2); + + for(i=0;i<8;i++) + { + digitalWrite(ADC_CLK,1); delayMicroseconds(2); + digitalWrite(ADC_CLK,0); delayMicroseconds(2); + + pinMode(ADC_DIO, INPUT); + dat1=dat1<<1 | digitalRead(ADC_DIO); + } + + for(i=0;i<8;i++) + { + dat2 = dat2 | ((uchar)(digitalRead(ADC_DIO))< + +.. code-block:: + + cd /home/pi/davinci-kit-for-raspberry-pi/python/ + +ステップ3: EXEファイルを実行する。 + +.. raw:: html + + + +.. code-block:: + + sudo python3 2.2.1_Photoresistor.py + +コードを実行すると、LEDの輝度はフォトレジスターが感知する光の強度に応じて変化する。 + +**コード** + + +.. note:: + + 以下のコードを **変更/リセット/コピー/実行/停止** できます。 ただし、その前に、 ``davinci-kit-for-raspberry-pi/python`` のようなソースコードパスに移動する必要があります。 + +.. raw:: html + + + +.. code-block:: python + + import RPi.GPIO as GPIO + import ADC0834 + import time + + LedPin = 22 + + def setup(): + global led_val + # Set the GPIO modes to BCM Numbering + GPIO.setmode(GPIO.BCM) + # Set all LedPin's mode to output and initial level to High(3.3v) + GPIO.setup(LedPin, GPIO.OUT, initial=GPIO.HIGH) + ADC0834.setup() + # Set led as pwm channel and frequece to 2KHz + led_val = GPIO.PWM(LedPin, 2000) + + # Set all begin with value 0 + led_val.start(0) + + def destroy(): + # Stop all pwm channel + led_val.stop() + # Release resource + GPIO.cleanup() + + def loop(): + while True: + analogVal = ADC0834.getResult() + print ('analog value = %d' % analogVal) + led_val.ChangeDutyCycle(analogVal*100/255) + time.sleep(0.2) + + if __name__ == '__main__': + setup() + try: + loop() + except KeyboardInterrupt: # When 'Ctrl+C' is pressed, the program destroy() will be executed. + destroy() + +**コードの説明** + +.. code-block:: python + + def loop(): + while True: + analogVal = ADC0834.getResult() + print ('analog value = %d' % analogVal) + led_val.ChangeDutyCycle(analogVal*100/255) + time.sleep(0.2) + +ADC0834のCH0のアナログ値を読み取る。 +デフォルトでは、関数 ``getResult()`` を使用してCH0の値を読み取る。 +したがって、他のチャネルを読み取る場合は、 +関数 ``getResult()`` の()に1、2、または3を入力してください。 +次に、プリント機能を使用して値をプリントする必要がある。 +変化する要素は計算式である ``LedPin`` のデューティサイクルであるため、 +``analogVal`` をパーセンテージに変換するには ``analogVal * 100/255`` が必要である。 +最後に、 ``ChangeDutyCycle()`` が呼び出されて、パーセンテージが ``LedPin`` に書き込まれる。 + +現象画像 +------------------ + +.. image:: media/image199.jpeg diff --git a/docs/source/2.2.2_thermistor.rst b/docs/source/2.2.2_thermistor.rst new file mode 100644 index 0000000..cc610cf --- /dev/null +++ b/docs/source/2.2.2_thermistor.rst @@ -0,0 +1,378 @@ +2.2.2 サーミスタ +================ + +前書き +------------ + +フォトレジスターが光を感知できるように、サーミスターは温度に敏感な電子デバイスであり、 +過熱警報装置の作成など、温度制御の機能を実現するために使用できる。 + +部品 +---------- + +.. image:: media/list_2.2.2_thermistor.png + + +原理 +--------- + +サーミスタは、温度のわずかな変化に比例して抵抗の予測可能な変化を正確に示す熱に敏感な抵抗器である。その抵抗がどの程度変化するかは、その独自の構成に依存する。サーミスタは、受動部品の大きなグループの一部である。また、対応するアクティブコンポーネントとは異なり、パッシブデバイスは回路に電力上昇または増幅を提供できない。 + +サーミスタは敏感な要素であり、負の温度係数(NTC)と正の温度係数(PTC)の2つのタイプがあり、NTCとPTCとも呼ばれる。その抵抗は温度によって大きく異なる。PTCサーミスタの抵抗は温度とともに増加するが、NTCの条件は前者とは逆である この実験では、NTCを使用する。 + +.. image:: media/image325.png + + +その動作原理は、NTCサーミスタの抵抗が外部環境の温度とともに変化することである。環境のリアルタイム温度を検出できる。温度が高くなると、サーミスタの抵抗が減少する。次に、電圧データはA/Dアダプターによってデジタル量に変換される。摂氏または華氏の温度はプログラミングにより出力される。 + +この実験では、サーミスタと10kプルアップ抵抗が使用される。各サーミスタには通常の抵抗がある。ここでは、25℃で測定されると、10k ohmである。 + +抵抗と温度の関係は次の通りである: + + +R\ :sub:`T` =R\ :sub:`N` exp\ :sup:`B(1/TK – 1/TN)` + +RT は温度が TK のときのNTCサーミスタの抵抗である。 + +RN は、定格温度 TN でのNTCサーミスタの抵抗である。ここで、 RN の数値は10kである。 + +TK はケルビン温度で、単位はKである。ここで、 TK の数値は273.15である。+摂氏度である。 + +TN は定格ケルビン温度で、単位もKである。ここで、 TN の数値は273.15 + 25である。 + +また、NTCサーミスタの構成要素定数である B(ベータ)は、数値3950の熱感受性指数とも呼ばれる。 + +exp は指数の略語で、基数eは自然数であり、約2.7に等しくなる。 + +この式 +T\ :sub:`K`\ =1/(ln(R\ :sub:`T`/R\ :sub:`N`)/B+1/T\ :sub:`N`) を変換して、マイナス273.15が摂氏温度に相当するケルビン温度を取得する。 + +この関係は実験式である。温度と抵抗が有効範囲内にある場合にのみそれは正確である。 + +回路図 +----------------- + +.. image:: media/image323.png + + +.. image:: media/image324.png + + +実験手順 +----------------------- + +ステップ1: 回路を作る。 + +.. image:: media/image202.png + :width: 800 + + + +C言語ユーザー向け +^^^^^^^^^^^^^^^^^^^^ + + +ステップ2: コードのフォルダーに入る。 + +.. raw:: html + + + +.. code-block:: + + cd /home/pi/davinci-kit-for-raspberry-pi/c/2.2.2/ + +ステップ3: コードをコンパイルする。 + +.. raw:: html + + + +.. code-block:: + + gcc 2.2.2_Thermistor.c -lwiringPi -lm + +.. note:: + -lm はライブラリの数学をロードする。省略すると、エラーが発生する。 + +ステップ4: EXEファイルを実行する。 + +.. raw:: html + + + +.. code-block:: + + sudo ./a.out + +コードを実行すると、サーミスタは周囲温度を検出する。周囲温度は、プログラムの計算が終了すると画面に出力される。 + +**コード** + +.. code-block:: c + + #include + #include + #include + + typedef unsigned char uchar; + typedef unsigned int uint; + + #define ADC_CS 0 + #define ADC_CLK 1 + #define ADC_DIO 2 + + uchar get_ADC_Result(uint channel) + { + uchar i; + uchar dat1=0, dat2=0; + int sel = channel > 1 & 1; + int odd = channel & 1; + + pinMode(ADC_DIO, OUTPUT); + digitalWrite(ADC_CS, 0); + // Start bit + digitalWrite(ADC_CLK,0); + digitalWrite(ADC_DIO,1); delayMicroseconds(2); + digitalWrite(ADC_CLK,1); delayMicroseconds(2); + //Single End mode + digitalWrite(ADC_CLK,0); + digitalWrite(ADC_DIO,1); delayMicroseconds(2); + digitalWrite(ADC_CLK,1); delayMicroseconds(2); + // ODD + digitalWrite(ADC_CLK,0); + digitalWrite(ADC_DIO,odd); delayMicroseconds(2); + digitalWrite(ADC_CLK,1); delayMicroseconds(2); + //Select + digitalWrite(ADC_CLK,0); + digitalWrite(ADC_DIO,sel); delayMicroseconds(2); + digitalWrite(ADC_CLK,1); + + digitalWrite(ADC_DIO,1); delayMicroseconds(2); + digitalWrite(ADC_CLK,0); + digitalWrite(ADC_DIO,1); delayMicroseconds(2); + + for(i=0;i<8;i++) + { + digitalWrite(ADC_CLK,1); delayMicroseconds(2); + digitalWrite(ADC_CLK,0); delayMicroseconds(2); + + pinMode(ADC_DIO, INPUT); + dat1=dat1<<1 | digitalRead(ADC_DIO); + } + + for(i=0;i<8;i++) + { + dat2 = dat2 | ((uchar)(digitalRead(ADC_DIO))< + +一般的な数学的操作と変換を計算する一連の関数を宣言するC数値ライブラリがある。 + +.. code-block:: c + + analogVal = get_ADC_Result(0); + +この関数はサーミスタの値を読み取るために使用される。 + +.. code-block:: c + + Vr = 5 * (double)(analogVal) / 255; + Rt = 10000 * (double)(Vr) / (5 - (double)(Vr)); + temp = 1 / (((log(Rt/10000)) / 3950)+(1 / (273.15 + 25))); + cel = temp - 273.15; + Fah = cel * 1.8 +32; + printf("Celsius: %.2f C Fahrenheit: %.2f F\n", cel, Fah); + +これらの計算により、サーミスタ値が摂氏値に変換される。 + +.. code-block:: c + + Vr = 5 * (double)(analogVal) / 255; + Rt = 10000 * (double)(Vr) / (5 - (double)(Vr)); + +Rt(サーミスタの抵抗)を取得するために、これらの2行のコードは読み取り値アナログを使って電圧分布を計算している。 + +.. code-block:: c + + temp = 1 / (((log(Rt/10000)) / 3950)+(1 / (273.15 + 25))); + +このコードは、Rtを式 TK=1/(ln(RT/RN)/B+1/TN) に挿入してケルビン温度を取得することを意味する。 + +.. code-block:: c + + temp = temp - 273.15; + +ケルビン温度を摂氏に変換する。 + +.. code-block:: c + + Fah = cel * 1.8 +32; + +摂氏を華氏に変換する。 + +.. code-block:: c + + printf("Celsius: %.2f C Fahrenheit: %.2f F\n", cel, Fah); + +ディスプレイに摂氏度、華氏度とそれらの単位を表示する。 + +Python言語ユーザー向け +^^^^^^^^^^^^^^^^^^^^^^^^^ + +ステップ2: コードのフォルダーに入る。 + +.. raw:: html + + + +.. code-block:: + + cd /home/pi/davinci-kit-for-raspberry-pi/python/ + +ステップ3: EXEファイルを実行する。 + +.. raw:: html + + + +.. code-block:: + + sudo python3 2.2.2_Thermistor.py + +コードを実行すると、サーミスタは周囲温度を検出する。周囲温度は、プログラムの計算が終了すると画面に出力される。 + +**コード** + +.. note:: + + 以下のコードを **変更/リセット/コピー/実行/停止** できます。 ただし、その前に、 ``davinci-kit-for-raspberry-pi/python`` のようなソースコードパスに移動する必要があります。 + +.. raw:: html + + + +.. code-block:: python + + import RPi.GPIO as GPIO + import ADC0834 + import time + import math + + def init(): + ADC0834.setup() + + def loop(): + while True: + analogVal = ADC0834.getResult() + Vr = 5 * float(analogVal) / 255 + Rt = 10000 * Vr / (5 - Vr) + temp = 1/(((math.log(Rt / 10000)) / 3950) + (1 / (273.15+25))) + Cel = temp - 273.15 + Fah = Cel * 1.8 + 32 + print ('Celsius: %.2f C Fahrenheit: %.2f F' % (Cel, Fah)) + time.sleep(0.2) + + if __name__ == '__main__': + init() + try: + loop() + except KeyboardInterrupt: + ADC0834.destroy() + +**コードの説明** + +.. code-block:: python + + import math + +一般的な数学的操作と変換を計算する一連の関数を宣言するC数値ライブラリがある。 + +.. code-block:: python + + analogVal = ADC0834.getResult() + +この関数はサーミスタの値を読み取るために使用される。 + +.. code-block:: python + + Vr = 5 * float(analogVal) / 255 + Rt = 10000 * Vr / (5 - Vr) + temp = 1/(((math.log(Rt / 10000)) / 3950) + (1 / (273.15+25))) + Cel = temp - 273.15 + Fah = Cel * 1.8 + 32 + print ('Celsius: %.2f °C Fahrenheit: %.2f ℉' % (Cel, Fah)) + +これらの計算はサーミスタの値を摂氏度と華氏度に変換する。 + +.. code-block:: python + + Vr = 5 * float(analogVal) / 255 + Rt = 10000 * Vr / (5 - Vr) + +Rt(サーミスタの抵抗)を取得するために、これらの2行のコードは読み取り値アナログを使って電圧分布を計算している。 + +.. code-block:: python + + temp = 1/(((math.log(Rt / 10000)) / 3950) + (1 / (273.15+25))) + +このコードは、Rtを式 TK=1/(ln(RT/RN)/B+1/TN) に挿入してケルビン温度を取得することを意味する。 + +.. code-block:: python + + temp = temp - 273.15 + +ケルビン温度を摂氏に変換する。 + +.. code-block:: python + + Fah = Cel * 1.8 + 32 + +摂氏を華氏に変換する。 + +.. code-block:: python + + print ('Celsius: %.2f °C Fahrenheit: %.2f ℉' % (Cel, Fah)) + +ディスプレイに摂氏度、華氏度とそれらの単位を表示する。 + +現象画像 +------------------ + +.. image:: media/image203.jpeg \ No newline at end of file diff --git a/docs/source/2.2.3_dht-11.rst b/docs/source/2.2.3_dht-11.rst new file mode 100644 index 0000000..ff8f770 --- /dev/null +++ b/docs/source/2.2.3_dht-11.rst @@ -0,0 +1,465 @@ +2.2.3 DHT-11 +============ + +前書き +-------------- + +デジタル温湿度センサーDHT11は、温度と湿度の校正済みデジタル信号出力を含む複合センサーである。専用のデジタルモジュールコレクションの技術と温湿度検知の技術を適用して、製品の高い信頼性と優れた安定性を確保している。 + +センサーには、湿式素子抵抗センサーとNTC温度センサーが含まれており、高性能の8ビットマイクロコントローラーに接続されている。 + +部品 +---------- + +.. image:: media/list_2.2.3_dht-11.png + + +原理 +--------- + +DHT11は基本的な超低コストのデジタル温湿度センサーである。 +容量性湿度センサーとサーミスタを使用して周囲の空気を測定し、 +データピンにデジタル信号を出力する(アナログ入力ピンは不要)。 + +.. image:: media/image205.png + :width: 200 + + +VCC、GND、とDATAの三つのピンのみが利用できる。 +通信プロセスは開始信号をDHT11に送信するDATAラインから始まり、 +DHT11は信号を受信して応答信号を返す。次に、ホストは応答信号を受信し、 +40ビットの湿度データ(8ビット湿度整数+ 8ビット湿度10進数+ 8ビット温度整数+ 8ビット温度10進数+ 8ビットチェックサム)の受信を開始する。 +詳細については、DHT11データシートを参照してください。 + +回路図 +----------------- + +.. image:: media/image326.png + + +実験手順 +----------------------- + +ステップ1: 回路を作る。 + +.. image:: media/image207.png + :width: 800 + + + +C言語ユーザー向け +^^^^^^^^^^^^^^^^^^^^ + +ステップ2: コードのフォルダーに入る。 + +.. raw:: html + + + +.. code-block:: + + cd /home/pi/davinci-kit-for-raspberry-pi/c/2.2.3/ + +ステップ3: コードをコンパイルする。 + +.. raw:: html + + + +.. code-block:: + + gcc 2.2.3_DHT.c -lwiringPi + +ステップ4: EXEファイルを実行する。 + +.. raw:: html + + + +.. code-block:: + + sudo ./a.out + +コードの実行後、プログラムはDHT11によって検出された温度と湿度をコンピューター画面にプリントする。 + +**コード** + +.. code-block:: c + + #include + #include + #include + #include + + #define maxTim 85 + #define dhtPin 0 + + int dht11_dat[5] = {0,0,0,0,0}; + + void readDht11() { + uint8_t laststate = HIGH; + uint8_t counter = 0; + uint8_t j = 0, i; + float Fah; // fahrenheit + dht11_dat[0] = dht11_dat[1] = dht11_dat[2] = dht11_dat[3] = dht11_dat[4] = 0; + // pull pin down for 18 milliseconds + pinMode(dhtPin, OUTPUT); + digitalWrite(dhtPin, LOW); + delay(18); + // then pull it up for 40 microseconds + digitalWrite(dhtPin, HIGH); + delayMicroseconds(40); + // prepare to read the pin + pinMode(dhtPin, INPUT); + + // detect change and read data + for ( i=0; i< maxTim; i++) { + counter = 0; + while (digitalRead(dhtPin) == laststate) { + counter++; + delayMicroseconds(1); + if (counter == 255) { + break; + } + } + laststate = digitalRead(dhtPin); + + if (counter == 255) break; + // ignore first 3 transitions + if ((i >= 4) && (i%2 == 0)) { + // shove each bit into the storage bytes + dht11_dat[j/8] <<= 1; + if (counter > 50) + dht11_dat[j/8] |= 1; + j++; + } + } + // check we read 40 bits (8bit x 5 ) + verify checksum in the last byte + // print it out if data is good + if ((j >= 40) && + (dht11_dat[4] == ((dht11_dat[0] + dht11_dat[1] + dht11_dat[2] + dht11_dat[3]) & 0xFF)) ) { + Fah = dht11_dat[2] * 9. / 5. + 32; + printf("Humidity = %d.%d %% Temperature = %d.%d *C (%.1f *F)\n", + dht11_dat[0], dht11_dat[1], dht11_dat[2], dht11_dat[3], Fah); + } + } + + int main (void) { + if(wiringPiSetup() == -1){ //when initialize wiring failed, print messageto screen + printf("setup wiringPi failed !"); + return 1; + } + while (1) { + readDht11(); + delay(500); // wait 1sec to refresh + } + return 0 ; + } + +**コードの説明** + +.. code-block:: c + + void readDht11() { + uint8_t laststate = HIGH; + uint8_t counter = 0; + uint8_t j = 0, i; + float Fah; // fahrenheit + dht11_dat[0] = dht11_dat[1] = dht11_dat[2] = dht11_dat[3] = dht11_dat[4] = 0; + // ... + } + +この機能はDHT11の機能を実現するために使用される。 + +通常、次の3つの部分に分けることができる: + +1. ピンを読む準備ができた: + +.. code-block:: c + + // pull pin down for 18 milliseconds + pinMode(dhtPin, OUTPUT); + digitalWrite(dhtPin, LOW); + delay(18); + // then pull it up for 40 microseconds + digitalWrite(dhtPin, HIGH); + delayMicroseconds(40); + // prepare to read the pin + pinMode(dhtPin, INPUT); + +その通信フローは、作業のタイミングによって決まる。 + +.. image:: media/image208.png + :width: 800 + +DHT11が起動すると、MCUは低レベルの信号を送信し、40usの間信号を高レベルに保つ。 +その後、外部環境の状態の検出が開始される。 + +2. データの読み取り: + +.. code-block:: c + + // detect change and read data + for ( i=0; i< maxTim; i++) { + counter = 0; + while (digitalRead(dhtPin) == laststate) { + counter++; + delayMicroseconds(1); + if (counter == 255) { + break; + } + } + laststate = digitalRead(dhtPin); + if (counter == 255) break; + // ignore first 3 transitions + if ((i >= 4) && (i%2 == 0)) { + // shove each bit into the storage bytes + dht11_dat[j/8] <<= 1; + if (counter > 50) + dht11_dat[j/8] |= 1; + j++; + } + } + +ループは検出されたデータを ``dht11_dat[]`` 配列に保存する。DHT11は一度に40ビットのデータを転送する。最初の16ビットは湿度に関連し、中央の16ビットは温度に関連し、最後の8ビットは検証に使用される。データ形式は次のとおりである: + +8ビット湿度整数データ + 8ビット湿度10進データ + 8ビット温度整数データ + 8ビット温度10進データ + 8ビットチェックビット。 + +3. 湿度と温度をプリントする。 + +.. code-block:: c + + // check we read 40 bits (8bit x 5 ) + verify checksum in the last byte + // print it out if data is good + if ((j >= 40) && + (dht11_dat[4] == ((dht11_dat[0] + dht11_dat[1] + dht11_dat[2] + dht11_dat[3]) & 0xFF)) ) { + Fah = dht11_dat[2] * 9. / 5. + 32; + printf("Humidity = %d.%d %% Temperature = %d.%d *C (%.1f *F)\n", + dht11_dat[0], dht11_dat[1], dht11_dat[2], dht11_dat[3], Fah); + } + +データストレージが最大40ビットの場合、 チェックビット ( ``dht11_dat[4]`` ) を通じてデータの有効性をチェックし、温度と湿度をプリントする。 + +たとえば、受信データが00101011(湿度整数の8ビット値)00000000(湿度10進数の8ビット値)00111100(温度整数の8ビット値)00000000(温度10進数の8ビット値)01100111(チェックビット)の場合、 + +**計算:** + +00101011+00000000+00111100+00000000=01100111. + +最終結果はチェックビットデータに等しく、受信データは正しいである: + +湿度= 43%、温度= 60 ℃。 + +チェックビットデータと等しくない場合、データ送信は正常ではなく、データが再度受信される。 + +Python言語ユーザー向け +^^^^^^^^^^^^^^^^^^^^^^^^^ + +ステップ2: コードのフォルダーに入る。 + +.. raw:: html + + + +.. code-block:: + + cd /home/pi/davinci-kit-for-raspberry-pi/python/ + +ステップ3: EXEファイルを実行する。 + +.. raw:: html + + + +.. code-block:: + + sudo python3 2.2.3_DHT.py + +コードの実行後、プログラムはDHT11によって検出された温度と湿度をコンピューター画面にプリントする。 + +**コード** + + +.. note:: + + 以下のコードを **変更/リセット/コピー/実行/停止** できます。 ただし、その前に、 ``davinci-kit-for-raspberry-pi/python`` のようなソースコードパスに移動する必要があります。 + +.. raw:: html + + + +.. code-block:: python + + import RPi.GPIO as GPIO + import time + + dhtPin = 17 + + GPIO.setmode(GPIO.BCM) + + MAX_UNCHANGE_COUNT = 100 + + STATE_INIT_PULL_DOWN = 1 + STATE_INIT_PULL_UP = 2 + STATE_DATA_FIRST_PULL_DOWN = 3 + STATE_DATA_PULL_UP = 4 + STATE_DATA_PULL_DOWN = 5 + + def readDht11(): + GPIO.setup(dhtPin, GPIO.OUT) + GPIO.output(dhtPin, GPIO.HIGH) + time.sleep(0.05) + GPIO.output(dhtPin, GPIO.LOW) + time.sleep(0.02) + GPIO.setup(dhtPin, GPIO.IN, GPIO.PUD_UP) + + unchanged_count = 0 + last = -1 + data = [] + while True: + current = GPIO.input(dhtPin) + data.append(current) + if last != current: + unchanged_count = 0 + last = current + else: + unchanged_count += 1 + if unchanged_count > MAX_UNCHANGE_COUNT: + break + + state = STATE_INIT_PULL_DOWN + + lengths = [] + current_length = 0 + + for current in data: + current_length += 1 + + if state == STATE_INIT_PULL_DOWN: + if current == GPIO.LOW: + state = STATE_INIT_PULL_UP + else: + continue + if state == STATE_INIT_PULL_UP: + if current == GPIO.HIGH: + state = STATE_DATA_FIRST_PULL_DOWN + else: + continue + if state == STATE_DATA_FIRST_PULL_DOWN: + if current == GPIO.LOW: + state = STATE_DATA_PULL_UP + else: + continue + if state == STATE_DATA_PULL_UP: + if current == GPIO.HIGH: + current_length = 0 + state = STATE_DATA_PULL_DOWN + else: + continue + if state == STATE_DATA_PULL_DOWN: + if current == GPIO.LOW: + lengths.append(current_length) + state = STATE_DATA_PULL_UP + else: + continue + if len(lengths) != 40: + #print ("Data not good, skip") + return False + + shortest_pull_up = min(lengths) + longest_pull_up = max(lengths) + halfway = (longest_pull_up + shortest_pull_up) / 2 + bits = [] + the_bytes = [] + byte = 0 + + for length in lengths: + bit = 0 + if length > halfway: + bit = 1 + bits.append(bit) + #print ("bits: %s, length: %d" % (bits, len(bits))) + for i in range(0, len(bits)): + byte = byte << 1 + if (bits[i]): + byte = byte | 1 + else: + byte = byte | 0 + if ((i + 1) % 8 == 0): + the_bytes.append(byte) + byte = 0 + #print (the_bytes) + checksum = (the_bytes[0] + the_bytes[1] + the_bytes[2] + the_bytes[3]) & 0xFF + if the_bytes[4] != checksum: + #print ("Data not good, skip") + return False + + return the_bytes[0], the_bytes[2] + + def main(): + + while True: + result = readDht11() + if result: + humidity, temperature = result + print ("humidity: %s %%, Temperature: %s C`" % (humidity, temperature)) + time.sleep(1) + + def destroy(): + GPIO.cleanup() + + if __name__ == '__main__': + try: + main() + except KeyboardInterrupt: + destroy() + +**コードの説明** + +.. code-block:: python + + def readDht11(): + GPIO.setup(dhtPin, GPIO.OUT) + GPIO.output(dhtPin, GPIO.HIGH) + time.sleep(0.05) + GPIO.output(dhtPin, GPIO.LOW) + time.sleep(0.02) + GPIO.setup(dhtPin, GPIO.IN, GPIO.PUD_UP) + unchanged_count = 0 + last = -1 + data = [] + #... + +この関数はDHT11の関数を実装するために使用される。それは検出されたデータを ``the_bytes[]`` 配列に保存する。 +DHT11は一度に40ビットのデータを点灯する。 +最初の16ビットは湿度に関連し、中央の16ビットは温度に関連し、最後の8ビットは検証に使用される。 +データ形式は次のとおりである: + +8ビット湿度整数データ +8ビット湿度10進データ +8ビット温度整数データ + 8ビット温度10進データ + 8ビットチェックビット。 + +チェックビットを介して有効性が検出されると、関数は2つの結果を返す:1. エラー; 2.湿度と温度。 + +.. code-block:: python + + checksum = (the_bytes[0] + the_bytes[1] + the_bytes[2] + the_bytes[3]) & 0xFF + if the_bytes[4] != checksum: + #print ("Data not good, skip") + return False + + return the_bytes[0], the_bytes[2] + +たとえば、受信した日付が00101011(湿度整数の8ビット値)00000000(湿度10進数の8ビット値)00111100(温度整数の8ビット値)00000000(温度10進数の8ビット値)01100111(チェックビット)の場合 + +**計算:** + +00101011+00000000+00111100+00000000=01100111. + +最終結果がチェックビットデータと等しい場合、データ送信は異常である:Falseを返す。 + +最終結果がチェックビットデータと等しく、受信データは正しい場合、 +``the_bytes[0]`` と ``the_bytes[2]`` が返され、「Humidity = 43%、Temperature= 60C」が出力される。 + +現象画像 +------------------ + +.. image:: media/image209.jpeg \ No newline at end of file diff --git a/docs/source/2.2.4_pir.rst b/docs/source/2.2.4_pir.rst new file mode 100644 index 0000000..8e197dd --- /dev/null +++ b/docs/source/2.2.4_pir.rst @@ -0,0 +1,346 @@ +2.2.4 PIR +========= + +前書き +------------ + +このプロジェクトでは、人体の赤外線焦電センサーを使用してデバイスを作成する。誰かがLEDに近づくと、LEDは自動的に点灯する。そうでない場合、ライトは消灯する。この赤外線モーションセンサーは、人間や動物が発する赤外線を検出できるセンサーの一種である。 + +部品 +---------- + +.. image:: media/list_2.2.4_pir.png + + +原理 +--------- + +PIRセンサーは、赤外線熱放射を検出し、赤外線熱放射を放出する生物の存在を検出するために使用できる。 + +PIRセンサーは差動増幅器に接続される2つのスロットに分割される。 +静止物体がセンサーの前にあるときはいつでも、二つのスロットは同じ量の放射線を受け取り、 +出力はゼロである。動いている物体がセンサーの前にあるときはいつでも、 +スロットの一つが他のスロットよりも多くの放射線を受け取り、出力を上下に変動させる。 +この出力電圧の変化は、動きの検出の結果である。 + +.. image:: media/image211.png + :width: 200 + + +検知モジュールの配線後、1分間の初期化が行われる。初期化中に、モジュールは間隔を置いて0〜3回出力する。その後、モジュールはスタンバイモードになる。干渉信号によって引き起こされる誤動作を避けるために、光源と他の源の干渉をモジュールの表面から遠ざけてください。 +風はセンサーにも干渉する可能性があるため、風があまり無くてモジュールを使用することをお勧めする。 + +.. image:: media/image212.png + :width: 400 + + + +**距離調整** + +距離調整ポテンショメータのノブを時計回りに回すと、検知距離の範囲が広がり、 +最大検知距離範囲は約0〜7メートルである。 +反時計回りに回すと、検知距離の範囲が狭くなり、最小検知距離の範囲は約0〜3メートルである。 + +**遅延調整** + +遅延調整ポテンショメーターのノブを時計回りに回すと、検知遅延が増加することも分かる。 +検知遅延の最大値は、最大300秒に達する可能性がある。 +逆に、反時計回りに回転させると、最小5秒で遅延を短縮できる。 + +二つのトリガーモード:(ジャンパーキャップを使用して異なるモードを選択する)。 + +* **H: 繰り返し可能なトリガーモード**、人体を感知した後、モジュールは高レベルを出力します。 その後の遅延期間中に、誰かが検知範囲に入ると、出力は高レベルのままになります。 + +* **L: 繰り返し不可のトリガーモード**、人体を感知すると高レベルを出力します。 遅延後、出力は自動的に高レベルから低レベルに変わります。 + + + +回路図 +----------------- + +.. image:: media/image327.png + + +実験手順 +----------------------- + +ステップ1: 回路を作る。 + +.. image:: media/image214.png + :width: 800 + + + +C言語ユーザー向け +^^^^^^^^^^^^^^^^^^^^ + +ステップ2: コードのフォルダーに入る。 + +.. raw:: html + + + +.. code-block:: + + cd /home/pi/davinci-kit-for-raspberry-pi/c/2.2.4/ + +ステップ3: コードをコンパイルする。 + +.. raw:: html + + + +.. code-block:: + + gcc 2.2.4_PIR.c -lwiringPi + +ステップ4: EXEファイルを実行する。 + +.. raw:: html + + + +.. code-block:: + + sudo ./a.out + +コードの実行後、PIR は周囲を検出し、誰かが通り過ぎるのを感知すると、 +RGB LED を黄色に点灯させます。 PIR モジュールには 2 つのポテンショメータがあり、 +1 つは感度を調整するためのもので、もう 1 つは検出距離を調整するためのものです。 +PIR モジュールがうまく機能するためには、両方を完全に反時計回りに回す必要があります。 + +.. image:: media/PIR_TTE.png + + + +**コード** + +.. code-block:: c + + #include + #include + #include + #define uchar unsigned char + + #define pirPin 0 //the pir connect to GPIO0 + #define redPin 1 + #define greenPin 2 + #define bluePin 3 + + void ledInit(void){ + softPwmCreate(redPin, 0, 100); + softPwmCreate(greenPin,0, 100); + softPwmCreate(bluePin, 0, 100); + } + void ledColorSet(uchar r_val, uchar g_val, uchar b_val){ + softPwmWrite(redPin, r_val); + softPwmWrite(greenPin, g_val); + softPwmWrite(bluePin, b_val); + } + int main(void) + { + int pir_val; + if(wiringPiSetup() == -1){ //when initialize wiring failed,print message to screen + printf("setup wiringPi failed !"); + return 1; + } + ledInit(); + pinMode(pirPin, INPUT); + while(1){ + pir_val = digitalRead(pirPin); + if(pir_val== 1){ //if read pir is HIGH level + ledColorSet(0xff,0xff,0x00); + } + else { + ledColorSet(0x00,0x00,0xff); + } + } + return 0; + } + +**コードの 説明** + +.. code-block:: c + + void ledInit(void); + void ledColorSet(uchar r_val, uchar g_val, uchar b_val); + +これらのコードは、RGB LEDの色を設定するために使用されます。詳細については、 :ref:`1.1.2 RGB LED` を参照してください。 + +.. code-block:: c + + int main(void) + { + int pir_val; + //…… + pinMode(pirPin, INPUT); + while(1){ + pir_val = digitalRead(pirPin); + if(pir_val== 1){ //if read pir is HIGH level + ledColorSet(0xff,0xff,0x00); + } + else { + ledColorSet(0x00,0x00,0xff); + } + } + return 0; + } + +PIRが人間の赤外線スペクトルを検出すると、RGB LEDが黄色の光を発する。そうでない場合は、青色の光を発する。 + +Python言語ユーザー向け +^^^^^^^^^^^^^^^^^^^^^^^^^ + +ステップ2: コードのフォルダーに入る。 + +.. raw:: html + + + +.. code-block:: + + cd /home/pi/davinci-kit-for-raspberry-pi/python/ + +ステップ3: EXEファイルを実行する。 + +.. raw:: html + + + +.. code-block:: + + sudo python3 2.2.4_PIR.py + +コードの実行後、PIR は周囲を検出し、誰かが通り過ぎるのを感知すると、 +RGB LED を黄色に点灯させます。 PIR モジュールには 2 つのポテンショメータがあり、 +1 つは感度を調整するためのもので、もう 1 つは検出距離を調整するためのものです。 +PIR モジュールがうまく機能するためには、両方を完全に反時計回りに回す必要があります。 + +.. image:: media/PIR_TTE.png + + + +**コード** + +.. note:: + + 以下のコードを **変更/リセット/コピー/実行/停止** できます。 ただし、その前に、 ``davinci-kit-for-raspberry-pi/python`` のようなソースコードパスに移動する必要があります。 + + + +.. raw:: html + + + +.. code-block:: python + + import RPi.GPIO as GPIO + import time + + rgbPins = {'Red':18, 'Green':27, 'Blue':22} + pirPin = 17 # the pir connect to pin17 + + def setup(): + global p_R, p_G, p_B + GPIO.setmode(GPIO.BCM) # Set the GPIO modes to BCM Numbering + GPIO.setup(pirPin, GPIO.IN) # Set pirPin to input + # Set all LedPin's mode to output and initial level to High(3.3v) + for i in rgbPins: + GPIO.setup(rgbPins[i], GPIO.OUT, initial=GPIO.HIGH) + + # Set all led as pwm channel and frequece to 2KHz + p_R = GPIO.PWM(rgbPins['Red'], 2000) + p_G = GPIO.PWM(rgbPins['Green'], 2000) + p_B = GPIO.PWM(rgbPins['Blue'], 2000) + + # Set all begin with value 0 + p_R.start(0) + p_G.start(0) + p_B.start(0) + + # Define a MAP function for mapping values. Like from 0~255 to 0~100 + def MAP(x, in_min, in_max, out_min, out_max): + return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min + + # Define a function to set up colors + def setColor(color): + # configures the three LEDs' luminance with the inputted color value . + # Devide colors from 'color' veriable + R_val = (color & 0xFF0000) >> 16 + G_val = (color & 0x00FF00) >> 8 + B_val = (color & 0x0000FF) >> 0 + # Map color value from 0~255 to 0~100 + R_val = MAP(R_val, 0, 255, 0, 100) + G_val = MAP(G_val, 0, 255, 0, 100) + B_val = MAP(B_val, 0, 255, 0, 100) + + #Assign the mapped duty cycle value to the corresponding PWM channel to change the luminance. + p_R.ChangeDutyCycle(R_val) + p_G.ChangeDutyCycle(G_val) + p_B.ChangeDutyCycle(B_val) + #print ("color_msg: R_val = %s, G_val = %s, B_val = %s"%(R_val, G_val, B_val)) + + def loop(): + while True: + pir_val = GPIO.input(pirPin) + if pir_val==GPIO.HIGH: + setColor(0xFFFF00) + else : + setColor(0x0000FF) + + def destroy(): + p_R.stop() + p_G.stop() + p_B.stop() + GPIO.cleanup() # Release resource + + if __name__ == '__main__': # Program start from here + setup() + try: + loop() + except KeyboardInterrupt: # When 'Ctrl+C' is pressed, the child program destroy() will be executed. + destroy() + +**コードの 説明** + +.. code-block:: python + + rgbPins = {'Red':18, 'Green':27, 'Blue':22} + + def setup(): + global p_R, p_G, p_B + GPIO.setmode(GPIO.BCM) + # …… + for i in rgbPins: + GPIO.setup(rgbPins[i], GPIO.OUT, initial=GPIO.HIGH) + p_R = GPIO.PWM(rgbPins['Red'], 2000) + p_G = GPIO.PWM(rgbPins['Green'], 2000) + p_B = GPIO.PWM(rgbPins['Blue'], 2000) + p_R.start(0) + p_G.start(0) + p_B.start(0) + + def MAP(x, in_min, in_max, out_min, out_max): + return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min + + def setColor(color): + ... + +これらのコードは、RGB LEDの色を設定するために使用されます。詳細については、 :ref:`1.1.2 RGB LED` を参照してください。 + +.. code-block:: python + + def loop(): + while True: + pir_val = GPIO.input(pirPin) + if pir_val==GPIO.HIGH: + setColor(0xFFFF00) + else : + setColor(0x0000FF) + +PIRが人間の赤外線スペクトルを検出すると、RGB LEDが黄色の光を発する。そうでない場合は、青色の光を発する。 + +現象画像 +------------------ + +.. image:: media/image215.jpeg \ No newline at end of file diff --git a/docs/source/2.2.5_ultrasonic_sensor_module.rst b/docs/source/2.2.5_ultrasonic_sensor_module.rst new file mode 100644 index 0000000..a7edaf1 --- /dev/null +++ b/docs/source/2.2.5_ultrasonic_sensor_module.rst @@ -0,0 +1,367 @@ +2.2.5 超音波センサーモジュール +============================== + +前書き +-------------- + +超音波センサーは超音波を使用して物体を正確に検出し、距離を測定する。超音波を送り出し、電子信号に変換する。 + +部品 +---------- + +.. image:: media/list_2.2.5.png + + +原理 +--------- + +**超音波** + +超音波測距モジュールは2cm-400cmの非接触測定機能を提供し、測距精度は3mmに達することができる。信号が5m以内で安定し、5m後に信号が徐々に弱まり、7mの位置が消えることを確認できる。 + +モジュールには、超音波送信機、受信機、と制御回路が含まれている。基本的な原理は次のとおりである: + +(1)IOフリップフロップを使用して、少なくとも10usの高レベル信号を処理する。 + +(2)モジュールは8つの40khzを自動的に送信し、パルス信号が戻すかどうかを検出する。 + +(3)信号が戻し、高レベルを通過する場合、高出力IO持続時間は、超音波の送信から信号の戻りまでの時間である。ここでは、テスト距離=(高時間x音速(340 m/s)/ 2。 + +.. image:: media/image217.png + :width: 200 + + + +.. image:: media/image328.png + :width: 500 + + + +タイミング図を以下に示す。トリガー入力に10usの短いパルスを供給してレンジングを開始するだけで、モジュールは40 kHzで8サイクルの超音波バーストを送信し、エコーを上げる。トリガー信号を送信してからエコー信号を受信するまでの時間間隔で範囲を計算できる。 + +式:us/58 =センチメートルまたはus/148 =インチ;または:範囲=高レベル時間 * 速度(340M/S)/ 2;トリガー信号とエコー信号の信号衝突を防ぐために、60ms以上の測定サイクルを使用することをお勧めする。 + +.. image:: media/image218.png + :width: 800 + + + +回路図 +----------------- + +.. image:: media/image329.png + + +実験手順 +----------------------- + +ステップ1: 回路を作る。 + +.. image:: media/image220.png + :width: 800 + + + +C言語ユーザー向け +^^^^^^^^^^^^^^^^^^^^ + +ステップ2: コードのフォルダーに入る。 + +.. raw:: html + + + +.. code-block:: + + cd /home/pi/davinci-kit-for-raspberry-pi/c/2.2.5/ + +ステップ3: コードをコンパイルする。 + +.. raw:: html + + + +.. code-block:: + + gcc 2.2.5_Ultrasonic.c -lwiringPi + +ステップ4: EXEファイルを実行する。 + +.. raw:: html + + + +.. code-block:: + + sudo ./a.out + +コードを実行すると、超音波センサーモジュールが前方の障害物とモジュール自体の間の距離を検出し、距離値が画面に出力される。 + +**コード** + +.. code-block:: c + + #include + #include + #include + + #define Trig 4 + #define Echo 5 + + void ultraInit(void) + { + pinMode(Echo, INPUT); + pinMode(Trig, OUTPUT); + } + + float disMeasure(void) + { + struct timeval tv1; + struct timeval tv2; + long time1, time2; + float dis; + + digitalWrite(Trig, LOW); + delayMicroseconds(2); + + digitalWrite(Trig, HIGH); + delayMicroseconds(10); + digitalWrite(Trig, LOW); + + while(!(digitalRead(Echo) == 1)); + gettimeofday(&tv1, NULL); + + while(!(digitalRead(Echo) == 0)); + gettimeofday(&tv2, NULL); + + time1 = tv1.tv_sec * 1000000 + tv1.tv_usec; + time2 = tv2.tv_sec * 1000000 + tv2.tv_usec; + + dis = (float)(time2 - time1) / 1000000 * 34000 / 2; + + return dis; + } + + int main(void) + { + float dis; + if(wiringPiSetup() == -1){ //when initialize wiring failed,print message to screen + printf("setup wiringPi failed !"); + return 1; + } + + ultraInit(); + + while(1){ + dis = disMeasure(); + printf("%0.2f cm\n\n",dis); + delay(300); + } + + return 0; + } + +**コードの説明** + +.. code-block:: c + + void ultraInit(void) + { + pinMode(Echo, INPUT); + pinMode(Trig, OUTPUT); + } + +超音波ピンを初期化する。一方、Echoを入力、Trigを出力に設定する。 + +.. code-block:: c + + float disMeasure(void){}; + +戻り検出距離を計算することにより、この機能は超音波センサーの機能を実現するために使用される。 + +.. code-block:: c + + struct timeval tv1; + struct timeval tv2; + +構造体 ``timeval`` は、現在の時刻を保存するために使用される構造体である。完全な構造は次の通りである: + +.. code-block:: c + + struct timeval + { + __time_t tv_sec; /* Seconds. */ + __suseconds_t tv_usec; /* Microseconds. */ + }; + +ここで、 ``tv_sec`` は、エポックが ``struct timeval`` を作成するときに費やした秒を表す。 ``Tv_usec`` はマイクロ秒または秒の一部を表す。 + +.. code-block:: c + + digitalWrite(Trig, HIGH); + delayMicroseconds(10); + digitalWrite(Trig, LOW); + +10usの超音波パルスが送信されている。 + +.. code-block:: c + + while(!(digitalRead(Echo) == 1)); + gettimeofday(&tv1, NULL); + +このempty loopは、トリガー信号が送信されたときに、干渉エコー信号がないことを確認してから現在の時刻を取得するために使用される。 + +.. code-block:: c + + while(!(digitalRead(Echo) == 0)); + gettimeofday(&tv2, NULL); + +このempty loopは、エコー信号が受信されて現在の時刻が取得されるまで次のステップが実行されないようにするために使用される。 + +.. code-block:: c + + time1 = tv1.tv_sec * 1000000 + tv1.tv_usec; + time2 = tv2.tv_sec * 1000000 + tv2.tv_usec; + +struct timevalによって保存された時間を完全なマイクロ秒時間に変換する。 + +.. code-block:: c + + dis = (float)(time2 - time1) / 1000000 * 34000 / 2; + +距離は時間間隔と音の伝播速度によって計算される。空気中の音速:34000cm/s。 + +Python言語ユーザー向け +^^^^^^^^^^^^^^^^^^^^^^^^^ + +ステップ2: コードのフォルダーに入る。 + +.. raw:: html + + + +.. code-block:: + + cd /home/pi/davinci-kit-for-raspberry-pi/python/ + +ステップ3: EXEファイルを実行する。 + +.. raw:: html + + + +.. code-block:: + + sudo python3 2.2.5_Ultrasonic.py + +コードを実行すると、超音波センサーモジュールが前方の障害物とモジュール自体の間の距離を検出し、距離値が画面に出力される。 + + + +**コード** + + +.. note:: + + 以下のコードを **変更/リセット/コピー/実行/停止** できます。 ただし、その前に、 ``davinci-kit-for-raspberry-pi/python`` のようなソースコードパスに移動する必要があります。 + +.. raw:: html + + + +.. code-block:: python + + import RPi.GPIO as GPIO + import time + + TRIG = 16 + ECHO = 18 + + def setup(): + GPIO.setmode(GPIO.BOARD) + GPIO.setup(TRIG, GPIO.OUT) + GPIO.setup(ECHO, GPIO.IN) + + def distance(): + GPIO.output(TRIG, 0) + time.sleep(0.000002) + + GPIO.output(TRIG, 1) + time.sleep(0.00001) + GPIO.output(TRIG, 0) + + + while GPIO.input(ECHO) == 0: + a = 0 + time1 = time.time() + while GPIO.input(ECHO) == 1: + a = 1 + time2 = time.time() + + during = time2 - time1 + return during * 340 / 2 * 100 + + def loop(): + while True: + dis = distance() + print ('Distance: %.2f' % dis) + time.sleep(0.3) + + def destroy(): + GPIO.cleanup() + + if __name__ == "__main__": + setup() + try: + loop() + except KeyboardInterrupt: + destroy() + +**コードの説明** + +.. code-block:: python + + def distance(): + +戻り検出距離を計算することにより、この機能は超音波センサーの機能を実現するために使用される。 + +.. code-block:: python + + GPIO.output(TRIG, 1) + time.sleep(0.00001) + GPIO.output(TRIG, 0) + +これは10usの超音波パルスを送信している。 + +.. code-block:: python + + while GPIO.input(ECHO) == 0: + a = 0 + time1 = time.time() + +このempty loopは、トリガー信号が送信されたときに、干渉エコー信号がないことを確認してから現在の時刻を取得するために使用される。 + +.. code-block:: python + + while GPIO.input(ECHO) == 1: + a = 1 + time2 = time.time() + +このempty loopは、エコー信号が受信されて現在の時刻が取得されるまで次のステップが実行されないようにするために使用される。 + +.. code-block:: python + + during = time2 - time1 + +間隔計算を実行する。 + +.. code-block:: python + + return during * 340 / 2 * 100 + +距離は時間間隔の光と音の伝播速度によって計算される。空気中の音速:340m / s。 + +現象画像 +------------------ + +.. image:: media/image221.jpeg \ No newline at end of file diff --git a/docs/source/2.2.6_mpu6050_module.rst b/docs/source/2.2.6_mpu6050_module.rst new file mode 100644 index 0000000..d918a6b --- /dev/null +++ b/docs/source/2.2.6_mpu6050_module.rst @@ -0,0 +1,495 @@ +2.2.6 MPU6050モジュール +======================= + + +前書き +------------ + +MPU-6050は、低消費電力、低コスト、高性能などの機能を備えたスマートフォン、タブレット、ウェアラブルセンサー向けに設計された世界初で唯一の6軸物標追跡装置(3軸ジャイロスコープと3軸加速度センサー)である。 + +この実験では、I2Cを使用して、MPU6050の3軸加速度センサーと3軸ジャイロスコープの値を取得し、画面に表示する。 + +部品 +---------- + +.. image:: media/list_2.2.6.png + +原理 +--------- + +**MPU6050** + +MPU-6050は、6軸(3軸ジャイロスコープ、3軸加速度計を組み合わせた)物標追跡装置である。 + +その三つの座標系は次のように定義される: + +MPU6050をテーブルの上に平らに置き、ラベルのある面が上向きで、 +この表面のドットが左上隅にあることを確認してください。 +次に、上向きの直立方向がチップのz軸である。左から右への方向はX軸と見なされる。 +したがって、後ろから前への方向はY軸として定義される。 + +.. image:: media/image223.png + + +**3-軸加速度計** + +加速度計は加えられた機械応力に応答して電荷を生成する特定の材料の能力である圧電効果の原理で動作する。 + +ここで、上記の写真のように、小さなボールの中に直方体の箱があることを想像してください。 +この箱の壁は圧電結晶で作られている。箱を傾けると、重力によりボールが傾斜の方向に移動する。 +ボールが衝突する壁は、小さな圧電電流を生成する。 +合計で、立方体には3組の向かい合った壁がある。 +各ペアは、3D空間の軸:X、Y、Z軸に対応する。 +圧電壁から生成される電流に応じて、傾斜の方向とその大きさを決定できる。 + +.. image:: media/image224.png + + +MPU6050を使用して、各座標軸の加速度を検出できる(静止デスクトップ状態では、Z軸の加速度は1重力単位で、X軸とY軸は0である)。傾斜または無重量/重量超過の状態にある場合、対応する測定値が変化する。 + +プログラムで選択できる測定範囲には、+/-2g、+/-4g、+/-8g、と各精度に対応する+/-16g(デフォルトでは2g)の4種類がある。値の範囲は-32768〜32767である。 + +読み取り値を測定範囲にマッピングすることにより、加速度計の読み取り値は加速度値に変換される。 + +加速度=(加速度計軸の生データ / 65536 * フルスケールの加速度範囲)g + +X軸を例として、加速度計X軸の生データは16384の場合、範囲を +/-2gに選択する: + +**X軸による加速度 = (16384 / 65536 \* 4) g** **=1g** + +**3軸ジャイロスコープ** + +ジャイロスコープはコリオリ加速の原理で動作する。 +フォークのような構造があり、常に前後に動いていると想像してください。 +圧電結晶を使用して所定の位置に保持される。 +この配置を傾けようとするたびに、結晶は傾斜の方向に力を受ける。 +これは、可動フォークの慣性の結果によって引き起こされる。 +したがって、結晶は圧電効果と一致して電流を生成し、この電流は増幅される。 + +.. image:: media/image225.png + :width: 800 + :align: center + +また、ジャイロスコープには、+ /-250、+ /-500、+ /-1000、+/- 2000.計算方法と加速は基本的に一貫している。 + +読み取り値を角速度に変換する式は次の通りである: + +角速度=(ジャイロスコープの軸生データ/ 65536 *フルスケールジャイロスコープの範囲)°/ s + +X軸、たとえば、加速度計のX軸の生データは16384で、範囲は+ /-250°/ sである: + +**X軸による角速度 = (16384 / 65536 \* 500)°/s** **=125°/s** + +回路図 +----------------- + +MPU6050はI2Cバスインターフェイスを介してマイクロコントローラーと通信する。 +SDA1とSCL1を対応するピンに接続する必要がある。 + +.. image:: media/image330.png + :width: 600 + :align: center + + +実験手順 +--------------------------- + +ステップ1: 回路を作る。 + +.. image:: media/image227.png + :width: 800 + + + +ステップ2: :ref:`i2c_config` (付録を参照してください。I2Cを設定している場合は、この手順をスキップしてください。) + +C言語ユーザー向け +^^^^^^^^^^^^^^^^^^^^ + +ステップ3: コードのフォルダーに入る。 + +.. raw:: html + + + +.. code-block:: + + cd /home/pi/davinci-kit-for-raspberry-pi/c/2.2.6/ + +ステップ4: コードをコンパイルする。 + +.. raw:: html + + + +.. code-block:: + + gcc 2.2.6_mpu6050.c -lwiringPi -lm + +ステップ5: EXEファイルを実行する。 + +.. raw:: html + + + +.. code-block:: + + sudo ./a.out + +コードを実行すると、MPU6050によって読み取られたx軸、y軸の転向角、加速度、各軸の角速度が計算後に画面に入力される。 + +**コード** + +.. code-block:: c + + #include + #include + #include + #include + int fd; + int acclX, acclY, acclZ; + int gyroX, gyroY, gyroZ; + double acclX_scaled, acclY_scaled, acclZ_scaled; + double gyroX_scaled, gyroY_scaled, gyroZ_scaled; + + int read_word_2c(int addr) + { + int val; + val = wiringPiI2CReadReg8(fd, addr); + val = val << 8; + val += wiringPiI2CReadReg8(fd, addr+1); + if (val >= 0x8000) + val = -(65536 - val); + return val; + } + + double dist(double a, double b) + { + return sqrt((a*a) + (b*b)); + } + + double get_y_rotation(double x, double y, double z) + { + double radians; + radians = atan2(x, dist(y, z)); + return -(radians * (180.0 / M_PI)); + } + + double get_x_rotation(double x, double y, double z) + { + double radians; + radians = atan2(y, dist(x, z)); + return (radians * (180.0 / M_PI)); + } + + int main() + { + fd = wiringPiI2CSetup (0x68); + wiringPiI2CWriteReg8 (fd,0x6B,0x00);//disable sleep mode + printf("set 0x6B=%X\n",wiringPiI2CReadReg8 (fd,0x6B)); + + while(1) { + + gyroX = read_word_2c(0x43); + gyroY = read_word_2c(0x45); + gyroZ = read_word_2c(0x47); + + gyroX_scaled = gyroX / 131.0; + gyroY_scaled = gyroY / 131.0; + gyroZ_scaled = gyroZ / 131.0; + + //Print values for the X, Y, and Z axes of the gyroscope sensor. + printf("My gyroX_scaled: %f\n", gyroY X_scaled); + delay(100); + printf("My gyroY_scaled: %f\n", gyroY Y_scaled); + delay(100); + printf("My gyroZ_scaled: %f\n", gyroY Z_scaled); + delay(100); + + acclX = read_word_2c(0x3B); + acclY = read_word_2c(0x3D); + acclZ = read_word_2c(0x3F); + + acclX_scaled = acclX / 16384.0; + acclY_scaled = acclY / 16384.0; + acclZ_scaled = acclZ / 16384.0; + + //Print the X, Y, and Z values of the acceleration sensor. + printf("My acclX_scaled: %f\n", acclX_scaled); + delay(100); + printf("My acclY_scaled: %f\n", acclY_scaled); + delay(100); + printf("My acclZ_scaled: %f\n", acclZ_scaled); + delay(100); + + printf("My X rotation: %f\n", get_x_rotation(acclX_scaled, acclY_scaled, acclZ_scaled)); + delay(100); + printf("My Y rotation: %f\n", get_y_rotation(acclX_scaled, acclY_scaled, acclZ_scaled)); + delay(100); + + delay(100); + } + return 0; + } + +**コードの説明** + +.. code-block:: c + + int read_word_2c(int addr) + { + int val; + val = wiringPiI2CReadReg8(fd, addr); + val = val << 8; + val += wiringPiI2CReadReg8(fd, addr+1); + if (val >= 0x8000) + val = -(65536 - val); + return val; + } + +MPU6050から送信されたセンサーデータを読み取る。 + +.. code-block:: c + + double get_y_rotation(double x, double y, double z) + { + double radians; + radians = atan2(x, dist(y, z)); + return -(radians * (180.0 / M_PI)); + } + +Y軸の転向角を取得する。 + +.. code-block:: c + + double get_x_rotation(double x, double y, double z) + { + double radians; + radians = atan2(y, dist(x, z)); + return (radians * (180.0 / M_PI)); + } + +x軸の転向角を計算する。 + +.. code-block:: c + + gyroX = read_word_2c(0x43); + gyroY = read_word_2c(0x45); + gyroZ = read_word_2c(0x47); + + gyroX_scaled = gyroX / 131.0; + gyroY_scaled = gyroY / 131.0; + gyroZ_scaled = gyroZ / 131.0; + + //Print values for the X, Y, and Z axes of the gyroscope sensor. + printf("My gyroX_scaled: %f\n", gyroY X_scaled); + printf("My gyroY_scaled: %f\n", gyroY Y_scaled); + printf("My gyroZ_scaled: %f\n", gyroY Z_scaled); + +ジャイロセンサーのx軸、y軸、z軸の値を読み取り、メタデータを角速度値に変換してから出力する。 + +.. code-block:: c + + acclX = read_word_2c(0x3B); + acclY = read_word_2c(0x3D); + acclZ = read_word_2c(0x3F); + + acclX_scaled = acclX / 16384.0; + acclY_scaled = acclY / 16384.0; + acclZ_scaled = acclZ / 16384.0; + + //Print the X, Y, and Z values of the acceleration sensor. + printf("My acclX_scaled: %f\n", acclX_scaled); + printf("My acclY_scaled: %f\n", acclY_scaled); + printf("My acclZ_scaled: %f\n", acclZ_scaled); + +加速度センサーのx軸、y軸、z軸の値を読み取り、メタデータを加速速度値(重力単位)に変換してから出力する。 + +.. code-block:: c + + printf("My X rotation: %f\n", get_x_rotation(acclX_scaled, acclY_scaled, acclZ_scaled)); + printf("My Y rotation: %f\n", get_y_rotation(acclX_scaled, acclY_scaled, acclZ_scaled)); + +x軸とy軸の転向角をプリントする。 + +Python言語ユーザー向け +^^^^^^^^^^^^^^^^^^^^^^^^^ + +ステップ3: コードのフォルダーに入る。 + +.. raw:: html + + + +.. code-block:: + + cd /home/pi/davinci-kit-for-raspberry-pi/python + +ステップ4: EXEファイルを実行する。 + +.. raw:: html + + + +.. code-block:: + + sudo python3 2.2.6_mpu6050.py + +コードを実行し、x軸とy軸の転向角、加速度とMPU6050によって読み取られた各軸の角速度は、計算後に画面に入力される。 + +**コード** + +.. note:: + + 以下のコードを **変更/リセット/コピー/実行/停止** できます。 ただし、その前に、 ``davinci-kit-for-raspberry-pi/python`` のようなソースコードパスに移動する必要があります。 + +.. raw:: html + + + +.. code-block:: python + + import smbus + import math + import time + + # Power management registers + power_mgmt_1 = 0x6b + power_mgmt_2 = 0x6c + + def read_byte(adr): + return bus.read_byte_data(address, adr) + + def read_word(adr): + high = bus.read_byte_data(address, adr) + low = bus.read_byte_data(address, adr+1) + val = (high << 8) + low + return val + + def read_word_2c(adr): + val = read_word(adr) + if (val >= 0x8000): + return -((65535 - val) + 1) + else: + return val + + def dist(a,b): + return math.sqrt((a*a)+(b*b)) + + def get_y_rotation(x,y,z): + radians = math.atan2(x, dist(y,z)) + return -math.degrees(radians) + + def get_x_rotation(x,y,z): + radians = math.atan2(y, dist(x,z)) + return math.degrees(radians) + + + bus = smbus.SMBus(1) # or bus = smbus.SMBus(1) for Revision 2 boards + address = 0x68 # This is the address value read via the i2cdetect command + + # Now wake the 6050 up as it starts in sleep mode + bus.write_byte_data(address, power_mgmt_1, 0) + + while True: + time.sleep(0.1) + gyro_xout = read_word_2c(0x43) + gyro_yout = read_word_2c(0x45) + gyro_zout = read_word_2c(0x47) + + print ("gyro_xout : ", gyro_xout, " scaled: ", (gyro_xout / 131)) + print ("gyro_yout : ", gyro_yout, " scaled: ", (gyro_yout / 131)) + print ("gyro_zout : ", gyro_zout, " scaled: ", (gyro_zout / 131)) + + accel_xout = read_word_2c(0x3b) + accel_yout = read_word_2c(0x3d) + accel_zout = read_word_2c(0x3f) + + accel_xout_scaled = accel_xout / 16384.0 + accel_yout_scaled = accel_yout / 16384.0 + accel_zout_scaled = accel_zout / 16384.0 + + print ("accel_xout: ", accel_xout, " scaled: ", accel_xout_scaled) + print ("accel_yout: ", accel_yout, " scaled: ", accel_yout_scaled) + print ("accel_zout: ", accel_zout, " scaled: ", accel_zout_scaled) + + print ("x rotation: " , get_x_rotation(accel_xout_scaled, accel_yout_scaled, accel_zout_scaled)) + print ("y rotation: " , get_y_rotation(accel_xout_scaled, accel_yout_scaled, accel_zout_scaled)) + + time.sleep(0.5) + +**コードの説明** + +.. code-block:: python + + def read_word(adr): + high = bus.read_byte_data(address, adr) + low = bus.read_byte_data(address, adr+1) + val = (high << 8) + low + return val + + def read_word_2c(adr): + val = read_word(adr) + if (val >= 0x8000): + return -((65535 - val) + 1) + else: + return val + +MPU6050から送信されたセンサーデータを読み取る。 + + +.. code-block:: python + + def get_y_rotation(x,y,z): + radians = math.atan2(x, dist(y,z)) + return -math.degrees(radians) + +y軸の転向角を計算する。 + +.. code-block:: python + + def get_x_rotation(x,y,z): + radians = math.atan2(y, dist(x,z)) + return math.degrees(radians) + +x軸の転向角を計算する。 + +.. code-block:: python + + gyro_xout = read_word_2c(0x43) + gyro_yout = read_word_2c(0x45) + gyro_zout = read_word_2c(0x47) + + print ("gyro_xout : ", gyro_xout, " scaled: ", (gyro_xout / 131)) + print ("gyro_yout : ", gyro_yout, " scaled: ", (gyro_yout / 131)) + print ("gyro_zout : ", gyro_zout, " scaled: ", (gyro_zout / 131)) + +ジャイロセンサーのx軸、y軸、z軸の値を読み取り、メタデータを角速度値に変換してから出力する。 + +.. code-block:: python + + accel_xout = read_word_2c(0x3b) + accel_yout = read_word_2c(0x3d) + accel_zout = read_word_2c(0x3f) + + accel_xout_scaled = accel_xout / 16384.0 + accel_yout_scaled = accel_yout / 16384.0 + accel_zout_scaled = accel_zout / 16384.0 + + print ("accel_xout: ", accel_xout, " scaled: ", accel_xout_scaled) + print ("accel_yout: ", accel_yout, " scaled: ", accel_yout_scaled) + print ("accel_zout: ", accel_zout, " scaled: ", accel_zout_scaled) + +加速度センサーのx軸、y軸、z軸の値を読み取り、メタデータを加速速度値(重力単位)に変換してから出力する。 + +.. code-block:: python + + print ("x rotation: " , get_x_rotation(accel_xout_scaled, accel_yout_scaled, accel_zout_scaled)) + print ("y rotation: " , get_y_rotation(accel_xout_scaled, accel_yout_scaled, accel_zout_scaled)) + +x軸とy軸の転向角をプリントする。 + +現象画像 +------------------ + +.. image:: media/image228.jpeg \ No newline at end of file diff --git a/docs/source/2.2.7_mfrc522_rfid_module.rst b/docs/source/2.2.7_mfrc522_rfid_module.rst new file mode 100644 index 0000000..08db928 --- /dev/null +++ b/docs/source/2.2.7_mfrc522_rfid_module.rst @@ -0,0 +1,291 @@ +2.2.7 MFRC522 RFIDモジュール +============================= + +前書き +--------------- + +無線周波数識別(RFID)は、オブジェクト(またはタグ)と質問デバイス(またはリーダー)の間の無線通信を使用して、そのようなオブジェクトを自動的に追跡したり識別したりする技術を指す。 + +この技術の最も一般的なアプリケーションには、小売サプライチェーン、軍事サプライチェーン、自動決済方法、荷物の追跡と管理、ドキュメントの追跡と医薬品管理などが含まれておる。 + +このプロジェクトでは、読み取りと書き込みにRFIDを使用する。 + +部品 +---------- + +.. image:: media/list_2.2.7.png + + +原理 +--------- + +**RFID** + +無線周波数識別(RFID)は、オブジェクト(またはタグ)と質問デバイス(またはリーダー)の間の無線通信を使用して、 +そのようなオブジェクトを自動的に追跡したり識別したりする技術を指す。 +タグの送信範囲はリーダーから数メートルに制限されている。 +リーダーとタグの間の明確な見通し線は必ずしも必要ではない。 + +ほとんどのタグには、少なくとも1つの集積回路(IC)とアンテナが含まれている。 +マイクロチップは情報を保存し、リーダーとの無線周波数(RF)通信を管理する。 +パッシブタグは独立したエネルギー源を持たず、リーダーによって提供される外部電磁信号に依存して動作する。 +しかしアクティブタグバッテリーなどの独立したエネルギー源が含まれている。 +したがって、処理、送信機能と範囲が拡大している可能性がある。 + +.. image:: media/image230.png + + +**MFRC522** + +MFRC522は、読み取りと書き込みカードチップの一種である。通常、13.56MHzの無線で使用される。NXP Companyによって発売された低電圧、低コスト、小型の非接触カードチップであり、インテリジェント機器と持ち転びやすい手持ちデバイスの最良の選択である。 + +MF RC522はすべてのタイプの13.56MHzパッシブ非接触通信方法とプロトコルで完全に開示された高度な変調と復調の概念を使用している。 +さらに、MIFARE製品を検証するための高速CRYPTO1暗号化アルゴリズムをサポートしている。 +MFRC522は最大424kbit/sの双方向データ伝送速度で、MIFAREシリーズの高速非接触通信もサポートしている。 +13.56MHz高集積リーダーカードシリーズの新しいメンバーとして、MF RC522は既存のMF RC500とMF RC530と非常に似ているが、多くの違いがある。 +配線が少ないシリアル方式でホストマシンと通信する。SPI、I2C、とシリアルUARTモード(RS232に類似)から選択できる。 +これにより、接続の削減、PCBボードスペースの節約(サイズの縮小)、およびコストの削減に役立つ。 + +回路図 +----------------- + +.. image:: media/image331.png + + +実験手順 +----------------------- + +ステップ1: 回路を作る + +.. image:: media/image232.png + :width: 800 + + + +ステップ2: :ref:`spi_config` (SPIを設定している場合は、このステップをスキップしてください。) + +C言語ユーザー向け +^^^^^^^^^^^^^^^^^^^^ + +ステップ3: コードのフォルダーに入る。 + +.. raw:: html + + + +.. code-block:: + + cd /home/pi/davinci-kit-for-raspberry-pi/c/2.2.7/ + +ステップ4: コードをコンパイルする。 + +.. raw:: html + + + +.. code-block:: + + make read + make write + +.. note:: + カードIDの読み取りまたは書き込みには二つの例があり、必要に応じていずれかを選択できる。 + +ステップ5: EXEファイルを実行する。 + +.. raw:: html + + + +.. code-block:: + + sudo ./read + +.. raw:: html + + + +.. code-block:: + + sudo ./write + +**コードの説明** + +.. code-block:: c + + InitRc522(); + +この関数はRFID RC522モジュールを初期化するために使用される。 + +.. code-block:: c + + uint8_t read_card_data(); + +この関数はカードのデータを読み取るために使用され、読み取りが成功すると「1」が返されます。 + +.. code-block:: c + + uint8_t write_card_data(uint8_t *data); + +この関数はカードのデータを書き込むために使用され、書き込みが成功すると「1」を返します。 ``*data`` は、カードに書き込まれる情報です。 + + + +Python言語ユーザー向け +^^^^^^^^^^^^^^^^^^^^^^^^^ + +ステップ 2: ライブラリをインストールします。 + +spidev ライブラリは、SPI との対話を処理するのに役立ち、Raspberry Pi が RFID RC522 と対話するために必要なので、このチュートリアルの重要なコンポーネントです。 + +次のコマンドを実行して、pip 経由で spidev を Raspberry Pi にインストールします。 + +.. raw:: html + + + +.. code-block:: + + sudo pip3 install spidev + + +MFRC522 ライブラリのインストールに進みます。 MFRC522 ライブラリは ``MFRC522.py`` と ``SimpleMFRC522.py`` の 2 つのファイルで構成されています。 + +``MFRC522.py`` が RFID RC522 インターフェイスの実装である場合、このライブラリは Pi の SPI インターフェイスを介して RFID と通信するという面倒な作業をすべて処理します。 + +``SimpleMFRC522.py`` は ``MFRC522.py`` ファイルを取り、少数の関数のみを扱えるようにすることでファイルを大幅に簡素化します。 + +.. raw:: html + + + +.. code-block:: + + sudo pip3 install mfrc522 + + + +ステップ3: コードのフォルダーに入る。 + +.. raw:: html + + + +.. code-block:: + + cd /home/pi/davinci-kit-for-raspberry-pi/python/2.2.7 + +ステップ4: EXEファイルを実行する。 + +.. raw:: html + + + +.. code-block:: + + sudo python3 2.2.7_read.py + +.. raw:: html + + + +.. code-block:: + + sudo python3 2.2.7_write.py + +.. note:: + + ``2.2.7_read.py`` を実行すると、カードの ID とテキストがシェルに出力されます。 + ``2.2.7_write.py`` を実行した後、最初にメッセージを書き込み、Enter を押して確認し、最後にカードを MFRC522 RFID モジュールに置いて書き込みを完了する必要があります。 + +**コード** + + +.. note:: + + 以下のコードを **変更/リセット/コピー/実行/停止** できます。 ただし、その前に、 ``davinci-kit-for-raspberry-pi/python`` のようなソースコードパスに移動する必要があります。 + +.. raw:: html + + + +.. code-block:: python + + # read + import time + from mfrc522 import SimpleMFRC522 + import RPi.GPIO as GPIO + + reader = SimpleMFRC522() + + def main(): + while True: + print("Reading...Please place the card...") + id, text = reader.read() + print("ID: %s\nText: %s" % (id,text)) + time.sleep(3) + + def destroy(): + GPIO.cleanup() + + if __name__ == '__main__': + try: + main() + # When 'Ctrl+C' is pressed, the program destroy() will be executed. + except KeyboardInterrupt: + destroy() + + +.. raw:: html + + + +.. code-block:: python + + # write + from mfrc522 import SimpleMFRC522 + import RPi.GPIO as GPIO + + reader = SimpleMFRC522() + + def main(): + while True: + text = input('Please write new data:') + print("Please place the card to complete writing") + reader.write(text) + print("Data writing is complete") + + def destroy(): + GPIO.cleanup() + + if __name__ == '__main__': + try: + main() + # When 'Ctrl+C' is pressed, the program destroy() will be executed. + except KeyboardInterrupt: + destroy() + +**コードの説明** + +.. code-block:: python + + reader = SimpleMFRC522() + +``SimpleMFRC522()`` クラスをインスタンス化します。 + +.. code-block:: python + + reader.read() + +この機能は、カードデータを読み取るために使用されます。 読み取りが成功すると、IDとテキストが返されます。 + +.. code-block:: python + + reader.write(text) + +この機能は、カードに情報を書き込むために使用されます。「Enter」キーを押して書き込みを終了します。 ``text`` は、カードに書き込まれる情報です。 + +現象画像 +------------------ + +.. image:: media/image233.jpeg \ No newline at end of file diff --git a/docs/source/2_input.rst b/docs/source/2_input.rst new file mode 100644 index 0000000..6b78ebe --- /dev/null +++ b/docs/source/2_input.rst @@ -0,0 +1,27 @@ +2 入力 +============= + +**2.1 コントローラー** + +.. toctree:: + :maxdepth: 1 + + 2.1.1_button + 2.1.2_slide Switch + 2.1.3_tilt_switch + 2.1.4_potentiometer + 2.1.5_keypad + 2.1.6_joystick + +**2.2 センサー** + +.. toctree:: + :maxdepth: 1 + + 2.2.1_photoresistor + 2.2.2_thermistor + 2.2.3_dht-11 + 2.2.4_pir + 2.2.5_ultrasonic_sensor_module + 2.2.6_mpu6050_module + 2.2.7_mfrc522_rfid_module \ No newline at end of file diff --git a/docs/source/3.1.10_alarm_bell.rst b/docs/source/3.1.10_alarm_bell.rst new file mode 100644 index 0000000..41edabb --- /dev/null +++ b/docs/source/3.1.10_alarm_bell.rst @@ -0,0 +1,416 @@ +3.1.10 警報ベル +~~~~~~~~~~~~~~~~~ + +前書き +----------------- + +このコースでは、手動警報装置を作成する。 +トグルスイッチをサーミスタまたは感光センサーに交換して、温度警報または光警報を作成できる。 + +部品 +--------------- + +.. image:: media/list_Alarm_Bell.png + :align: center + +回路図 +------------------------- + +============ ======== ======== === +T-Board Name physical wiringPi BCM +GPIO17 Pin 11 0 17 +GPIO18 Pin 12 1 18 +GPIO27 Pin 13 2 27 +GPIO22 Pin 15 3 22 +============ ======== ======== === + +.. image:: media/Schematic_three_one10.png + :align: center + +実験手順 +----------------------------- + +ステップ1: 回路を作る。 + +.. image:: media/image266.png + :alt: Alarm Bell_bb + :width: 800 + +C言語ユーザー向け +^^^^^^^^^^^^^^^^^^^^^^^^^^ + +ステップ2: ディレクトリを変更する。 + +.. raw:: html + + + +.. code-block:: + + cd /home/pi/davinci-kit-for-raspberry-pi/c/3.1.10/ + +ステップ3: コンパイルする。 + +.. raw:: html + + + +.. code-block:: + + gcc 3.1.10_AlarmBell.c -lwiringPi -lpthread + +ステップ4: 実行。 + +.. raw:: html + + + +.. code-block:: + + sudo ./a.out + +プログラムが起動すると、トグルスイッチが右に切り替わり、ブザーが警報音を出す。同時に、特定の周波数で赤と緑のLEDが点滅する。 + +**コードの説明** + +.. code-block:: c + + #include  + +このコードでは、新しいライブラリ ``thread.h`` を使用する。 +これは、一般的なスレッドライブラリのセットであり、マルチスレッドを実現できる。 +コンパイル時に ``-lpthread`` パラメーターを追加して、LEDとブザーを独立して動作させる。 + +.. code-block:: c + + void *ledWork(void *arg){        +     while(1)     +     {    +         if(flag==0){ +             pthread_exit(NULL); +         } +         digitalWrite(ALedPin,HIGH); +         delay(500); +         digitalWrite(ALedPin,LOW); +         digitalWrite(BLedPin,HIGH); +         delay(500); +         digitalWrite(BLedPin,LOW); +     } + } + +関数 ``ledWork()`` は、これら2つのLEDの動作状態を設定するために役立つ: +緑色のLEDを0.5秒間点灯させた後、消灯する。同様に、赤いLEDを0.5秒間点灯させてから消灯する。 + +.. code-block:: c + + void *buzzWork(void *arg){ +     while(1) +     { +         if(flag==0){ +             pthread_exit(NULL); +         } +         if((note>=800)||(note<=130)){ +             pitch = -pitch; +         } +         note=note+pitch; +         softToneWrite(BeepPin,note); +         delay(10); +     } + } + +関数 ``buzzWork()`` は、ブザーの動作状態を設定するために使用される。 +ここでは、周波数を130〜800に設定し、20の間隔で累積・減衰する。 + +.. code-block:: c + + void on(){ +     flag = 1; +     if(softToneCreate(BeepPin) == -1){ +         printf("setup softTone failed !"); +         return;  +     }     +     pthread_t tLed;      +     pthread_create(&tLed,NULL,ledWork,NULL);     +     pthread_t tBuzz;   +     pthread_create(&tBuzz,NULL,buzzWork,NULL);       + } + +関数 ``on()`` で: + +* 制御スレッドの終了を示すマーク「flag = 1」を定義する。 + +* ソフトウェア制御のトーンピン ``BeepPin`` を作成する。 + +* LEDとブザーが同時に動作できるように、二つの個別のスレッドを作成する。 + +``pthread_t tLed`` : スレッド tLed を宣言する。 + +``pthread_create(&tLed,NULL,ledWork,NULL)`` : スレッドを作成し、そのプロトタイプは次の通りである: ``int pthread_create(pthread_t *restrict tidp,const pthread_attr_t *restrict attr,void*(*start_rtn)(void*),void *restrict arg);`` + +**値を返す** + +成功した場合は「0」を返し、それ以外の場合は落下数「-1」を返します。 + +**パラメータ** + +* 最初のパラメーターは、スレッドIDへのポインターです。 +* 2つ目は、スレッド属性を設定するために使用されます。 +* 3番目は、スレッド実行関数の開始アドレスです。 +* 最後のものは、関数を実行するものです。 + +.. code-block:: c + + void off(){ +     flag = 0; +     softToneStop(BeepPin); +     digitalWrite(ALedPin,LOW); +     digitalWrite(BLedPin,LOW); + } + + +スレッド ``ledWork`` と ``BuzzWork`` を終了するために、 +関数 ``Off()`` は「flag = 0」を定義しそして、ブザーとLEDをオフにする。 + +.. code-block:: c + + int main(){        +     setup();  +     int lastState = 0; +     while(1){ +         int currentState = digitalRead(switchPin); +         if ((currentState == 1)&&(lastState==0)){ +             on(); +         } +         else if((currentState == 0)&&(lastState==1)){ +             off(); +         } +         lastState=currentState; +     } +     return 0; + } + +``main()`` には、プログラムのプロセス全体が含まれている:まず、スライドスイッチの値を読み取る。 +トグルスイッチが右に切り替えられた場合(読み取り値が1)、関数 ``on()`` が呼び出され、 +ブザーが駆動されて音が鳴り、赤と緑のLEDが点滅する。そうしないと、ブザーとLEDが機能しない。 + +**Python言語ユーザー向け** +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +ステップ2: ディレクトリを変更する。 + +.. raw:: html + + + +.. code-block:: + + cd /home/pi/davinci-kit-for-raspberry-pi/python/ + +ステップ3: 実行する。 + +.. raw:: html + + + +.. code-block:: + + sudo python3 3.1.10_AlarmBell.py + +プログラムが起動すると、トグルスイッチが右に切り替わり、 +ブザーが警報音を出す。同時に、特定の周波数で赤と緑のLEDが点滅する。 + + +**コード** + +.. note:: + + 以下のコードを **変更/リセット/コピー/実行/停止** できます。 ただし、その前に、 ``davinci-kit-for-raspberry-pi/python`` のようなソースコードパスに移動する必要があります。 + +.. raw:: html + + + +.. code-block:: python + + import RPi.GPIO as GPIO + import time + import threading + + BeepPin=22 + ALedPin=17 + BLedPin=27 + switchPin=18 + + Buzz=0 + flag =0 + note=150 + pitch=20 + + def setup(): + GPIO.setmode(GPIO.BCM) + GPIO.setup(BeepPin, GPIO.OUT) + GPIO.setup(ALedPin,GPIO.OUT,initial=GPIO.LOW) + GPIO.setup(BLedPin,GPIO.OUT,initial=GPIO.LOW) + GPIO.setup(switchPin,GPIO.IN) + global Buzz + Buzz=GPIO.PWM(BeepPin,note) + + def ledWork(): + while flag: + GPIO.output(ALedPin,GPIO.HIGH) + time.sleep(0.5) + GPIO.output(ALedPin,GPIO.LOW) + GPIO.output(BLedPin,GPIO.HIGH) + time.sleep(0.5) + GPIO.output(BLedPin,GPIO.LOW) + + def buzzerWork(): + global pitch + global note + while flag: + if note >= 800 or note <=130: + pitch = -pitch + note = note + pitch + Buzz.ChangeFrequency(note) + time.sleep(0.01) + + + def on(): + global flag + flag = 1 + Buzz.start(50) + tBuzz = threading.Thread(target=buzzerWork) + tBuzz.start() + tLed = threading.Thread(target=ledWork) + tLed.start() + + def off(): + global flag + flag = 0 + Buzz.stop() + GPIO.output(ALedPin,GPIO.LOW) + GPIO.output(BLedPin,GPIO.LOW) + + + def main(): + lastState=0 + while True: + currentState =GPIO.input(switchPin) + if currentState == 1 and lastState == 0: + on() + elif currentState == 0 and lastState == 1: + off() + lastState=currentState + + + def destroy(): + off() + GPIO.cleanup() + + + if __name__ == '__main__': + setup() + try: + main() + except KeyboardInterrupt: + destroy() + +**コードの説明** + +.. code-block:: python + + import threading + +ここでは、 ``Threading`` モジュールをインポートし、 +複数のことを一度に行えるようにするが、通常のプログラムはコードを上から下にしか実行できない。 +``Threading`` モジュールを使用すると、LEDとブザーを個別に動作させることができる。 + +.. code-block:: python + + def ledWork(): +     while flag: +         GPIO.output(ALedPin,GPIO.HIGH) +         time.sleep(0.5) +         GPIO.output(ALedPin,GPIO.LOW) +         GPIO.output(BLedPin,GPIO.HIGH) +         time.sleep(0.5) +         GPIO.output(BLedPin,GPIO.LOW) + +関数 ``ledWork()`` は、これら2つのLEDの動作状態を設定するために役立つ:緑色のLEDを0.5秒間点灯させた後、消灯する。 +同様に、赤いLEDを0.5秒間点灯させてから消灯する。 + +.. code-block:: python + + def buzzerWork(): +     global pitch +     global note +     while flag: +         if note >= 800 or note <=130: +             pitch = -pitch +         note = note + pitch  +         Buzz.ChangeFrequency(note) +         time.sleep(0.01) + +関数 ``buzzWork()`` は、ブザーの動作状態を設定するために使用される。 +ここでは、周波数を130〜800に設定し、20の間隔で累積・減衰する。 + +.. code-block:: python + + def on(): +     global flag +     flag = 1 +     Buzz.start(50) +     tBuzz = threading.Thread(target=buzzerWork)  +     tBuzz.start() +     tLed = threading.Thread(target=ledWork)  +     tLed.start()   + +関数 ``on()`` で: + +* 制御スレッドの終了を示すマーク「flag = 1」を定義する。 + +* バズを開始し、デューティサイクルを50%に設定する。 + +* LEDとブザ ー が同時に動作できるように、二つの個別のスレッドを作成する。 + +``tBuzz = threading.Thread(target=buzzerWork)`` : スレッドを作成すると、そのプロトタイプは以下の通りである: ``class threading.Thread(group=None, target=None, name=None, args=(), kwargs={}, \*, daemon=None)`` + +構築メソッドの中で、主要なパラメーターは ターゲット であり、呼び出し可能なオブジェクト(ここでは関数 ``ledWork`` と ``BuzzWork`` )を ターゲット に割り当てる必要がある。 + +次に、スレッドオブジェクトを開始するために ``start()`` が呼び出される。 +たとえば、 ``tBuzz.start()`` は、新しくインストールされたtBuzzスレッドを開始するために使用される。 + +.. code-block:: python + + def off(): +     global flag +     flag = 0 +     Buzz.stop() +     GPIO.output(ALedPin,GPIO.LOW) +     GPIO.output(BLedPin,GPIO.LOW) + +スレッド ``ledWork`` と ``BuzzWork`` を終了するために、 +関数 ``Off()`` は「flag = 0」を定義しそして、ブザーとLEDをオフにする。 + +.. code-block:: python + + def main(): +     lastState=0 +     while True: +         currentState =GPIO.input(switchPin) +         if currentState == 1 and lastState == 0: +             on() +         elif currentState == 0 and lastState == 1: +             off() +         lastState=currentState + +``main()`` には、プログラムのプロセス全体が含まれている: +まず、スライドスイッチの値を読み取る。 +トグルスイッチが右に切り替えられた場合(読み取り値が1)、関数 ``on()`` が呼び出され、 +ブザーが駆動されて音が鳴り、赤と緑のLEDが点滅する。そうしないと、ブザーとLEDが機能しない。 + +現象画像 +------------------------ + +.. image:: media/image267.jpeg + :align: center \ No newline at end of file diff --git a/docs/source/3.1.11_morse_code_generator.rst b/docs/source/3.1.11_morse_code_generator.rst new file mode 100644 index 0000000..15e96b7 --- /dev/null +++ b/docs/source/3.1.11_morse_code_generator.rst @@ -0,0 +1,388 @@ +3.1.11 モールス信号発生器 +~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +前書き +----------------- + +このレッスンでは、モールス符号ジェネレーターを作成する。 +ここでは、Raspberry Piに一連の英語の文字を入力して、モールス符号として表示する。 + +部品 +--------------- + +.. image:: media/list_Morse_Code_Generator.png + :align: center + +回路図 +----------------------- + +============ ======== ======== === +T-Board Name physical wiringPi BCM +GPIO17 Pin 11 0 17 +GPIO22 Pin 15 3 22 +============ ======== ======== === + +.. image:: media/Schematic_three_one11.png + :align: center + +実験手順 +---------------------------- + +ステップ1: 回路を作る。(ブザーの両極に注意してください:+ラベルが付いている方が正極で、もう一方が負極である。) + +.. image:: media/image269.png + :alt: Morse_bb + :width: 800 + +C言語ユーザー向け +^^^^^^^^^^^^^^^^^^^^^^^^^^ + +ステップ2: コードファイルを開く。 + +.. raw:: html + + + +.. code-block:: + + cd /home/pi/davinci-kit-for-raspberry-pi/c/3.1.11/ + +ステップ3: コードをコンパイルする。 + +.. raw:: html + + + +.. code-block:: + + gcc 3.1.11_MorseCodeGenerator.c -lwiringPi + +ステップ4: EXEファイルを実行する。 + +.. raw:: html + + + +.. code-block:: + + sudo ./a.out + +プログラムの実行後、一連の文字を入力すると、ブザーとLEDが対応するモールス信号を送信する。 + +**コードの説明** + +.. code-block:: c + + struct MORSE{ +     char word; +     unsigned char *code; + }; + + struct MORSE morseDict[]= + { +     {'A',"01"}, {'B',"1000"}, {'C',"1010"}, {'D',"100"}, {'E',"0"},  +     {'F',"0010"}, {'G',"110"}, {'H',"0000"}, {'I',"00"}, {'J',"0111"},  +     {'K',"101"}, {'L',"0100"}, {'M',"11"}, {'N',"10"}, {'O',"111"},  +     {'P',"0110"}, {'Q',"1101"}, {'R',"010"}, {'S',"000"}, {'T',"1"}, +     {'U',"001"}, {'V',"0001"}, {'W',"011"}, {'X',"1001"}, {'Y',"1011"},  +     {'Z',"1100"},{'1',"01111"}, {'2',"00111"}, {'3',"00011"}, {'4',"00001"},  +     {'5',"00000"},{'6',"10000"}, {'7',"11000"}, {'8',"11100"}, {'9',"11110"}, +     {'0',"11111"},{'?',"001100"}, {'/',"10010"}, {',',"110011"}, {'.',"010101"}, +     {';',"101010"},{'!',"101011"}, {'@',"011010"}, {':',"111000"} + }; + +この構造MORSEは、モールス符号のディクショナリで、文字A〜Z、数字0〜9とマークを含む「?」 「/」 「:」 「,」 「.」 「;」 「!」 「@」 . + +.. code-block:: c + + char *lookup(char key,struct MORSE *dict,int length) + { +     for (int i=0;i= 'a') && (c <= 'z')) +         return c + ('A' - 'a'); +     return c; + } + char *strupr(char *str) + { +     char *orign=str; +     for (; *str!='\0'; str++) +         *str = toupper(*str); + return orign; + } + +コーディングする前に、文字を大文字に統一しなければならない。 + +.. code-block:: c + + void main(){ +     setup(); +     char *code; +     int length=8; +     code = (char*)malloc(sizeof(char)*length); +     while (1){ +         printf("Please input the messenger:"); + delay(100); +         scanf("%s",code); +         code=strupr(code); +         printf("%s\n",code); + delay(100); +         morsecode(code); +     } + } + +キーボードで関連する文字を入力すると、 ``code = strupr(code)`` は入力文字を大文字に変換する。 + +``printf()`` はコンピューター画面にクリアテキストをプリントし、 ``morsecod()`` 関数はブザーとLEDからモールス符号を出力させる。 + +入力文字の長さは、 長さ を超えないことに注意してください(訂正可能)。 + +Python言語ユーザー向け +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +ステップ2: コードファイルを開く。 + +.. raw:: html + + + +.. code-block:: + + cd /home/pi/davinci-kit-for-raspberry-pi/python + +ステップ3: 実行する。 + +.. raw:: html + + + +.. code-block:: + + sudo python3 3.1.11_MorseCodeGenerator.py + +プログラムの実行後、一連の文字を入力すると、ブザーとLEDが対応するモールス信号を送信する。 + + +**コード** + +.. note:: + + 以下のコードを **変更/リセット/コピー/実行/停止** できます。 ただし、その前に、 ``davinci-kit-for-raspberry-pi/python`` のようなソースコードパスに移動する必要があります。 + + + +.. code-block:: python + + import RPi.GPIO as GPIO + import time + + BeepPin=22 + ALedPin=17 + + MORSECODE = { + 'A':'01', 'B':'1000', 'C':'1010', 'D':'100', 'E':'0', 'F':'0010', 'G':'110', + 'H':'0000', 'I':'00', 'J':'0111', 'K':'101', 'L':'0100', 'M':'11', 'N':'10', + 'O':'111', 'P':'0110', 'Q':'1101', 'R':'010', 'S':'000', 'T':'1', + 'U':'001', 'V':'0001', 'W':'011', 'X':'1001', 'Y':'1011', 'Z':'1100', + '1':'01111', '2':'00111', '3':'00011', '4':'00001', '5':'00000', + '6':'10000', '7':'11000', '8':'11100', '9':'11110', '0':'11111', + '?':'001100', '/':'10010', ',':'110011', '.':'010101', ';':'101010', + '!':'101011', '@':'011010', ':':'111000', + } + + def setup(): + GPIO.setmode(GPIO.BCM) + GPIO.setup(BeepPin, GPIO.OUT, initial=GPIO.LOW) + GPIO.setup(ALedPin,GPIO.OUT,initial=GPIO.LOW) + + def on(): + GPIO.output(BeepPin, 1) + GPIO.output(ALedPin, 1) + + def off(): + GPIO.output(BeepPin, 0) + GPIO.output(ALedPin, 0) + + def beep(dt): # dt for delay time. + on() + time.sleep(dt) + off() + time.sleep(dt) + + def morsecode(code): + pause = 0.25 + for letter in code: + for tap in MORSECODE[letter]: + if tap == '0': + beep(pause/2) + if tap == '1': + beep(pause) + time.sleep(pause) + + def main(): + while True: + code=input("Please input the messenger:") + code = code.upper() + print(code) + morsecode(code) + + def destroy(): + print("") + GPIO.output(BeepPin, GPIO.LOW) + GPIO.output(ALedPin, GPIO.LOW) + GPIO.cleanup() + + if __name__ == '__main__': + setup() + try: + main() + except KeyboardInterrupt: + destroy() + +**コードの説明** + +.. code-block:: python + + MORSECODE = { +     'A':'01', 'B':'1000', 'C':'1010', 'D':'100', 'E':'0', 'F':'0010', 'G':'110', +     'H':'0000', 'I':'00', 'J':'0111', 'K':'101', 'L':'0100', 'M':'11', 'N':'10', +     'O':'111', 'P':'0110', 'Q':'1101', 'R':'010', 'S':'000', 'T':'1', +     'U':'001', 'V':'0001', 'W':'011', 'X':'1001', 'Y':'1011', 'Z':'1100', +     '1':'01111', '2':'00111', '3':'00011', '4':'00001', '5':'00000', +     '6':'10000', '7':'11000', '8':'11100', '9':'11110', '0':'11111', +     '?':'001100', '/':'10010', ',':'110011', '.':'010101', ';':'101010', +     '!':'101011', '@':'011010', ':':'111000', +     } + +この構造MORSEは、モールス符号のディクショナリで、 +文字A〜Z、数字0〜9とマークを含む「?」 「/」 「:」 「,」 「.」 「;」 「!」 「@」 . + +.. code-block:: python + + def on(): +     GPIO.output(BeepPin, 1) +     GPIO.output(ALedPin, 1) + +関数 ``on()`` はブザーとLEDを起動する。 + +.. code-block:: python + + def off(): +     GPIO.output(BeepPin, 0) +     GPIO.output(ALedPin, 0) + +関数 ``off()`` はブザーとLEDをオフにする。 + +.. code-block:: python + + def beep(dt):   # x for dalay time. +     on() +     time.sleep(dt) +     off() +     time.sleep(dt) + +関数 ``beep()`` を定義して、ブザーとLEDが特定の ``dt`` 間隔で音を鳴らして点滅するようにする。 + +.. code-block:: python + + def morsecode(code): +     pause = 0.25 +     for letter in code: +         for tap in MORSECODE[letter]: +             if tap == '0': +                 beep(pause/2) +             if tap == '1': +                 beep(pause) +         time.sleep(pause) + +関数 ``morsecode()`` はコードの「1」が音または光を放射し続け、 +「0」が音または光を短時間放射することにより、入力文字のモールス符号を処理するために使用される。 +たとえば、「SOS」を入力すると、 +3つの短い、3つの長いと3つの短いセグメントを含む信号になる“ • • • - - - • • • ”。 + +.. code-block:: python + + def main(): +     while True: +         code=input("Please input the messenger:") +         code = code.upper() +         print(code) +         morsecode(code) + +キーボードで関連する文字を入力すると、 ``upper()`` は入力文字を大文字に変換する。 + +``printf()`` はコンピューター画面にクリアテキストをプリントし、 ``morsecod()`` 関数はブザーとLEDからモールス符号を出力させる。 + +現象画像 +----------------------- + +.. image:: media/image270.jpeg + :align: center \ No newline at end of file diff --git a/docs/source/3.1.12_game_guess_number.rst b/docs/source/3.1.12_game_guess_number.rst new file mode 100644 index 0000000..70fc46c --- /dev/null +++ b/docs/source/3.1.12_game_guess_number.rst @@ -0,0 +1,550 @@ +3.1.12 ゲーム–数字推測 +~~~~~~~~~~~~~~~~~~~~~~~~~ + +前書き +------------------ + +数字を推測することは、あなたとあなたの友人が交互に数字を入力する楽しいパーティーゲームである(0〜99)。 +プレーヤーがなぞなぞに正しく答えるまで、数字を入力すると範囲は小さくなる。 +その後、プレイヤーは敗北し、処罰される。たとえば、ラッキーナンバーが51で、 +プレーヤーがそれを見ることができず、プレーヤー①が50を入力する場合、番号範囲は50〜99に変わる。 +もしプレイヤー②が70を入力する場合、番号の範囲は50〜70になる。プレイヤー③が51を入力した場合、 +このプレイヤーは不運なプレイヤーである。 +ここでは、キーパッドを使用して数字を入力し、LCDを使用して結果を表示させる。 + +部品 +----------------- + +.. image:: media/list_GAME_Guess_Number.png + :align: center + +回路図 +----------------------- + +============ ======== ======== ======= +T-Board Name physical wiringPi BCM +GPIO18 Pin 12 1 18 +GPIO23 Pin 16 4 23 +GPIO24 Pin 18 5 24 +GPIO25 Pin 22 6 25 +SPIMOSI Pin 19 12 10 +GPIO22 Pin 15 3 22 +GPIO27 Pin 13 2 27 +GPIO17 Pin 11 0 17 +SDA1 Pin 3 SDA1(8) SDA1(2) +SCL1 Pin 5 SCL1(9) SDA1(3) +============ ======== ======== ======= + +.. image:: media/Schematic_three_one12.png + :align: center + +実験手順 +----------------------------- + +ステップ1: 回路を作る + +.. image:: media/image273.png + :alt: Guess Number_bb + :width: 800 + +ステップ2: :ref:`i2c_config` (付録を参照してください。I2Cを設定している場合は、この手順をスキップしてください。) + + +C言語ユーザー向け +^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +ステップ3: ディレクトリを変更する。 + +.. raw:: html + + + +.. code-block:: + + cd /home/pi/davinci-kit-for-raspberry-pi/c/3.1.12/ + +ステップ4: コンパイルする。 + +.. raw:: html + + + +.. code-block:: + + gcc 3.1.12_GAME_GuessNumber.c -lwiringPi + +ステップ5: 実行する。 + +.. raw:: html + + + +.. code-block:: + + sudo ./a.out + +プログラムの実行後、LCDに最初のページが表示される: + +.. code-block:: + + Welcome! + Press A to go! + +「A」を押すと、ゲームが開始され、ゲームページがLCDに表示される。 + +.. code-block:: + + Enter number: + 0 ‹point‹ 99 + +乱数の 「point」 が生成されるが、ゲームの開始時にLCDに表示されない。 +必要なのはそれを推測することである。 +最終計算が完了するまで入力した数値は最初の行の最後に表示される。 +(「D」を押して比較を開始し、入力値が 10 より大きい場合、自動比較が開始される。) + +「point」の番号範囲が2行目に表示される。 +そして、範囲内の数値を入力しなければならない。 +数値を入力すると、範囲が狭くなる。 +幸運にも不運にもラッキーナンバーを獲得した場合、「You've got it!」と表示される + +**コードの説明** + +コードの最初の部分は キーパッド と I2C LCD1602 の機能である。 +それらの詳細については、 :ref:`py_lcd` と :ref:`py_keypad` を参照ください。 + +ここで、以下のことをわかる必要がある: + +.. code-block:: c + + /****************************************/ + //Start from here + /****************************************/ + void init(void){ +     fd = wiringPiI2CSetup(LCDAddr); +     lcd_init(); +     lcd_clear(); +     for(int i=0 ; i<4 ; i++) { +         pinMode(rowPins[i], OUTPUT); +         pinMode(colPins[i], INPUT); +     } +     lcd_clear(); +     write(0, 0, "Welcome!"); +     write(0, 1, "Press A to go!"); + } + +この関数は元々 I2C LCD1602 と Keypad を定義し、「Welcome!」と「Press A to go!」を表示するために使用される。 + +.. code-block:: c + + void init_new_value(void){ +     srand(time(0)); +     pointValue = rand()%100; +     upper = 99; +     lower = 0; +     count = 0; +     printf("point is %d\n",pointValue); + } + +この関数は乱数 ``point`` を生成し、ポイントの範囲ヒントをリセットしする。 + +.. code-block:: c + + bool detect_point(void){ +     if(count > pointValue){ +         if(count < upper){ +             upper = count; +         } +     } +     else if(count < pointValue){ +         if(count > lower){ +             lower = count; +         } +     } +     else if(count = pointValue){ +         count = 0; +         return 1; +     } +     count = 0; +     return 0; + } + +``detect_point()`` は入力番号を生成された ``point`` と比較する。 +比較結果が同じではない場合、 ``count`` は値を 上限 と 下限 に割り当て、「 0 」を返す。 +それ以外の場合、結果が同じであると示す場合、「 1 」を返す。 + +.. code-block:: c + + void lcd_show_input(bool result){ +     char *str=NULL; +     str =(char*)malloc(sizeof(char)*3); +     lcd_clear(); +     if (result == 1){ +         write(0,1,"You've got it!"); +         delay(5000); +         init_new_value(); +         lcd_show_input(0); +         return; +     } +     write(0,0,"Enter number:"); +     Int2Str(str,count); +     write(13,0,str); +     Int2Str(str,lower); +     write(0,1,str); +     write(3,1,"='0' && pressed_keys[0] <= '9'){ +                     count = count * 10; +                     count = count + (pressed_keys[0] - 48); +                     if (count>=10){ +                         result = detect_point(); +                     } +                     lcd_show_input(result); +                 } +             } +             keyCopy(last_key_pressed, pressed_keys); +         } +         delay(100); +     } +     return 0;    + } + + +``main()`` には、以下に示すように、プログラムのプロセス全体が含まれている: + +1. I2C LCD1602 と キーパッド を初期化する。 + +#. ``init_new_value()`` を使用して、 0〜99 の乱数を作成する。 + +#. ボタンが押されているかどうかを判断し、ボタンの読み取り値を取得する。 + +#. ボタン「 A 」を押すと、 0〜99 の乱数が表示され、ゲームが開始される。 + +#. ボタン「 D 」が押されたことが検出されると、プログラムは結果判定に入り、LCDに結果を表示する。このステップは数字を1つだけ押してからボタン「 D 」を押したときの結果を判断するために役立つ。 + +#. ボタン 0-9 を押すと、coun の値が変更されます。 カウント が 10 より大きい場合、判断が開始されます。 + +#. ゲームの変化とその値は LCD1602 に表示される。 + +Python言語ユーザー向け +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +ステップ3: ディレクトリを変更する。 + +.. raw:: html + + + +.. code-block:: + + cd /home/pi/davinci-kit-for-raspberry-pi/python/ + +ステップ4: 実行。 + +.. raw:: html + + + +.. code-block:: + + sudo python3 3.1.12_GAME_GuessNumber.py + +プログラムの実行後、LCDに最初のページが表示される: + +.. code-block:: + + Welcome! + Press A to go! + +「A」を押すと、ゲームが開始され、ゲームページがLCDに表示される。 + +.. code-block:: + + Enter number: + 0 ‹point‹ 99 + +乱数の 「point」 が生成されるが、ゲームの開始時にLCDに表示されない。 +必要なのはそれを推測することである。 +最終計算が完了するまで入力した数値は最初の行の最後に表示される。(「D」を押して比較を開始し、入力値が 10 より大きい場合、自動比較が開始される。) + +「point」の番号範囲が2行目に表示される。そして、範囲内の数値を入力しなければならない。 +数値を入力すると、範囲が狭くなる。 +幸運にも不運にもラッキーナンバーを獲得した場合、「You've got it!」と表示される + + +**コード** + +.. note:: + + 以下のコードを **変更/リセット/コピー/実行/停止** できます。 ただし、その前に、 ``davinci-kit-for-raspberry-pi/python`` のようなソースコードパスに移動する必要があります。 + + +.. raw:: html + + + +.. code-block:: python + + import RPi.GPIO as GPIO + import time + import LCD1602 + import random + + ##################### HERE IS THE KEYPAD LIBRARY TRANSPLANTED FROM Arduino ############ + #class Key:Define some of the properties of Key + class Keypad(): + + def __init__(self, rowsPins, colsPins, keys): + self.rowsPins = rowsPins + self.colsPins = colsPins + self.keys = keys + GPIO.setwarnings(False) + GPIO.setmode(GPIO.BCM) + GPIO.setup(self.rowsPins, GPIO.OUT, initial=GPIO.LOW) + GPIO.setup(self.colsPins, GPIO.IN, pull_up_down=GPIO.PUD_DOWN) + + def read(self): + pressed_keys = [] + for i, row in enumerate(self.rowsPins): + GPIO.output(row, GPIO.HIGH) + for j, col in enumerate(self.colsPins): + index = i * len(self.colsPins) + j + if (GPIO.input(col) == 1): + pressed_keys.append(self.keys[index]) + GPIO.output(row, GPIO.LOW) + return pressed_keys + + ################ EXAMPLE CODE START HERE ################ + + count = 0 + pointValue = 0 + upper=99 + lower=0 + + def setup(): + global keypad, last_key_pressed,keys + rowsPins = [18,23,24,25] + colsPins = [10,22,27,17] + keys = ["1","2","3","A", + "4","5","6","B", + "7","8","9","C", + "*","0","#","D"] + keypad = Keypad(rowsPins, colsPins, keys) + last_key_pressed = [] + LCD1602.init(0x27, 1) # init(slave address, background light) + LCD1602.clear() + LCD1602.write(0, 0, 'Welcome!') + LCD1602.write(0, 1, 'Press A to Start!') + + def init_new_value(): + global pointValue,upper,count,lower + pointValue = random.randint(0,99) + upper = 99 + lower = 0 + count = 0 + print('point is %d' %(pointValue)) + + + def detect_point(): + global count,upper,lower + if count > pointValue: + if count < upper: + upper = count + elif count < pointValue: + if count > lower: + lower = count + elif count == pointValue: + count = 0 + return 1 + count = 0 + return 0 + + def lcd_show_input(result): + LCD1602.clear() + if result == 1: + LCD1602.write(0,1,'You have got it!') + time.sleep(5) + init_new_value() + lcd_show_input(0) + return + LCD1602.write(0,0,'Enter number:') + LCD1602.write(13,0,str(count)) + LCD1602.write(0,1,str(lower)) + LCD1602.write(3,1,' < Point < ') + LCD1602.write(13,1,str(upper)) + + def loop(): + global keypad, last_key_pressed,count + while(True): + result = 0 + pressed_keys = keypad.read() + if len(pressed_keys) != 0 and last_key_pressed != pressed_keys: + if pressed_keys == ["A"]: + init_new_value() + lcd_show_input(0) + elif pressed_keys == ["D"]: + result = detect_point() + lcd_show_input(result) + elif pressed_keys[0] in keys: + if pressed_keys[0] in list(["A","B","C","D","#","*"]): + continue + count = count * 10 + count += int(pressed_keys[0]) + if count >= 10: + result = detect_point() + lcd_show_input(result) + print(pressed_keys) + last_key_pressed = pressed_keys + time.sleep(0.1) + + # Define a destroy function for clean up everything after the script finished + def destroy(): + # Release resource + GPIO.cleanup() + LCD1602.clear() + + if __name__ == '__main__': # Program start from here + try: + setup() + while True: + loop() + except KeyboardInterrupt: # When 'Ctrl+C' is pressed, the program destroy() will be executed. + destroy() + +**コードの説明** + +コードの最初の部分は キーパッド と I2C LCD1602 の機能である。 +それらの詳細については、 :ref:`py_lcd` と :ref:`py_keypad` を参照ください。 + +ここで、以下のことをわかる必要がある: + + +.. code-block:: python + + def init_new_value(): +     global pointValue,upper,count,lower +     pointValue = random.randint(0,99) +     upper = 99 +     lower = 0 +     count = 0 +     print('point is %d' %(pointValue)) + +この関数は乱数「point」を生成し、ポイントの範囲ヒントをリセットしする。 + +.. code-block:: python + + def detect_point(): +     global count,upper,lower +     if count > pointValue: +         if count < upper: +             upper = count  +     elif count < pointValue: +         if count > lower: +             lower = count +     elif count == pointValue: +         count = 0 +         return 1 +     count = 0 +     return 0 + +``detect_point()`` は入力番号 ``count`` を生成された ``point`` と比較する。 +比較結果が同じではない場合、 ``count`` は値を 上限 と 下限 に割り当て、「 0 」を返す。 +それ以外の場合、結果が同じであると示す場合、「 1 」を返す。 + +.. code-block:: python + + def lcd_show_input(result): +     LCD1602.clear() +     if result == 1: +         LCD1602.write(0,1,'You have got it!') +         time.sleep(5) +         init_new_value() +         lcd_show_input(0) +         return +     LCD1602.write(0,0,'Enter number:') +     LCD1602.write(13,0,str(count)) +     LCD1602.write(0,1,str(lower)) +     LCD1602.write(3,1,' < Point < ') +     LCD1602.write(13,1,str(upper)) + +この関数はゲームページを表示するために使用される。 + +``sstr(count)`` : Because ``write()`` はデータ型のみをサポートできるため、 +文字列, ``str()`` は 数値 を 文字列 に変換するために必要である。 + +.. code-block:: python + + def loop(): +     global keypad, last_key_pressed,count +     while(True): +         result = 0 +         pressed_keys = keypad.read() +         if len(pressed_keys) != 0 and last_key_pressed != pressed_keys: +             if pressed_keys == ["A"]: +                 init_new_value() +                 lcd_show_input(0) +             elif pressed_keys == ["D"]: +                 result = detect_point() +                 lcd_show_input(result) +             elif pressed_keys[0] in keys: +                 if pressed_keys[0] in list(["A","B","C","D","#","*"]): +                     continue +                 count = count * 10 +                 count += int(pressed_keys[0]) +                 if count >= 10: +                     result = detect_point() +                 lcd_show_input(result) +             print(pressed_keys) +         last_key_pressed = pressed_keys +         time.sleep(0.1) +    + +``main()`` には、以下に示すように、プログラムのプロセス全体が含まれている: + +1. I2C LCD1602 と キーパッド を初期化する。 + +#. ボタンが押されているかどうかを判断し、ボタンの読み取り値を取得する。 + +#. ボタン「 A 」を押すと、 0〜99 の乱数が表示され、ゲームが開始される。 + +#. ボタン「 D 」が押されたことが検出されると、プログラムは結果判定に入る。 + +#. ボタン 0-9 を押すと、coun の値が変更されます。 カウント が 10 より大きい場合、判断が開始されます。 + +#. ゲームの変化とその値は LCD1602 に表示される。 + +現象画像 +------------------------ + +.. image:: media/image274.jpeg + :align: center \ No newline at end of file diff --git a/docs/source/3.1.13_game_10_second.rst b/docs/source/3.1.13_game_10_second.rst new file mode 100644 index 0000000..2895d8c --- /dev/null +++ b/docs/source/3.1.13_game_10_second.rst @@ -0,0 +1,326 @@ +3.1.13 ゲーム– 10秒 +~~~~~~~~~~~~~~~~~~~~~~ + +前書き +------------------- + +それから、あなたの集中力に挑戦できるゲームデバイスを作ろう。傾斜スイッチをスティックにつないで、魔法の棒を作る。棒を振ると、4桁のセグメントディスプレイがカウントを開始し、もう一度振るとカウントを停止する。表示されたカウントを10.00に保つことに成功した場合、あなたが勝つ。友達とゲームをプレイして、タイムウィザードが誰かを確認できる。 + +部品 +---------------- + +.. image:: media/list_GAME_10_Second.png + :align: center + +回路図 +------------------------ + +============ ======== ======== === +T-Board Name physical wiringPi BCM +GPIO17 Pin 11 0 17 +GPIO27 Pin 13 2 27 +GPIO22 Pin 15 3 22 +SPIMOSI Pin 19 12 10 +GPIO18 Pin 12 1 18 +GPIO23 Pin 16 4 23 +GPIO24 Pin 18 5 24 +GPIO26 Pin 37 25 26 +============ ======== ======== === + +.. image:: media/Schematic_three_one13.png + :align: center + +実験手順 +--------------------------------- + +ステップ1: 回路を作る。 + +.. image:: media/image277.png + :alt: 10 second_bb + :width: 800 + +C言語ユーザー向け +^^^^^^^^^^^^^^^^^^^^^^^^^ + +ステップ2: コードのフォルダーに入る。 + +.. raw:: html + + + +.. code-block:: + + cd /home/pi/davinci-kit-for-raspberry-pi/c/3.1.13/ + +ステップ3: コードをコンパイルする。 + +.. raw:: html + + + +.. code-block:: + + gcc 3.1.13_GAME_10Second.c -lwiringPi + +ステップ4: EXEファイルを実行する。 + +.. raw:: html + + + +.. code-block:: + + sudo ./a.out + +棒を振ると、4桁のセグメントディスプレイがカウントを開始し、もう一度振るとカウントを停止する。 +表示されたカウントを 10.00 に保つことに成功した場合、あなたが勝つ。 +もう一度振って、ゲームの次のラウンドを開始する。 + +**コードの説明** + +.. code-block:: c + + void stateChange(){ +     if (gameState == 0){ +         counter = 0; +         delay(1000); +         ualarm(10000,10000);  +     }else{ +         alarm(0); +         delay(1000); +     } +     gameState = (gameState + 1)%2; + } + +ゲームは二つのモードに分けられている: + +``gameState = 0`` は「開始」モードであり、このモードでは、時間を計測してセグメントディスプレイに表示し、傾斜スイッチを振って「表示」モードに入る。 + +``GameState = 1`` は「表示」モードであり、タイミングを停止し、セグメントディスプレイに時間を表示する。傾斜スイッチを再度振ると、タイマーがリセットされ、ゲームが再起動する。 + +.. code-block:: c + + void loop(){ +     int currentState =0; +     int lastState=0; +     while(1){ +         display(); +         currentState=digitalRead(sensorPin); +         if((currentState==0)&&(lastState==1)){ +             stateChange(); +         } +         lastState=currentState; +     } + } + +``Loop()`` が主な関数である。最初に、4ビットセグメントディスプレイに時間が表示され、 +傾斜スイッチの値が読み取られる。傾斜スイッチの状態が変更された場合、 ``stateChange()`` が呼び出される。 + +Python言語ユーザー向け +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +ステップ2: コードのフォルダーに入る。 + +.. raw:: html + + + +.. code-block:: + + cd /home/pi/davinci-kit-for-raspberry-pi/python/ + +ステップ3: EXEファイルを実行する。 + +.. raw:: html + + + +.. code-block:: + + sudo python3 3.1.13_GAME_10Second.py + +棒を振ると、4桁のセグメントディスプレイがカウントを開始し、 +もう一度振るとカウントを停止する。表示されたカウントを 10.00 に保つことに成功した場合、あなたが勝つ。 +もう一度振って、ゲームの次のラウンドを開始する。 + + +**コード** + +.. note:: + + 以下のコードを **変更/リセット/コピー/実行/停止** できます。 ただし、その前に、 ``davinci-kit-for-raspberry-pi/python`` のようなソースコードパスに移動する必要があります。 + + +.. raw:: html + + + +.. code-block:: python + + import RPi.GPIO as GPIO + import time + import threading + + sensorPin = 26 + + SDI = 24 + RCLK = 23 + SRCLK = 18 + + placePin = (10, 22, 27, 17) + number = (0xc0, 0xf9, 0xa4, 0xb0, 0x99, 0x92, 0x82, 0xf8, 0x80, 0x90) + + counter = 0 + timer =0 + gameState =0 + + def clearDisplay(): + for i in range(8): + GPIO.output(SDI, 1) + GPIO.output(SRCLK, GPIO.HIGH) + GPIO.output(SRCLK, GPIO.LOW) + GPIO.output(RCLK, GPIO.HIGH) + GPIO.output(RCLK, GPIO.LOW) + + def hc595_shift(data): + for i in range(8): + GPIO.output(SDI, 0x80 & (data << i)) + GPIO.output(SRCLK, GPIO.HIGH) + GPIO.output(SRCLK, GPIO.LOW) + GPIO.output(RCLK, GPIO.HIGH) + GPIO.output(RCLK, GPIO.LOW) + + def pickDigit(digit): + for i in placePin: + GPIO.output(i,GPIO.LOW) + GPIO.output(placePin[digit], GPIO.HIGH) + + def display(): + global counter + clearDisplay() + pickDigit(0) + hc595_shift(number[counter % 10]) + + clearDisplay() + pickDigit(1) + hc595_shift(number[counter % 100//10]) + + clearDisplay() + pickDigit(2) + hc595_shift(number[counter % 1000//100]-0x80) + + clearDisplay() + pickDigit(3) + hc595_shift(number[counter % 10000//1000]) + + def stateChange(): + global gameState + global counter + global timer1 + if gameState == 0: + counter = 0 + time.sleep(1) + timer() + elif gameState ==1: + timer1.cancel() + time.sleep(1) + gameState = (gameState+1)%2 + + def loop(): + global counter + currentState = 0 + lastState = 0 + while True: + display() + currentState=GPIO.input(sensorPin) + if (currentState == 0) and (lastState == 1): + stateChange() + lastState=currentState + + def timer(): + global counter + global timer1 + timer1 = threading.Timer(0.01, timer) + timer1.start() + counter += 1 + + def setup(): + GPIO.setmode(GPIO.BCM) + GPIO.setup(SDI, GPIO.OUT) + GPIO.setup(RCLK, GPIO.OUT) + GPIO.setup(SRCLK, GPIO.OUT) + for i in placePin: + GPIO.setup(i, GPIO.OUT) + GPIO.setup(sensorPin, GPIO.IN) + + def destroy(): # When \"Ctrl+C\" is pressed, the function is executed. + GPIO.cleanup() + global timer1 + timer1.cancel() + + if __name__ == '__main__': # Program starting from here + setup() + try: + loop() + except KeyboardInterrupt: + destroy() + +**コードの説明** + +.. code-block:: python + + def stateChange(): +     global gameState +     global counter +     global timer1 +     if gameState == 0: +         counter = 0 +         time.sleep(1) +         timer()  +     elif gameState ==1: +         timer1.cancel() +         time.sleep(1) +     gameState = (gameState+1)%2 + +ゲームは二つのモードに分けられている: + +``gameState = 0`` は「開始」モードであり、このモードでは、時間を計測してセグメントディスプレイに表示し、傾斜スイッチを振って「表示」モードに入る。 + +``GameState = 1`` は「表示」モードであり、タイミングを停止し、セグメントディスプレイに時間を表示する。傾斜スイッチを再度振ると、タイマーがリセットされ、ゲームが再起動する。 + +.. code-block:: python + + def loop(): +     global counter +     currentState = 0 +     lastState = 0 +     while True: +         display() +         currentState=GPIO.input(sensorPin) +         if (currentState == 0) and (lastState == 1): +             stateChange() +         lastState=currentState + +``loop()`` が主な関数である。最初に、4ビットセグメントディスプレイに時間が表示され、 +傾斜スイッチの値が読み取られる。 +傾斜スイッチの状態が変更された場合、 ``stateChange()`` が呼び出される。 + +.. code-block:: python + + def timer(): + global counter + global timer1 + timer1 = threading.Timer(0.01, timer) + timer1.start() + counter += 1 + +間隔が0.01秒に達すると、Timer関数が呼び出される。カウンターに1を追加すると、タイマーが再び使用されて、0.01秒ごとに繰り返し実行される。 + +現象画像 +----------------------- + +.. image:: media/image278.jpeg + :align: center + + + diff --git a/docs/source/3.1.14_game_not_not.rst b/docs/source/3.1.14_game_not_not.rst new file mode 100644 index 0000000..0d502e9 --- /dev/null +++ b/docs/source/3.1.14_game_not_not.rst @@ -0,0 +1,566 @@ +3.1.14 ゲーム–Not Not-頭脳耐久ゲーム +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +前書き +-------------------- + +このレッスンでは、面白いゲームデバイスを作成し、「Not Not」と呼ぶ。 + +ゲーム中、ドットマトリックスは矢印をランダムに更新する。必要なのは、限られた時間内に矢印の反対方向にボタンを押すことである。時間になった場合、または矢印と同じ方向のボタンが押された場合、敗北すると意味する。 + +このゲームは本当にあなたの逆思考を実践することができる。 + +部品 +--------------- + +.. image:: media/list_GAME_Not_Not.png + :align: center + +回路図 +----------------------- + +============ ======== ======== === +T-Board Name physical wiringPi BCM +GPIO17 Pin 11 0 17 +GPIO18 Pin 12 1 18 +GPIO27 Pin 13 2 27 +GPIO20 Pin 38 28 20 +GPIO26 Pin 37 25 26 +============ ======== ======== === + +.. image:: media/Schematic_three_one14.png + :align: center + +実験手順 +----------------------------- + +ステップ1: 回路を作る。 + +.. image:: media/image280.png + :width: 800 + + +C言語ユーザー向け +^^^^^^^^^^^^^^^^^^^^^^^^^^ + +ステップ2: コードのフォルダに移動します。 + +.. raw:: html + + + +.. code-block:: + + cd /home/pi/davinci-kit-for-raspberry-pi/c/3.1.14/ + +ステップ3: コンパイルします。 + +.. raw:: html + + + +.. code-block:: + + gcc 3.1.14_GAME_NotNot.c -lwiringPi + +ステップ4: 実行します。 + +.. raw:: html + + + +.. code-block:: + + sudo ./a.out + +プログラムの開始後、左矢印または右矢印がドットマトリックス上でランダムに更新されます。 +限られた時間内に矢印の反対方向にボタンを押す必要があります。 +次に、「√」がドットマトリックスに表示されます。 +時間切れの場合、または矢印と同じ方向のボタンが押された場合は、 +外に出て、ドットマトリックスに「x」が表示されます。 +また、2つの新しいボタンを追加したり、上下左右のジョイスティックキーに置き換えたりすることもできます。 +4方向でゲームの難易度を上げることができます。 + + + +**コードの説明** + +1.1.6 LEDドットマトリックス に基づいて、このレッスンでは 2 ボタンを追加して面白いゲームデバイスを作成します。 したがって、ドットマトリックスにあまり詳しくない場合は、 :ref:`py_led_matrix` を参照してください。 + +プログラム全体のプロセスは次のとおりである: + +1. 矢印の方向をランダムに選択し、 タイマー1 を生成する。 + +#. ドットマトリックスに矢印画像を表示する。 + +#. ボタン入力を判断する。ボタンが押されるか、 タイマー1 が時間切れを想起させると、判定が開始される。 + +#. 判定結果に基づいて画像を表示する。その間、 タイマー2 を生成する。 + +#. タイマー2 が時間切れを想起させると、 ステップ1 を再実行する。 + +.. code-block:: c + + struct GLYPH{ +     char *word; +     unsigned char code[8]; + }; + + struct GLYPH arrow[2]= + { +     {"right",{0xFF,0xEF,0xDF,0x81,0xDF,0xEF,0xFF,0xFF}}, +     // {"down",{0xFF,0xEF,0xC7,0xAB,0xEF,0xEF,0xEF,0xFF}}, +     // {"up",{0xFF,0xEF,0xEF,0xEF,0xAB,0xC7,0xEF,0xFF}},     +     {"left",{0xFF,0xF7,0xFB,0x81,0xFB,0xF7,0xFF,0xFF}} + }; + + struct GLYPH check[2]= + { +     {"wrong",{0xFF,0xBB,0xD7,0xEF,0xD7,0xBB,0xFF,0xFF}}, +     {"right",{0xFF,0xFF,0xF7,0xEB,0xDF,0xBF,0xFF,0xFF}} + }; + +GLYPH構造は辞書のように動作します。 ``word`` 属性は辞書の **key** に対応し、 ``code`` 属性は **value** に対応します。 + +ここでは、ドットマトリックスが画像を表示するための配列(8×8ビットの配列)を格納するためのコードを使用しています。 + +ここでは、配列 ``arrow`` を用いて、上下左右の矢印パターンをLEDドットマトリクスに表示することができます。 + +上下 が付注され、必要に応じて解除できる。 + +配列 ``check`` を使用して、これらの2つの画像「 × 」と「 √ 」を表示する。 + +.. code-block:: c + + char *lookup(char *key,struct GLYPH *glyph,int length){ +     for (int i=0;i>i); +         hc595_out(); +     } + } + +指定したパターンをドットマトリックスに表示する。 + +.. code-block:: c + + void createGlyph(){ +     srand(time(NULL)); +     int i=rand()%(sizeof(arrow)/sizeof(arrow[0])); +     waypoint=arrow[i].word; +     stage="PLAY"; +     alarm(2); + } + + + +関数 ``createGlyph()`` を使用して、方向(配列 ``arrow[]`` の要素の単語属性:"left"、"right" ...)をランダムに選択する。 +ステージを「PLAY」に設定し、2秒の目覚まし時計機能を開始する。 + +``srand(time(NULL))`` : システムクロックからのランダムシードを初期化する。 + +``(sizeof(arrow)/sizeof(arrow[0]))`` : 配列の長さを取得し、結果は2である。 + +``rand()%2`` : 余りは 0 または 1 で、生成された乱数を2で割ったものである。 + +``waypoint=arrow[i].word`` : 結果は「right」または「left」でなければならない。 + + + +.. code-block:: c + + void checkPoint(char *inputKey){ +     alarm(0)==0; +     if(inputKey==waypoint||inputKey=="empty") +     { +         waypoint="wrong"; +     } +     else{ +         waypoint="right"; +     } +     stage="CHECK"; +     alarm(1); + } + +``checkPoint()`` は、ボタンの入力をチェックするためのもので、ボタンが押されていなかったり、 +矢印と同じ方向のボタンが押されていたりすると、 +ウェイポイントの結果がおかしくなり、ドットマトリクスに「x」と表示されます。 +そうでなければ、ウェイポイントの結果は正しく、ドットマトリクスには「√」と表示されます。 +ここでは、ステージ が CHECK となり、1秒単位の目覚まし時計機能を設定することができます。 + +``alarm()`` は「目覚まし時計」とも呼ばれ、タイマーを設定し、 +設定した時間が経過すると SIGALRM 信号をプログレスに送信します。 + +.. code-block:: c + + void getKey(){ +     if (digitalRead(AButtonPin)==1&&digitalRead(BButtonPin)==0) +     {checkPoint("right");} +     else if (digitalRead(AButtonPin)==0&&digitalRead(BButtonPin)==1) +     {checkPoint("left");} + } + +``getKey()`` は、これら2つのボタンの状態を読み取ります。 +右ボタンが押されている場合、関数 ``checkPoint()`` のパラメータは right 、 +左ボタンが押されている場合、パラメータは left となります。 + +.. code-block:: c + + void timer(){ +     if (stage=="PLAY"){ +         checkPoint("empty"); +     } +     else if(stage=="CHECK"){ +         createGlyph(); +     } + } + + + +これまでは、 ``alarm()`` が鳴ったときに ``timer()`` が呼ばれていました。 +そして、「PLAY」モードでは、結果を判断するために ``checkPoint()`` を呼び出すことになっています。 +「CHECK」モードの場合は、 ``createGlyph()`` を呼び出してパターンを選択します。 + +.. code-block:: c + + void main(){ +     setup(); +     signal(SIGALRM,timer); +     createGlyph(); +     char *code = NULL; +     while(1){ +         if (stage == "PLAY") +         { +             code=lookup(waypoint,arrow,sizeof(arrow)/sizeof(arrow[0])); +             display(code); +             getKey(); +         } +         else if(stage == "CHECK") +         { +             code = lookup(waypoint,check,sizeof(check)/sizeof(check[0])); +             display(code); +         } +     } + } + +関数 ``signal(SIGALRM、timer)`` の動作:(目覚まし時計関数alarm()によって生成された)SIGALRM信号を受信したときに関数timer()を呼び出す。 + +プログラムが起動したら、最初に1回だけcreateGlyph()を呼び出してから、ループを開始します。 + +ループ内:PLAYモードでは、ドットマトリックスに矢印パターンが表示され、ボタンの状態が確認されます。 チェックモードの場合、表示されるのは「x」または「√」です。 + +Python言語ユーザー向け +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +ステップ2:コードのフォルダーに入ります。 + +.. raw:: html + + + +.. code-block:: + + cd /home/pi/davinci-kit-for-raspberry-pi/python + +ステップ3:実行します。 + +.. raw:: html + + + +.. code-block:: + + sudo python3 3.1.14_GAME_NotNot.py + +プログラムを起動すると、ドットマトリックス上に右または左を指す矢印が表示されます。 +あなたがする必要があるのは、限られた時間内に矢印の反対方向にボタンを押すことです。 +次に、「√」がドットマトリックスに表示されます。 +時間切れの場合、または矢印と同じ方向のボタンが押された場合は、 +外に出て、ドットマトリックスに「x」が表示されます。 +また、2つの新しいボタンを追加したり、上下左右のジョイスティックキーに置き換えたりすることもできます。 +4方向でゲームの難易度を上げることができます。 + + +**コード** + +.. note:: + + 以下のコードを **変更/リセット/コピー/実行/停止** できます。 ただし、その前に、 ``davinci-kit-for-raspberry-pi/python`` のようなソースコードパスに移動する必要があります。 + + +.. raw:: html + + + +.. code-block:: python + + import RPi.GPIO as GPIO + import time + import threading + import random + + SDI = 17 + RCLK = 18 + SRCLK = 27 + + timerPlay = 0 + timerCheck = 0 + + AButtonPin = 20 + BButtonPin = 26 + + waypoint = "NULL" + stage = "NULL" + + arrow={ + #"down" :[0xFF,0xEF,0xC7,0xAB,0xEF,0xEF,0xEF,0xFF], + #"up":[0xFF,0xEF,0xEF,0xEF,0xAB,0xC7,0xEF,0xFF], + "right" : [0xFF,0xEF,0xDF,0x81,0xDF,0xEF,0xFF,0xFF], + "left":[0xFF,0xF7,0xFB,0x81,0xFB,0xF7,0xFF,0xFF] + } + check={ + "wrong":[0xFF,0xBB,0xD7,0xEF,0xD7,0xBB,0xFF,0xFF], + "right":[0xFF,0xFF,0xF7,0xEB,0xDF,0xBF,0xFF,0xFF] + } + + def setup(): + GPIO.setmode(GPIO.BCM) # Number GPIOs by its BCM location + GPIO.setup(SDI, GPIO.OUT) + GPIO.setup(RCLK, GPIO.OUT) + GPIO.setup(SRCLK, GPIO.OUT) + GPIO.output(SDI, GPIO.LOW) + GPIO.output(RCLK, GPIO.LOW) + GPIO.output(SRCLK, GPIO.LOW) + GPIO.setup(AButtonPin,GPIO.IN) + GPIO.setup(BButtonPin,GPIO.IN) + + # Shift the data to 74HC595 + def hc595_shift(dat): + for bit in range(0, 8): + GPIO.output(SDI, 0x80 & (dat << bit)) + GPIO.output(SRCLK, GPIO.HIGH) + GPIO.output(SRCLK, GPIO.LOW) + + def display(glyphCode): + for i in range(0, 8): + hc595_shift(glyphCode[i]) + hc595_shift(0x80>>i) + GPIO.output(RCLK, GPIO.HIGH) + GPIO.output(RCLK, GPIO.LOW) + + def creatGlyph(): + global waypoint + global stage + global timerPlay + waypoint=random.choice(list(arrow.keys())) + stage = "PLAY" + timerPlay = threading.Timer(2.0, timeOut) + timerPlay.start() + + def checkPoint(inputKey): + global waypoint + global stage + global timerCheck + if inputKey == "empty" or inputKey == waypoint: + waypoint = "wrong" + else: + waypoint = "right" + timerPlay.cancel() + stage = "CHECK" + timerCheck = threading.Timer(1.0, creatGlyph) + timerCheck.start() + + def timeOut(): + checkPoint("empty") + + def getKey(): + if GPIO.input(AButtonPin)==1 and GPIO.input(BButtonPin)==0: + checkPoint("right") + elif GPIO.input(AButtonPin)==0 and GPIO.input(BButtonPin)==1: + checkPoint("left") + + def main(): + creatGlyph() + while True: + if stage == "PLAY": + display(arrow[waypoint]) + getKey() + elif stage == "CHECK": + display(check[waypoint]) + + def destroy(): + global timer1 + GPIO.cleanup() + timerPlay.cancel() # cancel the timer + timerCheck.cancel() + + if __name__ == '__main__': + setup() + try: + main() + except KeyboardInterrupt: + destroy() + +**コードの 説明** + +1.1.6 LEDドットマトリックス に基づいて、 +このレッスンでは 2 ボタンを追加して面白いゲームデバイスを作成します。 +したがって、ドットマトリックスにあまり詳しくない場合は、:ref:`py_led_matrix` を参照してください。 + +プログラム全体のプロセスは次のとおりである: + +.. image:: media/notnot3.png + :width: 800 + +1. 矢印の方向をランダムに選択し、 タイマー1 を生成する。 + +#. ドットマトリックスに対応する矢印画像を表示する。 + +#. ボタン入力を判断する。ボタンが押されるか、 タイマー1 が時間切れを想起させると、判定が開始される。 + +#. 判定結果に基づいて画像を表示する。その間、 タイマー2 を生成する。 + +#. タイマー2 が時間切れを想起させると、 ステップ1 を再実行する。 + +.. code-block:: python + + def main(): +     creatGlyph() +     while True: +         if stage == "PLAY": +             display(arrow[waypoint]) +             getKey() +         elif stage == "CHECK": +             display(check[waypoint]) + +``main()`` には実行中のプロセス全体が含まれている。 + +プログラムが起動したら、最初に1回だけ ``createGlyph()`` を呼び出してから、ループを開始します。 + +ループ内:PLAYモードでは、ドットマトリックスに矢印パターンが表示され、ボタンの状態が確認されます。 +チェックモードの場合、表示されるのは「x」または「√」です。 + +.. code-block:: python + + arrow={ +     #"down" :[0xFF,0xEF,0xC7,0xAB,0xEF,0xEF,0xEF,0xFF], +     #"up":[0xFF,0xEF,0xEF,0xEF,0xAB,0xC7,0xEF,0xFF], +     "right" : [0xFF,0xEF,0xDF,0x81,0xDF,0xEF,0xFF,0xFF],     +     "left":[0xFF,0xF7,0xFB,0x81,0xFB,0xF7,0xFF,0xFF] + } + check={ +     "wrong":[0xFF,0xBB,0xD7,0xEF,0xD7,0xBB,0xFF,0xFF], +     "right":[0xFF,0xFF,0xF7,0xEB,0xDF,0xBF,0xFF,0xFF] + } + +ここで、辞書 矢印を使用して、LEDドットマトリックス上で上、下、左、右の方向に矢印パターンを表示できます。 + +上下が付注され、必要に応じて解除できる。 + +辞書 チェックは、「×」と「√」の2つの画像を表示するために使用されます。 + +.. code-block:: python + + def display(glyphCode): +     for i in range(0, 8): +         hc595_shift(glyphCode[i]) +         hc595_shift(0x80>>i) +         GPIO.output(RCLK, GPIO.HIGH) +         GPIO.output(RCLK, GPIO.LOW) + +指定したパターンをドットマトリックスに表示する。 + +.. code-block:: python + + def creatGlyph(): +     global waypoint +     global stage +     global timerPlay     +     waypoint=random.choice(list(arrow.keys())) +     stage = "PLAY" +     timerPlay = threading.Timer(2.0, timeOut)   +     timerPlay.start() + +関数 ``createGlyph()`` を使用して、方向(配列 ``arrow[]`` の要素の単語属性:"left"、"right" ...)をランダムに選択する。 +ステージを「PLAY」に設定し、2秒の目覚まし時計機能を開始する。 + +``arrow.keys()``: 矢印配列のキー「右」と「左」を選択する。 + +``list(arrow.keys())`` : これらのキーを配列に結合する。 + +``random.choice(list(arrow.keys()))`` : 配列内の要素をランダムに選択する。 + +したがって、 ``waypoint = random.choice(list(arrow.keys()))`` の結果は「右」または「左」になります。 + +.. code-block:: python + + def checkPoint(inputKey): +     global waypoint +     global stage +     global timerCheck     +     if inputKey == "empty" or inputKey == waypoint: +         waypoint = "wrong" +     else: +         waypoint = "right" +     timerPlay.cancel() +     stage = "CHECK" +     timerCheck = threading.Timer(1.0, creatGlyph) +     timerCheck.start()   + + +``checkPoint()`` はボタン入力の現在の状態を検出する: + +ボタンが押されていないか、 +矢印と同じ方向のボタンが押されている場合、 ``waypoint`` の割り当てられた値は ``wrong`` 、 +ドットマトリックスに x が表示されます。 + +それ以外の場合、ウェイポイントは正しく、「 √ 」が表示される。 + +これで、ステージは 「 CHECK 」 になり、 +1秒のタイマー ``timerCheck`` を開始して、関数 ``creatGlyph()`` を1秒で呼び出します。 + + +.. code-block:: python + + def timeOut():   +     checkPoint("empty") + +関数 ``timeout()`` で、 ``checkPoint()`` のパラメーターを「empty」に設定します。 + +.. code-block:: python + + def getKey(): +     if GPIO.input(AButtonPin)==1 and GPIO.input(BButtonPin)==0: +         checkPoint("right") +     elif GPIO.input(AButtonPin)==0 and GPIO.input(BButtonPin)==1: +         checkPoint("left") + +``getKey()`` は、これら2つのボタンの状態を読み取り、 +右ボタンが押された場合、 ``checkPoint()`` のパラメーターは 右 です。 +左ボタンが押された場合、パラメータは 左 です。 + +現象画像 +------------------------ + +.. image:: media/image281.jpeg + :align: center \ No newline at end of file diff --git a/docs/source/3.1.1_counting_device.rst b/docs/source/3.1.1_counting_device.rst new file mode 100644 index 0000000..3bd478f --- /dev/null +++ b/docs/source/3.1.1_counting_device.rst @@ -0,0 +1,306 @@ +3.1.1 計数装置 +~~~~~~~~~~~~~~~~~~~~~ + +前書き +----------------- + +ここでは、PIRセンサーと4桁のセグメントディスプレイで構成される数字表示カウンターシステムを作成する。 +PIRが誰かが通り過ぎていることを検出すると、4桁のセグメントディスプレイの数字に1が加算される。 +このカウンターを使用して、通路を歩いている人の数をカウントできる。 + +部品 +--------------- + +.. image:: media/list_Counting_Device1.png + :align: center + +.. image:: media/list_Counting_Device2.png + :align: center + +回路図 +---------------------- + +============ ======== ======== === +T-Board Name physical wiringPi BCM +GPIO17 Pin 11 0 17 +GPIO27 Pin 13 2 27 +GPIO22 Pin 15 3 22 +SPIMOSI Pin 19 12 10 +GPIO18 Pin 12 1 18 +GPIO23 Pin 16 4 23 +GPIO24 Pin 18 5 24 +GPIO26 Pin 37 25 26 +============ ======== ======== === + +.. image:: media/Schematic_three_one1.png + :align: center + +実験手順 +----------------------------- + +ステップ1: 回路を作る。 + +.. image:: media/image235.png + :alt: 计数器_bb + :width: 800 + +C言語ユーザー向け +^^^^^^^^^^^^^^^^^^^^^^^^^ + +ステップ2: コードのフォルダーに入る。 + +.. raw:: html + + + +.. code-block:: + + cd /home/pi/davinci-kit-for-raspberry-pi/c/3.1.1/ + +ステップ3: コードをコンパイルする。 + +.. raw:: html + + + +.. code-block:: + + gcc 3.1.1_CountingDevice.c -lwiringPi + +ステップ4: EXEファイルを実行する。 + +.. raw:: html + + + +.. code-block:: + + sudo ./a.out + +コードの実行後、PIRが誰かが通り過ぎていることを検出すると、4桁のセグメントディスプレイの数字に1が加算される。 + +PIR モジュールには 2 つのポテンショメータがあり、 +1 つは感度を調整するためのもので、もう 1 つは検出距離を調整するためのものです。 +PIR モジュールがうまく機能するためには、両方を完全に反時計回りに回す必要があります。 + + + +**コードの説明** + +.. code-block:: c + + void display() + { +     clearDisplay(); +     pickDigit(0); +     hc595_shift(number[counter % 10]); + +     clearDisplay(); +     pickDigit(1); +     hc595_shift(number[counter % 100 / 10]); + +     clearDisplay(); +     pickDigit(2); +     hc595_shift(number[counter % 1000 / 100]); +   +     clearDisplay(); +     pickDigit(3); +     hc595_shift(number[counter % 10000 / 1000]); + } + +まず、4番目のセグメントディスプレイを開始し、1桁の数字を書き込む。 +次に、3番目のセグメントディスプレイを開始し、10桁の数字を入力する。 +その後、2番目と1番目のセグメントディスプレイをそれぞれ開始し、それぞれ数百桁と数千桁を書き込む。 +リフレッシュ速度が非常に速いため、完全な4桁のディスプレイが表示される。 + +.. code-block:: c + + void loop(){ +     int currentState =0; +     int lastState=0; +     while(1){ +         display(); +         currentState=digitalRead(sensorPin); +         if((currentState==0)&&(lastState==1)){ +             counter +=1; +         } +         lastState=currentState; +     } + } + +これが主な機能である:4桁のセグメントディスプレイに数字を表示し、PIR値を読み取る。 +PIRが誰かが通り過ぎていることを検出すると、4桁のセグメントディスプレイの数字に1が加算される。 + +Python言語ユーザー向け +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +ステップ2: コードのフォルダーに入る。 + +.. raw:: html + + + +.. code-block:: + + cd /home/pi/davinci-kit-for-raspberry-pi/python/ + +ステップ3: EXEファイルを実行する。 + +.. raw:: html + + + +.. code-block:: + + sudo python3 3.1.1_CountingDevice.py + +コードの実行後、PIRが誰かが通り過ぎていることを検出すると、 +4桁のセグメントディスプレイの数字に1が加算される。 + + +**コード** + +.. note:: + + 以下のコードを **変更/リセット/コピー/実行/停止** できます。 ただし、その前に、 ``davinci-kit-for-raspberry-pi/python`` のようなソースコードパスに移動する必要があります。 + +.. raw:: html + + + +.. code-block:: python + + import RPi.GPIO as GPIO + import time + + sensorPin = 26 + + SDI = 24 + RCLK = 23 + SRCLK = 18 + + placePin = (10, 22, 27, 17) + number = (0xc0, 0xf9, 0xa4, 0xb0, 0x99, 0x92, 0x82, 0xf8, 0x80, 0x90) + + counter = 0 + + def clearDisplay(): + for i in range(8): + GPIO.output(SDI, 1) + GPIO.output(SRCLK, GPIO.HIGH) + GPIO.output(SRCLK, GPIO.LOW) + GPIO.output(RCLK, GPIO.HIGH) + GPIO.output(RCLK, GPIO.LOW) + + def hc595_shift(data): + for i in range(8): + GPIO.output(SDI, 0x80 & (data << i)) + GPIO.output(SRCLK, GPIO.HIGH) + GPIO.output(SRCLK, GPIO.LOW) + GPIO.output(RCLK, GPIO.HIGH) + GPIO.output(RCLK, GPIO.LOW) + + def pickDigit(digit): + for i in placePin: + GPIO.output(i,GPIO.LOW) + GPIO.output(placePin[digit], GPIO.HIGH) + + def display(): + global counter + clearDisplay() + pickDigit(0) + hc595_shift(number[counter % 10]) + + clearDisplay() + pickDigit(1) + hc595_shift(number[counter % 100//10]) + + clearDisplay() + pickDigit(2) + hc595_shift(number[counter % 1000//100]) + + clearDisplay() + pickDigit(3) + hc595_shift(number[counter % 10000//1000]) + + def loop(): + global counter + currentState = 0 + lastState = 0 + while True: + display() + currentState=GPIO.input(sensorPin) + if (currentState == 0) and (lastState == 1): + counter +=1 + lastState=currentState + + def setup(): + GPIO.setmode(GPIO.BCM) + GPIO.setup(SDI, GPIO.OUT) + GPIO.setup(RCLK, GPIO.OUT) + GPIO.setup(SRCLK, GPIO.OUT) + for i in placePin: + GPIO.setup(i, GPIO.OUT) + GPIO.setup(sensorPin, GPIO.IN) + + def destroy(): # When "Ctrl+C" is pressed, the function is executed. + GPIO.cleanup() + + if __name__ == '__main__': # Program starting from here + setup() + try: + loop() + except KeyboardInterrupt: + destroy() + +**コードの説明** + +**1.1.5 4桁7セグメントディ** スプレイに基づいて、このレッスンでは、 +PIRモジュール を追加して、レッスン1.1.5の自動カウントをカウント検出に変更する。 +PIRが誰かが通り過ぎていることを検出すると、4桁のセグメントディスプレイの数字に1が加算される。 + +.. code-block:: python + + def display(): +     global counter                     +     clearDisplay()  +     pickDigit(0)   +     hc595_shift(number[counter % 10]) + +     clearDisplay() +     pickDigit(1) +     hc595_shift(number[counter % 100//10]) + +     clearDisplay() +     pickDigit(2) +     hc595_shift(number[counter % 1000//100]) + +     clearDisplay() +     pickDigit(3) +     hc595_shift(number[counter % 10000//1000]) + +まず、4番目のセグメントディスプレイを開始し、1桁の数字を書き込む。 +次に、3番目のセグメントディスプレイを開始し、10桁の数字を入力する。 +その後、2番目と1番目のセグメントディスプレイをそれぞれ開始し、それぞれ数百桁と数千桁を書き込む。 +リフレッシュ速度が非常に速いため、完全な4桁のディスプレイが表示される。 + +.. code-block:: python + + def loop(): + global counter +     currentState = 0 +     lastState = 0 +     while True: +         display() +         currentState=GPIO.input(sensorPin) +         if (currentState == 0) and (lastState == 1): +             counter +=1 +         lastState=currentState  + +これが主な機能である:4桁のセグメントディスプレイに数字を表示し、PIR値を読み取る。 +PIRが誰かが通り過ぎていることを検出すると、4桁のセグメントディスプレイの数字に1が加算される。 + +現象画像 +------------------------- + +.. image:: media/image236.jpeg diff --git a/docs/source/3.1.2_welcome.rst b/docs/source/3.1.2_welcome.rst new file mode 100644 index 0000000..64fcd59 --- /dev/null +++ b/docs/source/3.1.2_welcome.rst @@ -0,0 +1,367 @@ +3.1.2 いらっしゃいませ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +前書き +------------- + +このプロジェクトでは、PIRを使用して歩行者の動きを検知し、サーボ、LED、ブザーを使用してコンビニのセンサードアの動作をシミュレートする。歩行者がPIRの検知範囲内に現れると、インジケータライトが点灯し、ドアが開き、ブザーがオープニングベルを鳴らす。 + +部品 +--------------- + +.. image:: media/list_Welcome.png + :align: center + +回路図 +------------------- + +============ ======== ======== === +T-Board Name physical wiringPi BCM +GPIO18 Pin 12 1 18 +GPIO17 Pin 11 0 17 +GPIO27 Pin 13 2 27 +GPIO22 Pin 15 3 22 +============ ======== ======== === + +.. image:: media/Schematic_three_one2.png + :align: center + +実験手順 +------------------------- + +ステップ1: 回路を作る。 + +.. image:: media/image239.png + :alt: C:\Users\sunfounder\Desktop\3.1.4_Welcome_bb.png3.1.4_Welcome_bb + :width: 800 + :align: center + +C言語ユーザー向け +^^^^^^^^^^^^^^^^^^^^^^^^^^ + +ステップ2: ディレクトリを変更する。 + +.. raw:: html + + + +.. code-block:: + + cd /home/pi/davinci-kit-for-raspberry-pi/c/3.1.2/ + +ステップ3: コンパイルする。 + +.. raw:: html + + + +.. code-block:: + + gcc 3.1.2_Welcome.c -lwiringPi + +ステップ4: 実行する。 + +.. raw:: html + + + +.. code-block:: + + sudo ./a.out + +コードの実行後、PIRセンサーが通り過ぎる人を検出すると、 +ドアが自動的に開き(サーボによってシミュレートされる)、 +インジケーターをオンにして、ドアベルの音楽を再生する。ドアベルの音楽が再生されると、 +システムは自動的にドアを閉じてインジケータライトをオフにし、次に誰かが通り過ぎることを待つ。 + +PIR モジュールには 2 つのポテンショメータがあり、 +1 つは感度を調整するためのもので、もう 1 つは検出距離を調整するためのものです。 +PIR モジュールがうまく機能するためには、両方を完全に反時計回りに回す必要があります。 + + +**コードの説明** + +.. code-block:: c + + void setAngle(int pin, int angle){ //Create a funtion to control the angle of the servo. + if(angle < 0) + angle = 0; + if(angle > 180) + angle = 180; + softPwmWrite(pin,Map(angle, 0, 180, 5, 25)); + } + +0〜180の角度をサーボに書き込むための関数、 ``setAngle`` を作成する。 + +.. code-block:: c + + void doorbell(){ + for(int i=0;i-1;i--){ //make servo rotate from maximum angle to minimum angle + setAngle(servoPin,i); + delay(1); + } + } + +ドアの閉鎖をシミュレートする関数 ``closedoor`` を作成し、 +LEDをオフにし、サーボを180度から0度に回転させる。 + +.. code-block:: c + + void opendoor(){ + digitalWrite(ledPin, HIGH); //led on + for(int i=0;i<181;i++){ //make servo rotate from minimum angle to maximum angle + setAngle(servoPin,i); + delay(1); + } + doorbell(); + closedoor(); + } + +関数 ``opendoor()`` にはいくつかの部分が含まれている:インジケータライトをオンにし、 +サーボを回転させ(ドアを開く動作をシミュレートする)、 +コンビニのドアベル音楽を再生し、音楽を再生した後に関数 ``closedoor()`` を呼び出す。 + +.. code-block:: c + + int main(void) + { + if(wiringPiSetup() == -1){ //when initialize wiring failed,print message to screen + printf("setup wiringPi failed !"); + return 1; + } + if(softToneCreate(BuzPin) == -1){ + printf("setup softTone failed !"); + return 1; + ...... + +関数 ``main()`` で、ライブラリー ``wiringPi`` を初期化し、 +``softTone`` をセットアップしてから、 ``ledPin`` を出力状態に、 +``pirPin`` を入力状態に設定する。PIRセンサーが通り過ぎる人を検出すると、 +ドアを開くことをシミュレートするために関数 ``opendoor`` が呼び出される。 + + + +Python言語ユーザー向け +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +ステップ2: ディレクトリを変更する。 + +.. raw:: html + + + +.. code-block:: + + cd /home/pi/davinci-kit-for-raspberry-pi/python/ + +ステップ3: 実行する。 + +.. raw:: html + + + +.. code-block:: + + sudo python3 3.1.2_Welcome.py + +コードの実行後、PIRセンサーが通り過ぎる人を検出すると、 +ドアが自動的に開き(サーボによってシミュレートされる)、 +インジケーターをオンにして、ドアベルの音楽を再生する。ドアベルの音楽が再生されると、 +システムは自動的にドアを閉じてインジケータライトをオフにし、次に誰かが通り過ぎることを待つ。 + +PIR モジュールには 2 つのポテンショメータがあり、 +1 つは感度を調整するためのもので、もう 1 つは検出距離を調整するためのものです。 +PIR モジュールがうまく機能するためには、両方を完全に反時計回りに回す必要があります。 + + + +**コード** + +.. note:: + + 以下のコードを **変更/リセット/コピー/実行/停止** できます。 ただし、その前に、 ``davinci-kit-for-raspberry-pi/python`` のようなソースコードパスに移動する必要があります。 + + +.. raw:: html + + + +.. code-block:: python + + import RPi.GPIO as GPIO + import time + + SERVO_MIN_PULSE = 500 + SERVO_MAX_PULSE = 2500 + + ledPin = 18 # define the ledPin + pirPin = 17 # define the sensorPin + servoPin = 22 # define the servoPin + buzPin = 27 # define the buzzerpin + + + CL = [0, 131, 147, 165, 175, 196, 211, 248] # Frequency of Low C notes + + CM = [0, 262, 294, 330, 350, 393, 441, 495] # Frequency of Middle C notes + + CH = [0, 525, 589, 661, 700, 786, 882, 990] # Frequency of High C notes + + song = [ CH[5],CH[2],CM[6],CH[2],CH[3],CH[6],CH[3],CH[5],CH[3],CM[6],CH[2] ] + + beat = [ 1,1,1,1,1,2,1,1,1,1,1,] + + + def setup(): + global p + global Buzz # Assign a global variable to replace GPIO.PWM + GPIO.setmode(GPIO.BCM) # Numbers GPIOs by physical location + GPIO.setup(ledPin, GPIO.OUT) # Set ledPin's mode is output + GPIO.setup(pirPin, GPIO.IN) # Set sensorPin's mode is input + GPIO.setup(servoPin, GPIO.OUT) # Set servoPin's mode is output + GPIO.output(servoPin, GPIO.LOW) # Set servoPin to low + GPIO.setup(buzPin, GPIO.OUT) # Set pins' mode is output + + Buzz = GPIO.PWM(buzPin, 440) # 440 is initial frequency. + Buzz.start(50) # Start Buzzer pin with 50% duty ration + + p = GPIO.PWM(servoPin, 50) # set Frequece to 50Hz + p.start(0) # Duty Cycle = 0 + + def map(value, inMin, inMax, outMin, outMax): + return (outMax - outMin) * (value - inMin) / (inMax - inMin) + outMin + + + def setAngle(angle): # make the servo rotate to specific angle (0-180 degrees) + angle = max(0, min(180, angle)) + pulse_width = map(angle, 0, 180, SERVO_MIN_PULSE, SERVO_MAX_PULSE) + pwm = map(pulse_width, 0, 20000, 0, 100) + p.ChangeDutyCycle(pwm)#map the angle to duty cycle and output it + + def doorbell(): + for i in range(1, len(song)): # Play song 1 + Buzz.ChangeFrequency(song[i]) # Change the frequency along the song note + time.sleep(beat[i] * 0.25) # delay a note for beat * 0.25s + time.sleep(1) # Wait a second for next song. + + def closedoor(): + GPIO.output(ledPin, GPIO.LOW) + for i in range(180, -1, -1): #make servo rotate from 180 to 0 deg + setAngle(i) + time.sleep(0.001) + time.sleep(1) + def opendoor(): + GPIO.output(ledPin, GPIO.LOW) + for i in range(0, 181, 1): #make servo rotate from 0 to 180 deg + setAngle(i) # Write to servo + time.sleep(0.001) + time.sleep(1) + doorbell() + closedoor() + + def loop(): + while True: + if GPIO.input(pirPin)==GPIO.HIGH: + opendoor() + + + def destroy(): + GPIO.cleanup() # Release resource + p.stop() + Buzz.stop() + + if __name__ == '__main__': # Program start from here + setup() + try: + loop() + except KeyboardInterrupt: # When 'Ctrl+C' is pressed, the program destroy() will be executed. + destroy() + +**コードの説明** + +.. code-block:: python + + def setup(): + global p + global Buzz # Assign a global variable to replace GPIO.PWM + GPIO.setmode(GPIO.BCM) # Numbers GPIOs by physical location + GPIO.setup(ledPin, GPIO.OUT) # Set ledPin's mode is output + GPIO.setup(pirPin, GPIO.IN) # Set sensorPin's mode is input + GPIO.setup(buzPin, GPIO.OUT) # Set pins' mode is output + Buzz = GPIO.PWM(buzPin, 440) # 440 is initial frequency. + Buzz.start(50) # Start Buzzer pin with 50% duty ration + GPIO.setup(servoPin, GPIO.OUT) # Set servoPin's mode is output + GPIO.output(servoPin, GPIO.LOW) # Set servoPin to low + p = GPIO.PWM(servoPin, 50) # set Frequece to 50Hz + p.start(0) # Duty Cycle = 0 + +これらのステートメントは、各部品のピンを初期化するために使用される。 + +.. code-block:: python + + def setAngle(angle): # make the servo rotate to specific angle (0-180 degrees) + angle = max(0, min(180, angle)) + pulse_width = map(angle, 0, 180, SERVO_MIN_PULSE, SERVO_MAX_PULSE) + pwm = map(pulse_width, 0, 20000, 0, 100) + p.ChangeDutyCycle(pwm)#map the angle to duty cycle and output it + +0〜180の角度をサーボに書き込むための関数、 ``setAngle`` を作成する。 + +.. code-block:: python + + def doorbell(): + for i in range(1,len(song)): # Play song1 + Buzz.ChangeFrequency(song[i]) # Change the frequency along the song note + time.sleep(beat[i] * 0.25) # delay a note for beat * 0.25s + +ブザーで音楽を再生できるようにする関数、 ``doorbell`` を作成する。 + +.. code-block:: python + + def closedoor(): + GPIO.output(ledPin, GPIO.LOW) + Buzz.ChangeFrequency(1) + for i in range(180, -1, -1): #make servo rotate from 180 to 0 deg + setAngle(i) + time.sleep(0.001) + +ドアを閉じて、インジケータライトをオフにする。 + +.. code-block:: python + + def opendoor(): + GPIO.output(ledPin, GPIO.LOW) + for i in range(0, 181, 1): #make servo rotate from 0 to 180 deg + setAngle(i) # Write to servo + time.sleep(0.001) + doorbell() + closedoor() + +関数 ``opendoor()`` にはいくつかの部分が含まれている:インジケータライトをオンにし、 +サーボを回転させ(ドアを開く動作をシミュレートする)、コンビニのドアベル音楽を再生し、 +音楽を再生した後に関数 ``closedoor()`` を呼び出す。 + +.. code-block:: python + + def loop(): + while True: + if GPIO.input(pirPin)==GPIO.HIGH: + opendoor() + +PIRは誰かが通り過ぎることを検知すると、関数 ``opendoor()`` を呼び出す。 + +現象画像 +-------------------- + +.. image:: media/image240.jpeg + :align: center \ No newline at end of file diff --git a/docs/source/3.1.3_reversing_alarm.rst b/docs/source/3.1.3_reversing_alarm.rst new file mode 100644 index 0000000..b985574 --- /dev/null +++ b/docs/source/3.1.3_reversing_alarm.rst @@ -0,0 +1,449 @@ +3.1.3 後退警報装置 +~~~~~~~~~~~~~~~~~~~~~ + +前書き +------------- + +このプロジェクトでは、LCD、ブザー、と超音波センサーを使用して、 +後退補助システムを作成する。それをリモートコントロール車両に置いて、 +車をガレージに後退する実際のプロセスをシミュレートできる。 + +部品 +---------------- + +.. image:: media/list_Reversing_Alarm.png + :align: center + +回路図 +-------------------- + +超音波センサーは障害物との間の距離を検出し、コードの形式でLCDに表示する。 +同時に、超音波センサーにより、距離値に応じてブザーが異なる周波数の警告音を発する。 + +============ ======== ======== === +T-Board Name physical wiringPi BCM +GPIO23 Pin 16 4 23 +GPIO24 Pin 18 5 24 +GPIO17 Pin 11 0 17 +SDA1 Pin 3 +SCL1 Pin 5 +============ ======== ======== === + +.. image:: media/Schematic_three_one3.png + :width: 800 + :align: center + +実験手順 +------------------------ + +ステップ1: 回路を作る。 + +.. image:: media/image242.png + :width: 800 + :align: center + +C言語ユーザー向け +^^^^^^^^^^^^^^^^^^^^^^^^^^ + +ステップ2: ディレクトリを変更する。 + +.. raw:: html + + + +.. code-block:: + + cd /home/pi/davinci-kit-for-raspberry-pi/c/3.1.3/ + +ステップ3: コンパイルする。 + +.. raw:: html + + + +.. code-block:: + + gcc 3.1.3_ReversingAlarm.c -lwiringPi + +ステップ4: 実行する。 + +.. raw:: html + + + +.. code-block:: + + sudo ./a.out + +コードが実行されると、超音波センサーモジュールが障害物までの距離を検出し、LCD1602に距離に関する情報を表示する。また、ブザーは距離とともに周波数が変化する警告音を発する。 + +**コード** + +.. note:: + 次のコードは不完全である。完全なコードを確認する場合は、コマンド ``nano 3.1.1_ReversingAlarm.c`` を使用することをお勧めする。 + +.. code-block:: c + + #include + #include + #include + #include + #include + #include + + #define Trig 4 + #define Echo 5 + #define Buzzer 0 + + int LCDAddr = 0x27; + int BLEN = 1; + int fd; + + //here is the function of LCD + void write_word(int data){...} + + void send_command(int comm){...} + + void send_data(int data){...} + + void lcdInit(){...} + + void clear(){...} + + void write(int x, int y, char data[]){...} + + //here is the function of Ultrasonic + void ultraInit(void){...} + + float disMeasure(void){...} + + //here is the main function + int main(void) + { + float dis; + char result[10]; + if(wiringPiSetup() == -1){ + printf("setup wiringPi failed !"); + return 1; + } + + pinMode(Buzzer,OUTPUT); + fd = wiringPiI2CSetup(LCDAddr); + lcdInit(); + ultraInit(); + + clear(); + write(0, 0, "Ultrasonic Starting"); + write(1, 1, "By Sunfounder"); + + while(1){ + dis = disMeasure(); + printf("%.2f cm \n",dis); + delay(100); + digitalWrite(Buzzer,LOW); + if (dis > 400){ + clear(); + write(0, 0, "Error"); + write(3, 1, "Out of range"); + delay(500); + } + else + { + clear(); + write(0, 0, "Distance is"); + sprintf(result,"%.2f cm",dis); + write(5, 1, result); + + if(dis>=50) + {delay(500);} + else if(dis<50 & dis>20) { + for(int i=0;i<2;i++){ + digitalWrite(Buzzer,HIGH); + delay(50); + digitalWrite(Buzzer,LOW); + delay(200); + } + } + else if(dis<=20){ + for(int i=0;i<5;i++){ + digitalWrite(Buzzer,HIGH); + delay(50); + digitalWrite(Buzzer,LOW); + delay(50); + } + } + } + } + + return 0; + } + +**コードの説明** + +.. code-block:: c + + pinMode(Buzzer,OUTPUT); + fd = wiringPiI2CSetup(LCDAddr); + lcdInit(); + ultraInit(); + +このプログラムでは、以前の部品を総合的に適用する。 +ここでは、ブザー、LCD、と超音波を使用する。 +以前と同じ方法で初期化できる。 + +.. code-block:: c + + dis = disMeasure(); + printf("%.2f cm \n",dis); + digitalWrite(Buzzer,LOW); + if (dis > 400){ + write(0, 0, "Error"); + write(3, 1, "Out of range"); + } + else + { + write(0, 0, "Distance is"); + sprintf(result,"%.2f cm",dis); + write(5, 1, result); + } + +ここで、超音波センサーの値を取得し、計算により距離を取得する。 + +距離の値が検出される範囲の値より大きい場合、エラーメッセージがLCDに表示される。 +距離値が範囲内にある場合、対応する結果が出力される。 + +.. code-block:: c + + sprintf(result,"%.2f cm",dis); + +LCDの出力モードは文字型のみをサポートし、 +変数 ``dis`` はfloat型の値を保存するため、``sprintf()`` を使わなければならない。 +この関数はfloat型の値を文字に変換し、 +文字列変数 ``result[]`` に保存する。 ``%.2f`` は小数点以下2桁を保持することを意味する。 + +.. code-block:: c + + if(dis>=50) + {delay(500);} + else if(dis<50 & dis>20) { + for(int i=0;i<2;i++){ + digitalWrite(Buzzer,HIGH); + delay(50); + digitalWrite(Buzzer,LOW); + delay(200); + } + } + else if(dis<=20){ + for(int i=0;i<5;i++){ + digitalWrite(Buzzer,HIGH); + delay(50); + digitalWrite(Buzzer,LOW); + delay(50); + } + } + +この判定条件でブザーの音をコントロールします。 +距離の違いにより、音の周波数が異なる3つのケースに分けられます。 +遅延の合計値は500なので、どのケースも超音波センサに500msの間隔を与えることができる。 + + +Python言語ユーザー向け +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +ステップ2: ディレクトリを変更する。 + +.. raw:: html + + + +.. code-block:: + + cd /home/pi/davinci-kit-for-raspberry-pi/python/ + +ステップ3: 実行する。 + +.. raw:: html + + + +.. code-block:: + + sudo python3 3.1.3_ReversingAlarm.py + +コードが実行されると、超音波センサーモジュールが障害物までの距離を検出し、 +LCD1602に距離に関する情報を表示する。 +また、ブザーは距離とともに周波数が変化する警告音を発する。 + + +**コード** + +.. note:: + + 以下のコードを **変更/リセット/コピー/実行/停止** できます。 ただし、その前に、 ``davinci-kit-for-raspberry-pi/python`` のようなソースコードパスに移動する必要があります。 + + +.. raw:: html + + + +.. code-block:: python + + import LCD1602 + import time + import RPi.GPIO as GPIO + + TRIG = 16 + ECHO = 18 + BUZZER = 11 + + def lcdsetup(): + LCD1602.init(0x27, 1) # init(slave address, background light) + LCD1602.clear() + LCD1602.write(0, 0, 'Ultrasonic Starting') + LCD1602.write(1, 1, 'By SunFounder') + time.sleep(2) + + def setup(): + GPIO.setmode(GPIO.BOARD) + GPIO.setup(TRIG, GPIO.OUT) + GPIO.setup(ECHO, GPIO.IN) + GPIO.setup(BUZZER, GPIO.OUT, initial=GPIO.LOW) + lcdsetup() + + def distance(): + GPIO.output(TRIG, 0) + time.sleep(0.000002) + + GPIO.output(TRIG, 1) + time.sleep(0.00001) + GPIO.output(TRIG, 0) + + while GPIO.input(ECHO) == 0: + a = 0 + time1 = time.time() + while GPIO.input(ECHO) == 1: + a = 1 + time2 = time.time() + + during = time2 - time1 + return during * 340 / 2 * 100 + + def destroy(): + GPIO.output(BUZZER, GPIO.LOW) + GPIO.cleanup() + LCD1602.clear() + + def loop(): + while True: + dis = distance() + print (dis, 'cm') + print ('') + GPIO.output(BUZZER, GPIO.LOW) + if (dis > 400): + LCD1602.clear() + LCD1602.write(0, 0, 'Error') + LCD1602.write(3, 1, 'Out of range') + time.sleep(0.5) + else: + LCD1602.clear() + LCD1602.write(0, 0, 'Distance is') + LCD1602.write(5, 1, str(round(dis,2)) +' cm') + if(dis>=50): + time.sleep(0.5) + elif(dis<50 and dis>20): + for i in range(0,2,1): + GPIO.output(BUZZER, GPIO.HIGH) + time.sleep(0.05) + GPIO.output(BUZZER, GPIO.LOW) + time.sleep(0.2) + elif(dis<=20): + for i in range(0,5,1): + GPIO.output(BUZZER, GPIO.HIGH) + time.sleep(0.05) + GPIO.output(BUZZER, GPIO.LOW) + time.sleep(0.05) + + + if __name__ == "__main__": + setup() + try: + loop() + except KeyboardInterrupt: + destroy() + + +**コードの説明** + +.. code-block:: python + + def lcdsetup(): + LCD1602.init(0x27, 1) # init(slave address, background light) + + def setup(): + GPIO.setmode(GPIO.BOARD) + GPIO.setup(TRIG, GPIO.OUT) + GPIO.setup(ECHO, GPIO.IN) + GPIO.setup(BUZZER, GPIO.OUT, initial=GPIO.LOW) + lcdsetup() + +このプログラムでは、以前に使用した部品を総合的に適用する。 +ここでは、ブザー、LCD、と超音波を使用する。以前と同じ方法で初期化できる。 + +.. code-block:: python + + dis = distance() + print (dis, 'cm') + print ('') + GPIO.output(BUZZER, GPIO.LOW) + if (dis > 400): + LCD1602.clear() + LCD1602.write(0, 0, 'Error') + LCD1602.write(3, 1, 'Out of range') + time.sleep(0.5) + else: + LCD1602.clear() + LCD1602.write(0, 0, 'Distance is') + LCD1602.write(5, 1, str(round(dis,2)) +' cm') + + +ここで、超音波センサーの値を取得し、計算により距離を取得する。距離の値が検出される範囲の値より大きい場合、エラーメッセージがLCDに表示される。 +動作値が範囲内にある場合、対応する結果が出力される + +.. code-block:: python + + LCD1602.write(5, 1, str(round(dis,2)) +' cm') + +LCD出力は文字タイプのみをサポートするため、 ``str()`` を使用して数値を文字に変換する必要がある。 +小数点以下2桁に丸める + +.. code-block:: python + + if(dis>=50) + {delay(500);} + else if(dis<50 & dis>20) { + for(int i=0;i<2;i++){ + digitalWrite(Buzzer,HIGH); + delay(50); + digitalWrite(Buzzer,LOW); + delay(200); + } + } + else if(dis<=20){ + for(int i=0;i<5;i++){ + digitalWrite(Buzzer,HIGH); + delay(50); + digitalWrite(Buzzer,LOW); + delay(50); + } + } + +この判定条件はブザーの音を制御するために使用される。 +距離の違いに応じて、3つのケースに分けることができる。 +この場合、音の周波数は異なる。遅延の合計値は500であるため、 +すべてのケースで超音波センサーに500msの間隔を提供できる。 + +現象画像 +-------------------- + +.. image:: media/image243.jpeg + :align: center \ No newline at end of file diff --git a/docs/source/3.1.4_smart_fan.rst b/docs/source/3.1.4_smart_fan.rst new file mode 100644 index 0000000..d753bf1 --- /dev/null +++ b/docs/source/3.1.4_smart_fan.rst @@ -0,0 +1,368 @@ +3.1.4 スマートファン +~~~~~~~~~~~~~~~~~~~~~~ + +前書き +----------------- + +このコースでは、モーター、ボタン、サーミスターを使用して、 +風速が調整可能な手動+自動のスマートファンを作成する。 + +部品 +------------------ + +.. image:: media/list_Smart_Fan.png + :align: center + +回路図 +------------------------ + +============ ======== ======== === +T-Board Name physical wiringPi BCM +GPIO17 Pin 11 0 17 +GPIO18 Pin 12 1 18 +GPIO27 Pin 13 2 27 +GPIO22 Pin 15 3 22 +GPIO5 Pin 29 21 5 +GPIO6 Pin 31 22 6 +GPIO13 Pin 33 23 13 +============ ======== ======== === + +.. image:: media/Schematic_three_one4.png + :width: 500 + :align: center + +実験手順 +----------------------------- + +ステップ1: 回路を作る。 + +.. image:: media/image245.png + :alt: Smart Fan_bb + :width: 800 + :align: center + +.. note:: + 電源モジュールはキットの9Vバッテリーバックルで9Vバッテリーを適用できる。 + 電源モジュールのジャンパキャップをブレッドボードの5Vバスストリップに挿入する。 + +.. image:: media/image118.jpeg + :alt: \_MG_2084 + :width: 2.80694in + :height: 0.94375in + :align: center + +C言語ユーザー向け +^^^^^^^^^^^^^^^^^^^^^^^^^ + +ステップ2: コードのフォルダーに入る。 + +.. raw:: html + + + +.. code-block:: + + cd /home/pi/davinci-kit-for-raspberry-pi/c/3.1.4/ + +ステップ3: コンパイルする。 + +.. raw:: html + + + +.. code-block:: + + gcc 3.1.4_SmartFan.c -lwiringPi -lm + +ステップ4: EXEファイルを実行する。 + +.. raw:: html + + + +.. code-block:: + + sudo ./a.out + +コードが実行された後、ボタンを押してファンを起動する。 +押すたびに、1つのレベルが上下に調整される。5 種類のレベルがある:0〜4。 +4番目のレベルに設定してボタンを押すと、ファンの風速が **0** で動作が停止する。 + +温度が2℃以上上昇または下降すると、速度は自動的に1グレード速くまたは遅くなる。 + + +**コードの説明** + +.. code-block:: c + + int temperture(){ +     unsigned char analogVal; +     double Vr, Rt, temp, cel, Fah; +     analogVal = get_ADC_Result(0); +     Vr = 5 * (double)(analogVal) / 255; +     Rt = 10000 * (double)(Vr) / (5 - (double)(Vr)); +     temp = 1 / (((log(Rt/10000)) / 3950)+(1 / (273.15 + 25))); +     cel = temp - 273.15; +     Fah = cel * 1.8 +32; +     int t=cel; +     return t; + } + +``Temperature()`` は、ADC0834によって読み取られたサーミスタ値を温度値に変換することによって機能します。 詳細については、 :ref:`2.2.2 Thermistor` を参照してください。 + +.. code-block:: c + + int motor(int level){ +     if(level==0){ +         digitalWrite(MotorEnable,LOW); +         return 0; +     } +     if (level>=4){ +         level =4; +     } +     digitalWrite(MotorEnable,HIGH); +     softPwmWrite(MotorPin1, level*25); +     return level;     + } + +この機能は、モーターの回転速度を制御する。 +レベル の範囲:0〜4 (レベル 0 は動作中のモーターを停止する)。 +1つのレベル調整は風速の 25% の変化を表す。 + +.. code-block:: c + + int main(void) + { +     setup(); +     int currentState,lastState=0; +     int level = 0; +     int currentTemp,markTemp=0; +     while(1){ +         currentState=digitalRead(BtnPin); +         currentTemp=temperture(); +         if (currentTemp<=0){continue;} +         if (currentState==1&&lastState==0){ +             level=(level+1)%5; +             markTemp=currentTemp; +             delay(500); +         } +         lastState=currentState; +         if (level!=0){ +             if (currentTemp-markTemp<=-2){ +                 level=level-1; +                 markTemp=currentTemp; +             } +             if (currentTemp-markTemp>=2){ +                 level=level+1; +                 markTemp=currentTemp; +             } +         } +         level=motor(level); +     } +     return 0; + } + +関数 ``main()`` 上 には、次のようにプログラムプロセス全体が含まれている: + +1. ボタンの状態と現在の温度を常に読み取る。 + +#. ボタンを押すごとに、レベル+1 になり、同時に温度が更新される。レ れベル 範囲 1〜4 。 + +#. ファンが作動すると(レベルは 0ではない )、温度は検出中である。2℃+ 以上変更すると、レベルが上下に変化する。 + +#. モーターは レベル に応じて回転速度を変更する。 + +Python言語ユーザー向け +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +ステップ2: コードのフォルダーに入る。 + +.. raw:: html + + + +.. code-block:: + + cd /home/pi/davinci-kit-for-raspberry-pi/python + +ステップ3: 実行する。 + +.. raw:: html + + + +.. code-block:: + + sudo python3 3.1.4_SmartFan.py + +コードが実行された後、ボタンを押してファンを起動する。 +押すたびに、1つのレベルが上下に調整される。5 種類のレベルがある:0〜4。 +4番目のレベルに設定してボタンを押すと、ファンの風速が **0** で動作が停止する。 + +温度が2℃以上上昇または下降すると、速度は自動的に1グレード速くまたは遅くなる。 + + +**コード** + +.. note:: + + 以下のコードを **変更/リセット/コピー/実行/停止** できます。 ただし、その前に、 ``davinci-kit-for-raspberry-pi/python`` のようなソースコードパスに移動する必要があります。 + + +.. raw:: html + + + +.. code-block:: python + + import RPi.GPIO as GPIO + import time + import ADC0834 + import math + + # Set up pins + MotorPin1 = 5 + MotorPin2 = 6 + MotorEnable = 13 + BtnPin = 22 + + + def setup(): + global p_M1,p_M2 + ADC0834.setup() + GPIO.setmode(GPIO.BCM) + GPIO.setup(MotorPin1, GPIO.OUT) + GPIO.setup(MotorPin2, GPIO.OUT) + p_M1=GPIO.PWM(MotorPin1,2000) + p_M2=GPIO.PWM(MotorPin2,2000) + p_M1.start(0) + p_M2.start(0) + GPIO.setup(MotorEnable, GPIO.OUT, initial=GPIO.LOW) + GPIO.setup(BtnPin, GPIO.IN) + + def temperature(): + analogVal = ADC0834.getResult() + Vr = 5 * float(analogVal) / 255 + Rt = 10000 * Vr / (5 - Vr) + temp = 1/(((math.log(Rt / 10000)) / 3950) + (1 / (273.15+25))) + Cel = temp - 273.15 + Fah = Cel * 1.8 + 32 + return Cel + + def motor(level): + if level == 0: + GPIO.output(MotorEnable, GPIO.LOW) + return 0 + if level>=4: + level = 4 + GPIO.output(MotorEnable, GPIO.HIGH) + p_M1.ChangeDutyCycle(level*25) + return level + + + def main(): + lastState=0 + level=0 + markTemp = temperature() + while True: + currentState =GPIO.input(BtnPin) + currentTemp=temperature() + if currentState == 1 and lastState == 0: + level=(level+1)%5 + markTemp = currentTemp + time.sleep(0.5) + lastState=currentState + if level!=0: + if currentTemp-markTemp <= -2: + level = level -1 + markTemp=currentTemp + if currentTemp-markTemp >= 2: + level = level +1 + markTemp=currentTemp + level = motor(level) + + + def destroy(): + GPIO.output(MotorEnable, GPIO.LOW) + p_M1.stop() + p_M2.stop() + GPIO.cleanup() + + if __name__ == '__main__': + setup() + try: + main() + except KeyboardInterrupt: + destroy() + +**コードの説明** + +.. code-block:: python + + def temperature(): +     analogVal = ADC0834.getResult() +     Vr = 5 * float(analogVal) / 255 +     Rt = 10000 * Vr / (5 - Vr) +     temp = 1/(((math.log(Rt / 10000)) / 3950) + (1 / (273.15+25))) +     Cel = temp - 273.15 +     Fah = Cel * 1.8 + 32 +     return Cel + +``Temperature()`` は、ADC0834 によって読み取られたサーミスタ値を温度値に変換することによって機能します。 詳細については、 :ref:`2.2.2 Thermistor` を参照してください。 + +.. code-block:: python + + def motor(level): +     if level == 0: +         GPIO.output(MotorEnable, GPIO.LOW) +         return 0 +     if level>=4: +         level = 4 +     GPIO.output(MotorEnable, GPIO.HIGH) +     p_M1.ChangeDutyCycle(level*25) +     return level + + +この機能はモーターの回転速度を制御する。 +レバー の範囲: 0〜4 (レベル 0 は動作中のモーターを停止する)。 +1つのレベル調整は風速の 25% の変化を表す。 + +.. code-block:: python + + def main(): +     lastState=0 +     level=0 +     markTemp = temperature() +     while True: +         currentState =GPIO.input(BtnPin) +         currentTemp=temperature() +         if currentState == 1 and lastState == 0: +             level=(level+1)%5 +             markTemp = currentTemp +             time.sleep(0.5) +         lastState=currentState +         if level!=0: +             if currentTemp-markTemp <= -2: +                 level = level -1 +                 markTemp=currentTemp             +             if currentTemp-markTemp >= 2: +                 level = level +1 +                 markTemp=currentTemp              +         level = motor(level) + + +関数 ``main()`` 上 には、次のようにプログラムプロセス全体が含まれている: + +1. ボタンの状態と現在の温度を常に読み取る。 + +#. ボタンを押すごとに、レベル+1 になり、同時に温度が更新される。レ れベル 範囲 1〜4 。 + +#. ファンが作動すると(レベルは 0ではない )、温度は検出中である。2℃+ 以上変更すると、レベルが上下に変化する。 + +#. モーターは レベル に応じて回転速度を変更する。 + +現象画像 +------------------------ + +.. image:: media/image246.png + :align: center \ No newline at end of file diff --git a/docs/source/3.1.5_battery_indicator.rst b/docs/source/3.1.5_battery_indicator.rst new file mode 100644 index 0000000..a25f0cc --- /dev/null +++ b/docs/source/3.1.5_battery_indicator.rst @@ -0,0 +1,239 @@ +3.1.5 バッテリーインジケーター +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +前書き +-------------- + +このコースでは、LEDバーグラフにバッテリーレベルを視覚的に表示できるバッテリー指示装置を作成する。 + +部品 +------------ + +.. image:: media/list_Battery_Indicator.png + :align: center + +回路図 +------------------- + +============ ======== ======== === +T-Board Name physical wiringPi BCM +GPIO17 Pin 11 0 17 +GPIO18 Pin 12 1 18 +GPIO27 Pin 13 2 27 +GPIO25 Pin 22 6 25 +GPIO12 Pin 32 26 12 +GPIO16 Pin 36 27 16 +GPIO20 Pin 38 28 20 +GPIO21 Pin 40 29 21 +GPIO5 Pin 29 21 5 +GPIO6 Pin 31 22 6 +GPIO13 Pin 33 23 13 +GPIO19 Pin 35 24 19 +GPIO26 Pin 37 25 26 +============ ======== ======== === + +.. image:: media/Schematic_three_one5.png + :align: center + +実験手順 +------------------------- + +ステップ1: 回路を作る。 + +.. image:: media/image248.png + :alt: 电量计_bb + :width: 800 + :align: center + +C言語ユーザー向け +^^^^^^^^^^^^^^^^^^^^^^^^^^ + +ステップ2: コードのフォルダーに入る。 + +.. raw:: html + + + +.. code-block:: + + cd /home/pi/davinci-kit-for-raspberry-pi/c/3.1.5/ + +ステップ3: コードをコンパイルする。 + +.. raw:: html + + + +.. code-block:: + + gcc 3.1.5_BatteryIndicator.c -lwiringPi + +ステップ4: EXEファイルを実行する。 + +.. raw:: html + + + +.. code-block:: + + sudo ./a.out + +プログラムの実行後、ADC0834の3番目のピンとGNDに個別にリード線を配線し、 +それらを別々にバッテリーの2つの極に導く。 +LEDバーグラフの対応するLEDが点灯し、電力レベルが表示される(測定範囲:0〜5V)。 + + + +**コードの説明** + +.. code-block:: c + + void LedBarGraph(int value){ +     for(int i=0;i<10;i++){ +         digitalWrite(pins[i],HIGH); +     } +     for(int i=0;i + +.. code-block:: + + cd /home/pi/davinci-kit-for-raspberry-pi/python/ + +ステップ3: EXEファイルを実行する。 + +.. raw:: html + + + +.. code-block:: + + sudo python3 3.1.5_BatteryIndicator.py + +プログラムの実行後、ADC0834の3番目のピンとGNDに個別にリード線を配線し、 +それらを別々にバッテリーの2つの極に導く。 +LEDバーグラフの対応するLEDが点灯し、電力レベルが表示される(測定範囲:0〜5V)。 + + +**コード** + +.. note:: + + 以下のコードを **変更/リセット/コピー/実行/停止** できます。 ただし、その前に、 ``davinci-kit-for-raspberry-pi/python`` のようなソースコードパスに移動する必要があります。 + + +.. raw:: html + + + +.. code-block:: python + + import RPi.GPIO as GPIO + import ADC0834 + import time + + ledPins = [25, 12, 16, 20, 21, 5, 6, 13, 19, 26] + + def setup(): + GPIO.setmode(GPIO.BCM) + ADC0834.setup() + for i in ledPins: + GPIO.setup(i, GPIO.OUT) + GPIO.output(i, GPIO.HIGH) + + def LedBarGraph(value): + for i in ledPins: + GPIO.output(i,GPIO.HIGH) + for i in range(value): + GPIO.output(ledPins[i],GPIO.LOW) + + def destroy(): + GPIO.cleanup() + + def loop(): + while True: + analogVal = ADC0834.getResult() + LedBarGraph(int(analogVal/25)) + + if __name__ == '__main__': + setup() + try: + loop() + except KeyboardInterrupt: # When 'Ctrl+C' is pressed, the program destroy() will be executed. + destroy() + +**コードの説明** + +.. code-block:: python + + def LedBarGraph(value): +     for i in ledPins: +         GPIO.output(i,GPIO.HIGH) +     for i in range(value): +         GPIO.output(ledPins[i],GPIO.LOW) + +この機能は、LED棒グラフの 10 個のLEDの点灯/消灯を制御するために機能する。 +これらの 10 個のLEDを最初に オフ にするために高レベルを指定し、 +次に受信したアナログ値を変更することでいくつのLEDを点灯させるかを決定する。 + +.. code-block:: python + + def loop(): +     while True: +         analogVal = ADC0834.getResult() +         LedBarGraph(int(analogVal/25)) + +analogValは、さまざまな電圧値(0-5V)で値(0-255)を生成する。 +たとえば、バッテリーで3Vが検出されると、対応する値 152 が電圧計に表示される。 + +LED棒グラフの10個のLEDはanalogVal測定値を表示するために使用される。 +255/10 = 25。したがって、25ごとにアナログ値が増加し、もう1つのLEDが点灯する。 + +現象画像 +---------------------- + +.. image:: media/image249.jpeg + :align: center diff --git a/docs/source/3.1.6_motion_control.rst b/docs/source/3.1.6_motion_control.rst new file mode 100644 index 0000000..c3b7571 --- /dev/null +++ b/docs/source/3.1.6_motion_control.rst @@ -0,0 +1,332 @@ +3.1.6 モーション制御 +~~~~~~~~~~~~~~~~~~~~ + +前書き +----------------- + +このレッスンでは、簡単なモーション検知と制御装置を作成する。 +MPU6050はセンサーとして使用され、ステッピングモーターは制御装置として使用される。 +MPU6050をグローブに取り付けた状態で、手首を回すことでステッピングモーターを制御できる。 + +部品 +--------------- + +.. image:: media/list_Motion_Control.png + :align: center + +回路図 +-------------------------- + +============ ======== ======== === +T-Board Name physical wiringPi BCM +GPIO18 Pin 12 1 18 +GPIO23 Pin 16 4 23 +GPIO24 Pin 18 5 24 +GPIO25 Pin 22 6 25 +SDA1 Pin 3 +SCL1 Pin 5 +============ ======== ======== === + +.. image:: media/Schematic_three_one6.png + :align: center + +実験手順 +------------------------------ + +ステップ1: 回路を作る。 + +.. image:: media/image251.png + :alt: 3.1.6 Motion Control_bb + :width: 800 + :align: center + +C言語ユーザー向け +^^^^^^^^^^^^^^^^^^^^^^^^^^ + +ステップ2: コードのフォルダーに入る。 + +.. raw:: html + + + +.. code-block:: + + cd /home/pi/davinci-kit-for-raspberry-pi/c/3.1.6/ + +ステップ3: コードをコンパイルする。 + +.. raw:: html + + + +.. code-block:: + + gcc 3.1.6_MotionControl.c -lwiringPi -lm + +ステップ4: EXEファイルを実行する。 + +.. raw:: html + + + +.. code-block:: + + sudo ./a.out + +コードが実行されている間、もし mpu6050 のチルト角度が Y-axis 45 ℃より大きい場合、 +ステッピングモーターは反時計回りに回転します。 +-45 ℃未満の場合、ステッピングモーターは時計回りに回転します。 + +**コードの説明** + +.. code-block:: c + + double mpu6050(){ +     acclX = read_word_2c(0x3B); +     acclY = read_word_2c(0x3D); +     acclZ = read_word_2c(0x3F); +     acclX_scaled = acclX / 16384.0; +     acclY_scaled = acclY / 16384.0; +     acclZ_scaled = acclZ / 16384.0; +     double angle=get_y_rotation(acclX_scaled, acclY_scaled, acclZ_scaled); +     return angle; + } + +mpu6050はY軸の方向の傾斜角を取得する。 + +.. code-block:: c + + void rotary(char direction){ +     if(direction == 'c'){ +         for(int j=0;j<4;j++){ +             for(int i=0;i<4;i++) +                 {digitalWrite(motorPin[i],0x99>>j & (0x08>>i));} +             delayMicroseconds(stepSpeed); +         }         +     } +     else if(direction =='a'){ +         for(int j=0;j<4;j++){ +             for(int i=0;i<4;i++) +                 {digitalWrite(motorPin[i],0x99<>i));} +             delayMicroseconds(stepSpeed); +         }    +     } + } + +受信方向 キー が「c」の場合、ステッピングモーターは時計回りに回転します。 キー が「a 」の場合、 +モーターは反時計回りに回転します。 +ステッピングモーターの回転方向の計算の詳細については :ref:`1.3.3 Stepper Motor` を参照してください。 + +.. code-block:: c + + int main() + { +     setup(); +     double angle; +     while(1) { +         angle = mpu6050(); +         if (angle >=45){rotary('a');} +         else if (angle<=-45){rotary('c');} +     } +     return 0; + } + +Y軸方向の傾斜角は mpu6050 から読み取られ、45 ℃より大きい場合、 +ステッピングモーターは反時計回りに回転する。 +-45 ℃未満の場合、ステッピングモーターは時計回りに回転する。 + +Python言語ユーザー向け +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +ステップ2: コードのフォルダーに入る。 + +.. raw:: html + + + +.. code-block:: + + cd /home/pi/davinci-kit-for-raspberry-pi/python/ + +ステップ3: EXEファイルを実行する。 + +.. raw:: html + + + +.. code-block:: + + sudo python3 3.1.6_MotionControl.py + +コードの実行中に、Y軸上の mpu6050 の傾斜角が 45℃ より大きい場合、 +ステッピングモーターは反時計回りに回転する。 +-45℃ 未満の場合、ステッピングモーターは時計回りに回転する。 + + + +**コード** + +.. note:: + + 以下のコードを **変更/リセット/コピー/実行/停止** できます。 ただし、その前に、 ``davinci-kit-for-raspberry-pi/python`` のようなソースコードパスに移動する必要があります。 + + +.. raw:: html + + + +.. code-block:: python + + import RPi.GPIO as GPIO + import smbus + import math + import time + + + + # Power management registers + power_mgmt_1 = 0x6b + power_mgmt_2 = 0x6c + + bus = smbus.SMBus(1) + address = 0x68 + bus.write_byte_data(address, power_mgmt_1, 0) + + #Stepper motor pins + motorPin = (18,23,24,25) + rolePerMinute =15 + stepsPerRevolution = 2048 + stepSpeed = (60/rolePerMinute)/stepsPerRevolution + + #mpu6050 + def read_byte(adr): + return bus.read_byte_data(address, adr) + + def read_word(adr): + high = bus.read_byte_data(address, adr) + low = bus.read_byte_data(address, adr+1) + val = (high << 8) + low + return val + + def read_word_2c(adr): + val = read_word(adr) + if (val >= 0x8000): + return -((65535 - val) + 1) + else: + return val + + def dist(a,b): + return math.sqrt((a*a)+(b*b)) + + def get_y_rotation(x,y,z): + radians = math.atan2(x, dist(y,z)) + return -math.degrees(radians) + + def get_x_rotation(x,y,z): + radians = math.atan2(y, dist(x,z)) + return math.degrees(radians) + + def mpu6050(): + accel_xout = read_word_2c(0x3b) + accel_yout = read_word_2c(0x3d) + accel_zout = read_word_2c(0x3f) + accel_xout_scaled = accel_xout / 16384.0 + accel_yout_scaled = accel_yout / 16384.0 + accel_zout_scaled = accel_zout / 16384.0 + angle=get_y_rotation(accel_xout_scaled, accel_yout_scaled, accel_zout_scaled) + return angle + + #Stepper Motor + def rotary(direction): + if(direction == 'c'): + for j in range(4): + for i in range(4): + GPIO.output(motorPin[i],0x99>>j & (0x08>>i)) + time.sleep(stepSpeed) + + elif(direction == 'a'): + for j in range(4): + for i in range(4): + GPIO.output(motorPin[i],0x99<>i)) + time.sleep(stepSpeed) + + + def setup(): + GPIO.setwarnings(False) + GPIO.setmode(GPIO.BCM) + for i in motorPin: + GPIO.setup(i, GPIO.OUT) + + + def loop(): + while True: + angle=mpu6050() + if angle >=45 : + rotary('a') + elif angle <=-45: + rotary('c') + + def destroy(): + GPIO.cleanup() + + if __name__ == '__main__': + setup() + try: + loop() + except KeyboardInterrupt: + destroy() + +**コードの説明** + +.. code-block:: python + + def mpu6050(): +     accel_xout = read_word_2c(0x3b) +     accel_yout = read_word_2c(0x3d) +     accel_zout = read_word_2c(0x3f) +     accel_xout_scaled = accel_xout / 16384.0 +     accel_yout_scaled = accel_yout / 16384.0 +     accel_zout_scaled = accel_zout / 16384.0 +     angle=get_y_rotation(accel_xout_scaled, accel_yout_scaled, accel_zout_scaled) +     return angle + +mpu6050はY軸の方向の傾斜角を取得する。 + +.. code-block:: python + + def rotary(direction): +     if(direction == 'c'):    +         for j in range(4): +             for i in range(4): +                 GPIO.output(motorPin[i],0x99>>j & (0x08>>i)) +             time.sleep(stepSpeed) + +     elif(direction == 'a'): +         for j in range(4): +             for i in range(4): +                 GPIO.output(motorPin[i],0x99<>i)) +             time.sleep(stepSpeed) + +受信方向 キー が「c」の場合、ステッピングモーターは時計回りに回転します。 +キー が「a 」の場合、モーターは反時計回りに回転します。 +ステッピングモーターの回転方向の計算の詳細については、 :ref:`1.3.3 Stepper Motor` を参照してください。 + +.. code-block:: python + + def loop(): +     while True: +         angle=mpu6050() +         if angle >=45 : +             rotary('a') +         elif angle <=-45: +             rotary('c') + +mpu6050 から Y 軸方向の傾斜角を読み取り、45°C より大きい場合は、 ``rotary()`` を呼び出して、 +ステッピング モーターを反時計回りに回転させます。 +-45°C 未満の場合、ステッピング モーターは時計回りに回転します。 + +現象画像 +----------------------- + +.. image:: media/image252.jpeg + :align: center \ No newline at end of file diff --git a/docs/source/3.1.7_traffic_light.rst b/docs/source/3.1.7_traffic_light.rst new file mode 100644 index 0000000..a07c11d --- /dev/null +++ b/docs/source/3.1.7_traffic_light.rst @@ -0,0 +1,441 @@ +3.1.7 信号機 +~~~~~~~~~~~~~~~~~~~ + +前書き +--------------- + +このプロジェクトでは、3色のLEDを使用して交通信号の変化を実現し、 +4桁の7セグメントディスプレイを使用して各交通状態のタイミングを表示する。 + +部品 +------------ + +.. image:: media/list_Traffic_Light.png + :align: center + +回路図 +-------------------- + +============ ======== ======== === +T-Board Name physical wiringPi BCM +GPIO17 Pin 11 0 17 +GPIO27 Pin 13 2 27 +GPIO22 Pin 15 3 22 +SPIMOSI Pin 19 12 10 +GPIO18 Pin 12 1 18 +GPIO23 Pin 16 4 23 +GPIO24 Pin 18 5 24 +GPIO25 Pin 22 6 25 +SPICE0 Pin 24 10 8 +SPICE1 Pin 26 11 7 +============ ======== ======== === + +.. image:: media/Schematic_three_one7.png + :align: center + +実験手順 +------------------------ + +ステップ1: 回路を作る。 + +.. image:: media/image254.png + :width: 800 + +C言語ユーザー向け +^^^^^^^^^^^^^^^^^^^^^^^^^^ + +ステップ2: ディレクトリを変更する。 + +.. raw:: html + + + +.. code-block:: + + cd /home/pi/davinci-kit-for-raspberry-pi/c/3.1.7/ + +ステップ3: コンパイルする。 + +.. raw:: html + + + +.. code-block:: + + gcc 3.1.7_TrafficLight.c -lwiringPi + +ステップ4: 実行する。 + +.. raw:: html + + + +.. code-block:: + + sudo ./a.out + +コードが実行されると、LEDは交通信号の色の変化をシミュレートする。 +まず、赤色のLEDが60秒間点灯し、それから緑色のLEDが30秒間点灯し、最後に、黄色のLEDが5秒間点灯する。 +その後、赤いLEDが60秒間再び点灯する。 +このようにして、この一連のアクションは繰り返し実行される。 + +**コードの説明** + +.. code-block:: c + + #define SDI 5 + #define RCLK 4 + #define SRCLK 1 + + const int placePin[] = {12, 3, 2, 0}; + unsigned char number[] = {0xc0, 0xf9, 0xa4, 0xb0, 0x99, 0x92, 0x82, 0xf8, 0x80, 0x90}; + + void pickDigit(int digit); + void hc595_shift(int8_t data); + void clearDisplay(); + void display(); + +これらのコードは、4桁7セグメントディスプレイの数値表示機能を実現するために使用されます。 +詳細については、ドキュメントの :ref:`py_4-dig` を参照してください。 +ここでは、コードを使用して信号時間のカウントダウンを表示します。 + +.. code-block:: c + + const int ledPin[]={6,10,11}; + + int colorState = 0; + + void lightup() + { + for(int i=0;i<3;i++){ + digitalWrite(ledPin[i],HIGH); + } + digitalWrite(ledPin[colorState],LOW); + } + +コードはLEDのオンとオフを切り替えるために使用される。 + +.. code-block:: c + + int greenLight = 30; + int yellowLight = 5; + int redLight = 60; + int colorState = 0; + char *lightColor[]={"Red","Green","Yellow"}; + int counter = 60; + + void timer(int timer1){ //Timer function + if(timer1 == SIGALRM){ + counter --; + alarm(1); + if(counter == 0){ + if(colorState == 0) counter = greenLight; + if(colorState == 1) counter = yellowLight; + if(colorState == 2) counter = redLight; + colorState = (colorState+1)%3; + } + printf("counter : %d \t light color: %s \n",counter,lightColor[colorState]); + } + } + +コードは、タイマーのオンとオフを切り替えるために使用されます。 詳細については、 :ref:`py_4-dig` を参照してください。 ここで、タイマーがゼロに戻ると、 ``colorState`` が切り替えられてLEDが切り替わり、タイマーが新しい値に割り当てられます。 + +.. code-block:: c + + void loop() + { + while(1){ + display(); + lightup(); + } + } + + int main(void) + { + //… + signal(SIGALRM,timer); + alarm(1); + loop(); + return 0; + } + +タイマーは ``main()`` 関数で始まる。 +``loop()`` 関数では、 ``while(1)`` loopを使用して、4桁7セグメントとLEDの関数を呼び出す。 + +Python言語ユーザー向け +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +ステップ2: ディレクトリを変更する。 + +.. raw:: html + + + +.. code-block:: + + cd /home/pi/davinci-kit-for-raspberry-pi/python/ + +ステップ3: 実行する。 + +.. raw:: html + + + +.. code-block:: + + sudo python3 3.1.7_TrafficLight.py + +コードが実行されると、LEDは交通信号の色の変化をシミュレートする。 +まず、赤色のLEDが60秒間点灯し、それから緑色のLEDが30秒間点灯し、最後に、黄色のLEDが5秒間点灯する。 +その後、赤いLEDが60秒間再び点灯する。このようにして、この一連のアクションは繰り返し実行される。 +一方、4桁の7セグメントディスプレイには、カウントダウン時間が連続して表示される。 + + + +**コード** + +.. note:: + + 以下のコードを **変更/リセット/コピー/実行/停止** できます。 ただし、その前に、 ``davinci-kit-for-raspberry-pi/python`` のようなソースコードパスに移動する必要があります。 + + +.. raw:: html + + + +.. code-block:: python + + import RPi.GPIO as GPIO + import time + import threading + + #define the pins connect to 74HC595 + SDI = 24 #serial data input(DS) + RCLK = 23 #memory clock input(STCP) + SRCLK = 18 #shift register clock input(SHCP) + number = (0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90) + + placePin = (10,22,27,17) + ledPin =(25,8,7) + + greenLight = 30 + yellowLight = 5 + redLight = 60 + lightColor=("Red","Green","Yellow") + + colorState=0 + counter = 60 + timer1 = 0 + + + def setup(): + GPIO.setmode(GPIO.BCM) + GPIO.setup(SDI, GPIO.OUT) + GPIO.setup(RCLK, GPIO.OUT) + GPIO.setup(SRCLK, GPIO.OUT) + for pin in placePin: + GPIO.setup(pin,GPIO.OUT) + for pin in ledPin: + GPIO.setup(pin,GPIO.OUT) + global timer1 + timer1 = threading.Timer(1.0,timer) + timer1.start() + + def clearDisplay(): + for i in range(8): + GPIO.output(SDI, 1) + GPIO.output(SRCLK, GPIO.HIGH) + GPIO.output(SRCLK, GPIO.LOW) + GPIO.output(RCLK, GPIO.HIGH) + GPIO.output(RCLK, GPIO.LOW) + + def hc595_shift(data): + for i in range(8): + GPIO.output(SDI, 0x80 & (data << i)) + GPIO.output(SRCLK, GPIO.HIGH) + GPIO.output(SRCLK, GPIO.LOW) + GPIO.output(RCLK, GPIO.HIGH) + GPIO.output(RCLK, GPIO.LOW) + + def pickDigit(digit): + for i in placePin: + GPIO.output(i,GPIO.LOW) + GPIO.output(placePin[digit], GPIO.HIGH) + + def timer(): #timer function + global counter + global colorState + global timer1 + timer1 = threading.Timer(1.0,timer) + timer1.start() + counter-=1 + if (counter is 0): + if(colorState is 0): + counter= greenLight + if(colorState is 1): + counter=yellowLight + if (colorState is 2): + counter=redLight + colorState=(colorState+1)%3 + print ("counter : %d color: %s "%(counter,lightColor[colorState])) + + def lightup(): + global colorState + for i in range(0,3): + GPIO.output(ledPin[i], GPIO.HIGH) + GPIO.output(ledPin[colorState], GPIO.LOW) + + def display(): + global counter + + a = counter % 10000//1000 + counter % 1000//100 + b = counter % 10000//1000 + counter % 1000//100 + counter % 100//10 + c = counter % 10000//1000 + counter % 1000//100 + counter % 100//10 + counter % 10 + + if (counter % 10000//1000 == 0): + clearDisplay() + else: + clearDisplay() + pickDigit(3) + hc595_shift(number[counter % 10000//1000]) + + if (a == 0): + clearDisplay() + else: + clearDisplay() + pickDigit(2) + hc595_shift(number[counter % 1000//100]) + + if (b == 0): + clearDisplay() + else: + clearDisplay() + pickDigit(1) + hc595_shift(number[counter % 100//10]) + + if(c == 0): + clearDisplay() + else: + clearDisplay() + pickDigit(0) + hc595_shift(number[counter % 10]) + + def loop(): + while True: + display() + lightup() + + def destroy(): # When "Ctrl+C" is pressed, the function is executed. + global timer1 + GPIO.cleanup() + timer1.cancel() #cancel the timer + + if __name__ == '__main__': # Program starting from here + setup() + try: + loop() + except KeyboardInterrupt: + destroy() + +**コードの説明** + +.. code-block:: python + + SDI = 24 #serial data input(DS) + RCLK = 23 #memory clock input(STCP) + SRCLK = 18 #shift register clock input(SHCP) + number = (0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90) + placePin = (10,22,27,17) + + def clearDisplay(): + def hc595_shift(data): + def pickDigit(digit): + def display(): + +これらのコードは、4桁7セグメントの数値表示機能を実現するために使用されます。 +詳細については、ドキュメントの :ref:`py_4-dig` を参照してください。 +ここでは、コードを使用して信号時間のカウントダウンを表示します。 + +.. code-block:: python + + ledPin =(25,8,7) + colorState=0 + + def lightup(): + global colorState + for i in range(0,3): + GPIO.output(ledPin[i], GPIO.HIGH) + GPIO.output(ledPin[colorState], GPIO.LOW) + +コードはLEDのオンとオフを切り替えるために使用される。 + +.. code-block:: python + + greenLight = 30 + yellowLight = 5 + redLight = 60 + lightColor=("Red","Green","Yellow") + + colorState=0 + counter = 60 + timer1 = 0 + + def timer(): #timer function + global counter + global colorState + global timer1 + timer1 = threading.Timer(1.0,timer) + timer1.start() + counter-=1 + if (counter is 0): + if(colorState is 0): + counter= greenLight + if(colorState is 1): + counter=yellowLight + if (colorState is 2): + counter=redLight + colorState=(colorState+1)%3 + print ("counter : %d color: %s "%(counter,lightColor[colorState])) + + +コードは、タイマーのオンとオフを切り替えるために使用されます。 +詳細については、 :ref:`py_4-dig` を参照してください。 +ここで、タイマーがゼロに戻ると、 +``colorState`` が切り替えられてLEDが切り替わり、タイマーが新しい値に割り当てられます。 + +.. code-block:: python + + def setup(): + # ... + global timer1 + timer1 = threading.Timer(1.0,timer) + timer1.start() + + def loop(): + while True: + display() + lightup() + + def destroy(): # When "Ctrl+C" is pressed, the function is executed. + global timer1 + GPIO.cleanup() + timer1.cancel() #cancel the timer + + if __name__ == '__main__': # Program starting from here + setup() + try: + loop() + except KeyboardInterrupt: + destroy() + + + +``setup()`` 関数で、タイマーを開始する。 +``loop()`` 関数では、 ``while True`` が使用される:4-桁の7-セグメントとLEDの相対関数を循環的に呼び出す。 + +現象画像 +------------------- + +.. image:: media/IMG_8319.jpg + :width: 800 + :align: center \ No newline at end of file diff --git a/docs/source/3.1.8_overheat_monitor.rst b/docs/source/3.1.8_overheat_monitor.rst new file mode 100644 index 0000000..a523fc9 --- /dev/null +++ b/docs/source/3.1.8_overheat_monitor.rst @@ -0,0 +1,444 @@ +3.1.8 過熱モニター +~~~~~~~~~~~~~~~~~~~~~~ + +前書き +------------------- + +回路の過熱が発生したときに警報装置とタイムリーな自動電源切断を希望する場合は、 +工場などのさまざまな状況に適用される過熱監視装置を作成することができる。 +このレッスンでは、サーミスタ、ジョイスティック、ブザー、LED、とLCDを使用して、 +しきい値が調整可能なスマートな温度監視装置を作成する。 + +部品 +----------------- + +.. image:: media/list_Overheat_Monitor.png + :align: center + +.. image:: media/list_Overheat_Monitor2.png + :align: center + +回路図 +-------------------------- + +============ ======== ======== === +T-Board Name physical wiringPi BCM +GPIO17 Pin 11 0 17 +GPIO18 Pin 12 1 18 +GPIO27 Pin 13 2 27 +GPIO22 Pin15 3 22 +GPIO23 Pin16 4 23 +GPIO24 Pin18 5 24 +SDA1 Pin 3 +SCL1 Pin 5 +============ ======== ======== === + +.. image:: media/Schematic_three_one8.png + :width: 700 + :align: center + +実験手順 +----------------------------- + +ステップ1: 回路を作る。 + +.. image:: media/image258.png + :alt: Overheat Monitor_bb + :width: 800 + +C言語ユーザー向け +^^^^^^^^^^^^^^^^^^^^^^^^^^ + +ステップ2: コードのフォルダーに入る。 + +.. raw:: html + + + +.. code-block:: + + cd /home/pi/davinci-kit-for-raspberry-pi/c/3.1.8/ + +ステップ3: コードをコンパイルする。 + +.. raw:: html + + + +.. code-block:: + + gcc 3.1.8_OverheatMonitor.c -lwiringPi -lm + +ステップ4: EXEファイルを実行する。 + +.. raw:: html + + + +.. code-block:: + + sudo ./a.out + +コードが実行されると、現在の温度と高温のしきい値 40 が I2C LCD1602 に表示される。 +現在の温度がしきい値よりも大きい場合、ブザーとLEDが起動して警告を発する。 + +ここの ジョイスティック は高温のしきい値を調整するために使用される。 ジョイスティック をX軸とY軸の方向に切り替えると、現在の高温しきい値を調整できる(上/下)。 ジョイスティック をもう一度押して、しきい値を初期値にリセットする。 + +**コードの説明** + +.. code-block:: c + + int get_joystick_value(){ +     uchar x_val; +     uchar y_val; +     x_val = get_ADC_Result(1); +     y_val = get_ADC_Result(2); +     if (x_val > 200){ +         return 1; +     } +     else if(x_val < 50){ +         return -1; +     } +     else if(y_val > 200){ +         return -10; +     } +     else if(y_val < 50){ +         return 10; +     } +     else{ +         return 0; +     } + } + +この関数は、XとYの値を読み取る。X>200 の場合、「1」が返される。 +X<50 の場合、「-1」が返される。 y>200 の場合、「-10」を返し、 y<50 の場合、「10」を返す。 + +.. code-block:: c + + void upper_tem_setting(){ +     write(0, 0, "Upper Adjust:"); +     int change = get_joystick_value(); +     upperTem = upperTem + change; +     char str[6]; +     snprintf(str,3,"%d",upperTem); + write(0,1,str); + int len; +   len = strlen(str); +   write(len,1,"             "); +     delay(100); + } + +この機能は、しきい値を調整し、I2C LCD1602に表示するために使用される。 + +.. code-block:: c + + double temperature(){ +     unsigned char temp_value; +     double Vr, Rt, temp, cel, Fah; +     temp_value = get_ADC_Result(0); +     Vr = 5 * (double)(temp_value) / 255; +     Rt = 10000 * (double)(Vr) / (5 - (double)(Vr)); +     temp = 1 / (((log(Rt/10000)) / 3950)+(1 / (273.15 + 25))); +     cel = temp - 273.15; +     Fah = cel * 1.8 +32; +     return cel; + } + +ADC0834 の CH0 (サーミスタ)のアナログ値を読み取り、温度値に変換する。 + +.. code-block:: c + + void monitoring_temp(){ +     char str[6]; +     double cel = temperature(); +     snprintf(str,6,"%.2f",cel); +     write(0, 0, "Temp: "); +     write(6, 0, str); +     snprintf(str,3,"%d",upperTem); +     write(0, 1, "Upper: "); +     write(7, 1, str); +     delay(100); +     if(cel >= upperTem){ +         digitalWrite(buzzPin, HIGH); +         digitalWrite(LedPin, HIGH); +     } +     else if(cel < upperTem){ +         digitalWrite(buzzPin, LOW); +         digitalWrite(LedPin, LOW); +     } + } + +コードが実行されると、現在の温度と高温のしきい値 40 が I2C LCD1602 に表示される。 +現在の温度がしきい値よりも大きい場合、ブザーとLEDが起動して警告を発する。 + +.. code-block:: c + + int main(void) + { +     setup(); +     int lastState =1; +     int stage=0; +     while (1) +     { +         int currentState = digitalRead(Joy_BtnPin); +         if(currentState==1 && lastState == 0){ +             stage=(stage+1)%2; +             delay(100); +             lcd_clear(); +         } +         lastState=currentState; +         if (stage==1){ +             upper_tem_setting(); +         } +         else{ +             monitoring_temp(); +         } +     } +     return 0; + } + +関数 ``main()`` には、次のようにプログラムプロセス全体が含まれる: + +* プログラムが開始すると、 ステージ の初期値は 0 になり、現在の温度と高温しきい値 40 が I2C LCD1602 に表示される。現在の温度がしきい値よりも大きい場合、ブザーとLEDが起動して警告を出す。 + +* ジョイスティックを押すと、 ステージ が 1 になり、高温しきい値を調整できる。ジョイスティックをX軸とY軸の方向に切り替えると、現在のしきい値を調整(上下)できる。ジョイスティックをもう一度押して、しきい値を初期値にリセットする。 + +Python言語ユーザー向け +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +ステップ2: コードのフォルダーに入る。 + +.. raw:: html + + + +.. code-block:: + + cd /home/pi/davinci-kit-for-raspberry-pi/python/ + +ステップ3: EXEファイルを実行する。 + +.. raw:: html + + + +.. code-block:: + + sudo python3 3.1.8_OverheatMonitor.py + +コードが実行されると、現在の温度と高温のしきい値 40 が I2C LCD1602 に表示される。 +現在の温度がしきい値よりも大きい場合、ブザーとLEDが起動して警告を発する。 + +ここの ジョイスティック は高温のしきい値を調整するために使用される。 +ジョイスティック をX軸とY軸の方向に切り替えると、現在の高温しきい値を調整できる(上/下)。 +ジョイスティック をもう一度押して、しきい値を初期値にリセットする。 + + + +**コード** + +.. note:: + + 以下のコードを **変更/リセット/コピー/実行/停止** できます。 ただし、その前に、 ``davinci-kit-for-raspberry-pi/python`` のようなソースコードパスに移動する必要があります。 + + +.. raw:: html + + + +.. code-block:: python + + import LCD1602 + import RPi.GPIO as GPIO + import ADC0834 + import time + import math + + Joy_BtnPin = 22 + buzzPin = 23 + ledPin = 24 + + + upperTem = 40 + + def setup(): + ADC0834.setup() + GPIO.setmode(GPIO.BCM) + GPIO.setup(ledPin, GPIO.OUT, initial=GPIO.LOW) + GPIO.setup(buzzPin, GPIO.OUT, initial=GPIO.LOW) + GPIO.setup(Joy_BtnPin, GPIO.IN, pull_up_down=GPIO.PUD_UP) + LCD1602.init(0x27, 1) + + def get_joystick_value(): + x_val = ADC0834.getResult(1) + y_val = ADC0834.getResult(2) + if(x_val > 200): + return 1 + elif(x_val < 50): + return -1 + elif(y_val > 200): + return -10 + elif(y_val < 50): + return 10 + else: + return 0 + + def upper_tem_setting(): + global upperTem + LCD1602.write(0, 0, 'Upper Adjust: ') + change = int(get_joystick_value()) + upperTem = upperTem + change + strUpperTem = str(upperTem) + LCD1602.write(0, 1, strUpperTem) + LCD1602.write(len(strUpperTem),1, ' ') + time.sleep(0.1) + + def temperature(): + analogVal = ADC0834.getResult() + Vr = 5 * float(analogVal) / 255 + Rt = 10000 * Vr / (5 - Vr) + temp = 1/(((math.log(Rt / 10000)) / 3950) + (1 / (273.15+25))) + Cel = temp - 273.15 + Fah = Cel * 1.8 + 32 + return round(Cel,2) + + def monitoring_temp(): + global upperTem + Cel=temperature() + LCD1602.write(0, 0, 'Temp: ') + LCD1602.write(0, 1, 'Upper: ') + LCD1602.write(6, 0, str(Cel)) + LCD1602.write(7, 1, str(upperTem)) + time.sleep(0.1) + if Cel >= upperTem: + GPIO.output(buzzPin, GPIO.HIGH) + GPIO.output(ledPin, GPIO.HIGH) + else: + GPIO.output(buzzPin, GPIO.LOW) + GPIO.output(ledPin, GPIO.LOW) + + def loop(): + lastState=1 + stage=0 + while True: + currentState=GPIO.input(Joy_BtnPin) + if currentState==1 and lastState ==0: + stage=(stage+1)%2 + time.sleep(0.1) + LCD1602.clear() + lastState=currentState + if stage == 1: + upper_tem_setting() + else: + monitoring_temp() + + def destroy(): + LCD1602.clear() + ADC0834.destroy() + GPIO.cleanup() + + if __name__ == '__main__': # Program start from here + try: + setup() + while True: + loop() + except KeyboardInterrupt: # When 'Ctrl+C' is pressed, the program destroy() will be executed. + destroy() + +**コードの説明** + +.. code-block:: python + + def get_joystick_value(): +     x_val = ADC0834.getResult(1) +     y_val = ADC0834.getResult(2) +     if(x_val > 200): +         return 1 +     elif(x_val < 50): +         return -1 +     elif(y_val > 200): +         return -10 +     elif(y_val < 50): +         return 10 +     else: +         return 0 + +この関数は、XとYの値を読み取る。 +X>200 の場合、「1」が返される。 +X<50 の場合、「-1」が返される。 +y>200 の場合、「-10」を返し、 y<50 の場合、「10」を返す。 + +.. code-block:: python + + def upper_tem_setting(): +     global upperTem +     LCD1602.write(0, 0, 'Upper Adjust: ') +     change = int(get_joystick_value()) +     upperTem = upperTem + change + LCD1602.write(0, 1, str(upperTem)) + LCD1602.write(len(strUpperTem),1, ' ') +     time.sleep(0.1) + +この機能は、しきい値を調整し、I2C LCD1602に表示するために使用される。 + +.. code-block:: python + + def temperature(): +     analogVal = ADC0834.getResult() +     Vr = 5 * float(analogVal) / 255 +     Rt = 10000 * Vr / (5 - Vr) +     temp = 1/(((math.log(Rt / 10000)) / 3950) + (1 / (273.15+25))) +     Cel = temp - 273.15 +     Fah = Cel * 1.8 + 32 +     return round(Cel,2) + +ADC0834 の CH0 (サーミスタ)のアナログ値を読み取り、温度値に変換する。 + +.. code-block:: python + + def monitoring_temp(): +     global upperTem +     Cel=temperature() +     LCD1602.write(0, 0, 'Temp: ') +     LCD1602.write(0, 1, 'Upper: ') +     LCD1602.write(6, 0, str(Cel)) +     LCD1602.write(7, 1, str(upperTem)) +     time.sleep(0.1) +     if Cel >= upperTem: +         GPIO.output(buzzPin, GPIO.HIGH) +         GPIO.output(ledPin, GPIO.HIGH) +     else: +         GPIO.output(buzzPin, GPIO.LOW) +         GPIO.output(ledPin, GPIO.LOW) + +コードが実行されると、現在の温度と高温のしきい値 40 が I2C LCD1602 に表示される。 +現在の温度がしきい値よりも大きい場合、ブザーとLEDが起動して警告を発する。 + +.. code-block:: python + + def loop(): +     lastState=1 +     stage=0 +     while True: +         currentState=GPIO.input(Joy_BtnPin) +         if currentState==1 and lastState ==0: +             stage=(stage+1)%2 +             time.sleep(0.1)     +             LCD1602.clear() +         lastState=currentState +         if stage == 1: +             upper_tem_setting() +         else: +             monitoring_temp() + +関数 ``main()`` には、次のようにプログラムプロセス全体が含まれる: + +* プログラムが開始すると、 ステージ の初期値は 0 になり、現在の温度と高温しきい値 40 が I2C LCD1602 に表示される。現在の温度がしきい値よりも大きい場合、ブザーとLEDが起動して警告を出す。 + +* ジョイスティックを押すと、ステージ が 1 になり、高温しきい値を調整できる。ジョイスティックをX軸とY軸の方向に切り替えると、現在の高温しきい値を調整(上下)できる。ジョイスティックをもう一度押して、しきい値を初期値にリセットする。 + +現象画像 +------------------------- + +.. image:: media/image259.jpeg + :align: center \ No newline at end of file diff --git a/docs/source/3.1.9_password_lock.rst b/docs/source/3.1.9_password_lock.rst new file mode 100644 index 0000000..e8c8b91 --- /dev/null +++ b/docs/source/3.1.9_password_lock.rst @@ -0,0 +1,359 @@ +3.1.9 パスワードロック +~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +前書き +------------- + +このプロジェクトでは、キーパッドとLCDを使用してコンビネーションロックを作成する。LCDはキーパッドでパスワードを入力するための対応するプロンプトを表示する。パスワードが正しく入力されると、「Correct」と表示される。 + +このプロジェクトに基づいて、ブザー、LEDなどの電子部品を追加して、パスワード入力にさまざまな実験現象を追加できる。 + +部品 +-------------- + +.. image:: media/list_Password_Lock.png + :align: center + +回路図 +------------------ + +============ ======== ======== === +T-Board Name physical wiringPi BCM +GPIO18 Pin 12 1 18 +GPIO23 Pin 16 4 23 +GPIO24 Pin 18 5 24 +GPIO25 Pin 22 6 25 +GPIO17 Pin 11 0 17 +GPIO27 Pin 13 2 27 +GPIO22 Pin 15 3 22 +SPIMOSI Pin 19 12 10 +SDA1 Pin 3 +SCL1 Pin 5 +============ ======== ======== === + +.. image:: media/Schematic_three_one9.png + :align: center + +実験手順 +------------------------- + +ステップ1: 回路を作る。 + +.. image:: media/image262.png + :alt: 3.1.3_PasswordLock_bb_看图王 + :width: 800 + +C言語ユーザー向け +^^^^^^^^^^^^^^^^^^^^^^^^^^ + +ステップ2: ディレクトリを変更する。 + +.. raw:: html + + + +.. code-block:: + + cd /home/pi/davinci-kit-for-raspberry-pi/c/3.1.9/ + +ステップ3: コンパイルする。 + +.. raw:: html + + + +.. code-block:: + + gcc 3.1.9_PasswordLock.cpp -lwiringPi + +ステップ4: 実行する。 + +.. raw:: html + + + +.. code-block:: + + sudo ./a.out + +コードの実行後、キーパッドを使用してパスワードを入力する。LCD1602に「CORRECT」と表示されている場合、パスワードに問題はない。そうでない場合、「WRONG KEY」が表示される。 + +**コードの説明** + +.. code-block:: c + + #define ROWS 4 + #define COLS 4 + #define BUTTON_NUM (ROWS * COLS) + #define LENS 4 + + unsigned char KEYS[BUTTON_NUM] { + '1','2','3','A', + '4','5','6','B', + '7','8','9','C', + '*','0','#','D'}; + + char password[LENS]={'1','9','8','4'}; + +ここでは、パスワードLENS、 +ストレージマトリックスキーボードキー値配列KEYSと正しいパスワードを保存する配列の長さを定義する。 + +.. code-block:: c + + void keyRead(unsigned char* result); + bool keyCompare(unsigned char* a, unsigned char* b); + void keyCopy(unsigned char* a, unsigned char* b); + void keyPrint(unsigned char* a); + void keyClear(unsigned char* a); + int keyIndexOf(const char value); + +マトリックスキーボードコードのサブ機能の宣言があります。 +詳細については、このドキュメントの :ref:`py_keypad` を参照してください。 + +.. code-block:: c + + void write_word(int data); + void send_command(int comm); + void send_data(int data); + void lcdInit(); + void clear(); + void write(int x, int y, char const data[]); + +LCD1062コードのサブ機能の宣言があります。参照してください。 +詳細については、このドキュメントの :ref:`py_lcd` を参照してください。 + +.. code-block:: c + + while(1){ + keyRead(pressed_keys); + bool comp = keyCompare(pressed_keys, last_key_pressed); + ... + testword[keyIndex]=pressed_keys[0]; + keyIndex++; + if(keyIndex==LENS){ + if(check()==0){ + clear(); + write(3, 0, "WRONG KEY!"); + write(0, 1, "please try again"); + } + ... + +キー値を読み取り、テスト配列テストワードに保存する。保存されているキー値の数が4を超える場合、 +パスワードの正確さが自動的に検証され、検証結果がLCDインターフェイスに表示される。 + +.. code-block:: c + + int check(){ + for(int i=0;i + +.. code-block:: + + cd /home/pi/davinci-kit-for-raspberry-pi/python/ + +ステップ3: 実行する。 + +.. raw:: html + + + +.. code-block:: + + sudo python3 3.1.9_PasswordLock.py + +コードの実行後、キーパッドを使用してパスワードを入力する:1984。LCD1602に「CORRECT」と表示されている場合、 +パスワードに問題はない。そうでない場合、「WRONG KEY」が表示される。 + + +**コード** + +.. note:: + + 以下のコードを **変更/リセット/コピー/実行/停止** できます。 ただし、その前に、 ``davinci-kit-for-raspberry-pi/python`` のようなソースコードパスに移動する必要があります。 + + +.. raw:: html + + + +.. code-block:: python + + import RPi.GPIO as GPIO + import time + import LCD1602 + + ##################### HERE IS THE KEYPAD LIBRARY TRANSPLANTED FROM Arduino ############ + #class Key:Define some of the properties of Key + class Keypad(): + + def __init__(self, rowsPins, colsPins, keys): + self.rowsPins = rowsPins + self.colsPins = colsPins + self.keys = keys + GPIO.setwarnings(False) + GPIO.setmode(GPIO.BCM) + GPIO.setup(self.rowsPins, GPIO.OUT, initial=GPIO.LOW) + GPIO.setup(self.colsPins, GPIO.IN, pull_up_down=GPIO.PUD_DOWN) + + def read(self): + pressed_keys = [] + for i, row in enumerate(self.rowsPins): + GPIO.output(row, GPIO.HIGH) + for j, col in enumerate(self.colsPins): + index = i * len(self.colsPins) + j + if (GPIO.input(col) == 1): + pressed_keys.append(self.keys[index]) + GPIO.output(row, GPIO.LOW) + return pressed_keys + + ################ EXAMPLE CODE START HERE ################ + LENS = 4 + password=['1','9','8','4'] + testword=['0','0','0','0'] + keyIndex=0 + + def check(): + for i in range(0,LENS): + if(password[i]!=testword[i]): + return 0 + return 1 + + def setup(): + global keypad, last_key_pressed + rowsPins = [18,23,24,25] + colsPins = [10,22,27,17] + keys = ["1","2","3","A", + "4","5","6","B", + "7","8","9","C", + "*","0","#","D"] + keypad = Keypad(rowsPins, colsPins, keys) + last_key_pressed = [] + LCD1602.init(0x27, 1) # init(slave address, background light) + LCD1602.clear() + LCD1602.write(0, 0, 'WELCOME!') + LCD1602.write(2, 1, 'Enter password') + time.sleep(2) + + def destroy(): + LCD1602.clear() + GPIO.cleanup() + + def loop(): + global keyIndex + global LENS + global keypad, last_key_pressed + while(True): + pressed_keys = keypad.read() + if len(pressed_keys) != 0 and last_key_pressed != pressed_keys: + LCD1602.clear() + LCD1602.write(0, 0, "Enter password:") + LCD1602.write(15-keyIndex,1, pressed_keys) + testword[keyIndex]=pressed_keys + keyIndex+=1 + if (keyIndex is LENS): + if (check() is 0): + LCD1602.clear() + LCD1602.write(3, 0, "WRONG KEY!") + LCD1602.write(0, 1, "please try again") + else: + LCD1602.clear() + LCD1602.write(4, 0, "CORRECT!") + LCD1602.write(2, 1, "welcome back") + keyIndex=keyIndex%LENS + + last_key_pressed = pressed_keys + time.sleep(0.1) + + if __name__ == '__main__': # Program start from here + try: + setup() + loop() + except KeyboardInterrupt: # When 'Ctrl+C' is pressed, the program destroy() will be executed. + destroy() + + + + +**コードの説明** + +.. code-block:: python + + LENS = 4 + password=['1','9','8','4'] + ... + rowsPins = [18,23,24,25] + colsPins = [10,22,27,17] + keys = ["1","2","3","A", + "4","5","6","B", + "7","8","9","C", + "*","0","#","D"] + + + +ここでは、パスワードLENSの長さ、 +マトリックスキーボードキーを保存する配列キーと正しいパスワードを保存する配列パスワードを定義する。 + +.. code-block:: python + + class Keypad(): + def __init__(self, rowsPins, colsPins, keys): + self.rowsPins = rowsPins + self.colsPins = colsPins + self.keys = keys + GPIO.setwarnings(False) + GPIO.setmode(GPIO.BCM) + GPIO.setup(self.rowsPins, GPIO.OUT, initial=GPIO.LOW) + GPIO.setup(self.colsPins, GPIO.IN, pull_up_down=GPIO.PUD_DOWN) + ... + +このクラスは、押されたキーの値を読み取るコードです。 +詳細については、このドキュメントの :ref:`py_keypad` を参照してください。 + +.. code-block:: python + + while(True): + pressed_keys = keypad.read() + if len(pressed_keys) != 0 and last_key_pressed != pressed_keys: + LCD1602.clear() + LCD1602.write(0, 0, "Enter password:") + LCD1602.write(15-keyIndex,1, pressed_keys) + testword[keyIndex]=pressed_keys + keyIndex+=1 + ... + + + +キー値を読み取り、テスト配列テストワードに保存する。保存されているキー値の数が4を超える場合、パスワードの正確さが自動的に検証され、検証結果がLCDインターフェイスに表示される。 + +.. code-block:: python + + def check(): + for i in range(0,LENS): + if(password[i]!=testword[i]): + return 0 + return 1 + +パスワードの正確さを確認してください。パスワードが正しく入力された場合は1を返し、そうでない場合は0を返す。 + +現象画像 +--------------------- + +.. image:: media/image263.jpeg + :align: center \ No newline at end of file diff --git a/docs/source/3_extension.rst b/docs/source/3_extension.rst new file mode 100644 index 0000000..3a38877 --- /dev/null +++ b/docs/source/3_extension.rst @@ -0,0 +1,20 @@ +3 拡張 +=============== + +.. toctree:: + :maxdepth: 1 + + 3.1.1_counting_device + 3.1.2_welcome + 3.1.3_reversing_alarm + 3.1.4_smart_fan + 3.1.5_battery_indicator + 3.1.6_motion_control + 3.1.7_traffic_light + 3.1.8_overheat_monitor + 3.1.9_password_lock + 3.1.10_alarm_bell + 3.1.11_morse_code_generator + 3.1.12_game_guess_number + 3.1.13_game_10_second + 3.1.14_game_not_not \ No newline at end of file diff --git a/docs/source/_templates/layout.html b/docs/source/_templates/layout.html new file mode 100644 index 0000000..4048683 --- /dev/null +++ b/docs/source/_templates/layout.html @@ -0,0 +1,13 @@ +{%- extends "!layout.html" %} + +{% block extrabody %} + +{% endblock %} \ No newline at end of file diff --git a/docs/source/appendix/appendix.rst b/docs/source/appendix/appendix.rst new file mode 100644 index 0000000..dc700dd --- /dev/null +++ b/docs/source/appendix/appendix.rst @@ -0,0 +1,8 @@ +付録 +============== + +.. toctree:: + :maxdepth: 2 + + i2c_configuration + spi_configuration \ No newline at end of file diff --git a/docs/source/appendix/i2c_configuration.rst b/docs/source/appendix/i2c_configuration.rst new file mode 100644 index 0000000..f105da1 --- /dev/null +++ b/docs/source/appendix/i2c_configuration.rst @@ -0,0 +1,112 @@ +.. _i2c_config: + +I2C構成 +----------------------- + +ステップ1: Raspberry PiのI2Cポートを有効にしてください(有効にしている場合はスキップしてください。 + +.. raw:: html + + + +.. code-block:: + + sudo raspi-config + +**3 Interfacing options** + +.. image:: media/image282.png + :align: center + +**P5 I2C** + +.. image:: media/image283.png + :align: center + +**、次に -> ** + +.. image:: media/image284.png + :align: center + +ステップ2: i2cモジュールがロードされ、アクティブになっているかどうかを確認します。 + +.. raw:: html + + + +.. code-block:: + + lsmod | grep i2c + +すると、次のようなコードが表示されます(番号は異なる場合があります)。 + +.. code-block:: + + i2c_dev 6276 0 + i2c_bcm2708 4121 0 + +ステップ3: i2c-toolsをインストールします。 + +.. raw:: html + + + +.. code-block:: + + sudo apt-get install i2c-tools + +ステップ4: I2Cデバイスのアドレスを確認します。 + +.. raw:: html + + + +.. code-block:: + + i2cdetect -y 1 # For Raspberry Pi 2 and higher version + +.. raw:: html + + + +.. code-block:: + + i2cdetect -y 0 # For Raspberry Pi 1 + + +.. code-block:: + + pi@raspberrypi ~ $ i2cdetect -y 1 + 0 1 2 3 4 5 6 7 8 9 a b c d e f + 00: -- -- -- -- -- -- -- -- -- -- -- -- -- + 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- + 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- + 30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- + 40: -- -- -- -- -- -- -- -- 48 -- -- -- -- -- -- -- + 50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- + 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- + 70: -- -- -- -- -- -- -- -- + +I2Cデバイスが接続されている場合は、デバイスのアドレスが表示されます。 + +ステップ5: + +C言語をお使いの方へ: libi2c-devをインストールしてください。 + +.. raw:: html + + + +.. code-block:: + + sudo apt-get install libi2c-dev + +Pythonユーザーの場合: I2C用のsmbusをインストールします。 + +.. raw:: html + + + +.. code-block:: + + sudo pip3 install smbus2 \ No newline at end of file diff --git a/docs/source/appendix/media/image20.png b/docs/source/appendix/media/image20.png new file mode 100644 index 0000000..bd4fd42 Binary files /dev/null and b/docs/source/appendix/media/image20.png differ diff --git a/docs/source/appendix/media/image282.png b/docs/source/appendix/media/image282.png new file mode 100644 index 0000000..ecbebd1 Binary files /dev/null and b/docs/source/appendix/media/image282.png differ diff --git a/docs/source/appendix/media/image283.png b/docs/source/appendix/media/image283.png new file mode 100644 index 0000000..9c57841 Binary files /dev/null and b/docs/source/appendix/media/image283.png differ diff --git a/docs/source/appendix/media/image284.png b/docs/source/appendix/media/image284.png new file mode 100644 index 0000000..9166f7a Binary files /dev/null and b/docs/source/appendix/media/image284.png differ diff --git a/docs/source/appendix/media/image285.png b/docs/source/appendix/media/image285.png new file mode 100644 index 0000000..cafe445 Binary files /dev/null and b/docs/source/appendix/media/image285.png differ diff --git a/docs/source/appendix/media/image286.png b/docs/source/appendix/media/image286.png new file mode 100644 index 0000000..ce376ef Binary files /dev/null and b/docs/source/appendix/media/image286.png differ diff --git a/docs/source/appendix/media/image287.png b/docs/source/appendix/media/image287.png new file mode 100644 index 0000000..6975fa5 Binary files /dev/null and b/docs/source/appendix/media/image287.png differ diff --git a/docs/source/appendix/media/image288.png b/docs/source/appendix/media/image288.png new file mode 100644 index 0000000..e78506c Binary files /dev/null and b/docs/source/appendix/media/image288.png differ diff --git a/docs/source/appendix/media/image289.png b/docs/source/appendix/media/image289.png new file mode 100644 index 0000000..8e183fc Binary files /dev/null and b/docs/source/appendix/media/image289.png differ diff --git a/docs/source/appendix/media/image290.png b/docs/source/appendix/media/image290.png new file mode 100644 index 0000000..4b93615 Binary files /dev/null and b/docs/source/appendix/media/image290.png differ diff --git a/docs/source/appendix/media/image291.png b/docs/source/appendix/media/image291.png new file mode 100644 index 0000000..6565dbb Binary files /dev/null and b/docs/source/appendix/media/image291.png differ diff --git a/docs/source/appendix/media/image292.png b/docs/source/appendix/media/image292.png new file mode 100644 index 0000000..89167e0 Binary files /dev/null and b/docs/source/appendix/media/image292.png differ diff --git a/docs/source/appendix/media/image293.png b/docs/source/appendix/media/image293.png new file mode 100644 index 0000000..617385b Binary files /dev/null and b/docs/source/appendix/media/image293.png differ diff --git a/docs/source/appendix/media/image294.png b/docs/source/appendix/media/image294.png new file mode 100644 index 0000000..685a67d Binary files /dev/null and b/docs/source/appendix/media/image294.png differ diff --git a/docs/source/appendix/media/image295.png b/docs/source/appendix/media/image295.png new file mode 100644 index 0000000..b3483de Binary files /dev/null and b/docs/source/appendix/media/image295.png differ diff --git a/docs/source/appendix/media/image296.png b/docs/source/appendix/media/image296.png new file mode 100644 index 0000000..c8f05a3 Binary files /dev/null and b/docs/source/appendix/media/image296.png differ diff --git a/docs/source/appendix/media/image297.png b/docs/source/appendix/media/image297.png new file mode 100644 index 0000000..8a24413 Binary files /dev/null and b/docs/source/appendix/media/image297.png differ diff --git a/docs/source/appendix/spi_configuration.rst b/docs/source/appendix/spi_configuration.rst new file mode 100644 index 0000000..b6609f1 --- /dev/null +++ b/docs/source/appendix/spi_configuration.rst @@ -0,0 +1,64 @@ +.. _spi_config: + +SPI構成 +----------------------- + +ステップ1:Raspberry PiのSPIポートを有効にします(有効にしている場合はスキップします。有効にしたかどうかわからない場合は続行してください)。 + +.. raw:: html + + + +.. code-block:: + + sudo raspi-config + +**3 Interfacing options** + +.. image:: media/image282.png + :align: center + +**P4 SPI** + +.. image:: media/image285.png + :align: center + + をクリックし、 をクリックします。 これで、 ``sudo reboot`` コマンドを使用してRaspberryPiを再起動できます。 + +.. image:: media/image286.png + :align: center + + +ステップ2: spiモジュールがロードされてアクティブになっていることを確認します。 + +.. raw:: html + + + +.. code-block:: + + ls /dev/sp* + +次に、次のコードが表示されます(番号は異なる場合があります)。 + + +.. code-block:: + + /dev/spidev0.0 /dev/spidev0.1 + +ステップ3: PythonモジュールSPI-Pyをインストールします。 + +.. raw:: html + + + +.. code-block:: + + git clone https://github.com/lthiery/SPI-Py.git + cd SPI-Py + sudo python3 setup.py install + +.. note:: + + この手順はPythonユーザー向けです。C言語を使用している場合は、スキップしてください。 + diff --git a/docs/source/component_list.rst b/docs/source/component_list.rst new file mode 100644 index 0000000..bc68ac7 --- /dev/null +++ b/docs/source/component_list.rst @@ -0,0 +1,10 @@ +部品一覧 +================ + +パッケージを開封した後、部品の数量が製品の説明に一致しているかどうか、およびすべての部品が良好な状態にあるかどうかを確認してください。 + +.. image:: media/image4.jpeg +.. image:: media/image6.png +.. image:: media/image8.jpeg +.. image:: media/image9.jpeg + diff --git a/docs/source/conf.py b/docs/source/conf.py index e1c38e8..6ad93e0 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -16,13 +16,11 @@ # -- Project information ----------------------------------------------------- +import sphinx_rtd_theme -project = 'davinci-kit-for-raspberry-pi' -copyright = '2023, sunfounder' -author = 'sunfounder' - -# The full version, including alpha/beta/rc tags -release = '1.0' +project = 'SunFounder davinci-kit-for-raspberry-pi' +copyright = '2022, SunFounder' +author = 'www.sunfounder.com' # -- General configuration --------------------------------------------------- @@ -30,19 +28,12 @@ # Add any Sphinx extension module names here, as strings. They can be # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom # ones. -extensions = [ +extensions = ['sphinx.ext.autosectionlabel' ] # Add any paths that contain templates here, relative to this directory. templates_path = ['_templates'] -# The language for content autogenerated by Sphinx. Refer to documentation -# for a list of supported languages. -# -# This is also used if you do content translation via gettext catalogs. -# Usually you set "language" from the command line for these cases. -language = 'en' - # List of patterns, relative to source directory, that match files and # directories to ignore when looking for source files. # This pattern also affects html_static_path and html_extra_path. @@ -54,18 +45,34 @@ # The theme to use for HTML and HTML Help pages. See the documentation for # a list of builtin themes. # -html_theme = 'alabaster' - -# Add any paths that contain custom static files (such as style sheets) here, -# relative to this directory. They are copied after the builtin static files, -# so a file named "default.css" will overwrite the builtin "default.css". -html_static_path = ['_static'] -import sphinx_rtd_theme html_theme = 'sphinx_rtd_theme' html_theme_path = [sphinx_rtd_theme.get_html_theme_path()] + +#### RTD+ + html_js_files = [ - 'https://ezblock.cc/readDocFile/topHead.js', + 'https://ezblock.cc/readDocFile/custom.js', + 'https://ezblock.cc/readDocFile/readTheDoc/src/js/ace.js', + 'https://ezblock.cc/readDocFile/readTheDoc/src/js/ext-language_tools.js', + 'https://ezblock.cc/readDocFile/readTheDoc/src/js/theme-chrome.js', + 'https://ezblock.cc/readDocFile/readTheDoc/src/js/mode-python.js', + 'https://ezblock.cc/readDocFile/readTheDoc/src/js/mode-sh.js', + 'https://ezblock.cc/readDocFile/readTheDoc/src/js/monokai.js', + 'https://ezblock.cc/readDocFile/readTheDoc/src/js/xterm.js', + 'https://ezblock.cc/readDocFile/readTheDoc/src/js/FitAddon.js', + 'https://ezblock.cc/readDocFile/readTheDoc/src/js/readTheDocIndex.js', ] html_css_files = [ - 'https://ezblock.cc/readDocFile/topHead.css', + 'https://ezblock.cc/readDocFile/custom.css', + 'https://ezblock.cc/readDocFile/readTheDoc/src/css/index.css', + 'https://ezblock.cc/readDocFile/readTheDoc/src/css/xterm.css', ] + + + +# Multi-language + +language = 'en' # Before running make html, set the language. +locale_dirs = ['locale/'] # .po files for other languages are placed in the locale/ folder. + +gettext_compact = False # Support for generating the contents of the folders inside source/ into other languages. diff --git a/docs/source/download_the_code.rst b/docs/source/download_the_code.rst new file mode 100644 index 0000000..05ff86b --- /dev/null +++ b/docs/source/download_the_code.rst @@ -0,0 +1,38 @@ +コードをダウンロードする +======================== + + +コードをダウンロードする前に、サンプルコードはRaspberry Pi OS のみ でテストすることに注意してください。ダウンロードには二つの方法がある: + +**方法1:git cloneを使用する(推奨)** + +Raspberry Piにログインし、ディレクトリを ``/home/pi`` に変更する。 + +.. raw:: html + + + +.. code-block:: + + cd /home/pi/ + + +.. note:: + + 現在のパスから目的のディレクトリに移動するcd。非公式には、パス ``/home/pi/`` に移動する。 + +GitHubからリポジトリを複製する。 + +.. raw:: html + + + +.. code-block:: + + git clone https://github.com/sunfounder/davinci-kit-for-raspberry-pi.git + +方法2:コードをダウンロードする。 + +githubからソースコードをダウンロードする: https://github.com/sunfounder/davinci-kit-for-raspberry-pi. + +.. image:: media/image33.png \ No newline at end of file diff --git a/docs/source/faq.rst b/docs/source/faq.rst new file mode 100644 index 0000000..571f792 --- /dev/null +++ b/docs/source/faq.rst @@ -0,0 +1,12 @@ +FAQ +============ + +.. _faq_c_nowork: + +Cコードが機能していませんか? +---------------------------------- + +* 配線に问题がないか確認してください。 +* コードがエラーを報告しているかどうかを確認します。 +* 実行する前にコードを進めましたか。 +* 上記の 3 つの条件がすべて問題ない場合は、wireingPi バージョン (2.50) が Raspberry Pi 4B 以降と互換性がない可能性があります。「WiringPi を確認してインストールする」を参照して、手動でバージョン 2.52 にアップグレードしてください \ No newline at end of file diff --git a/docs/source/gpio_extension_board.rst b/docs/source/gpio_extension_board.rst new file mode 100644 index 0000000..c0bc7c6 --- /dev/null +++ b/docs/source/gpio_extension_board.rst @@ -0,0 +1,25 @@ +GPIO拡張ボード +==================== + +コマンドの学習を開始する前に、最初にRaspberry Piのピンについて詳しく知る必要がある。これは、その後の研究の鍵となる。 + +GPIO拡張ボードによってRaspberry Piのピンをブレッドボードに簡単に引き出して、頻繁に挿入または引き抜きによるGPIOの損傷を防止できる。これは、Raspberry PiモデルB +、世代2モデルBおよび世代3、4モデルBに適用する40ピンGPIO拡張ボードとGPIOケーブルである。 + +.. image:: media/image32.png + :align: center + +**ピン番号** + +Raspberry Piのピンには、命名方法が三つあり、つまり、wiringPi、BCM、およびボードである。 + +これらの命名方法の中で、40ピンGPIO拡張ボードは命名方法BCMを使用している。ただし、I2CポートやSPIポートなどの一部の特別なピンでは、付属の名前を使用する。 + +次の表は、WiringPi、ボード、およびGPIO拡張ボード上の各ピンの固有の命名方法を示している。たとえば、GPIO17の場合、ボードの命名方法によると11で、wiringPiの命名方法によると0で、固有の命名方法によるとGPIO0である。 + +.. note:: + + 1)C言語では、使用されている命名方法はWiringPiである。 + + 2)Python言語では、適用される命名方法はBoardとBCMであり、関数GPIO.setmode()を使用してそれらを設定します。 + +.. image:: media/gpio_board.png \ No newline at end of file diff --git a/docs/source/index.rst b/docs/source/index.rst index 9dc556c..473b7b4 100644 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -1,20 +1,62 @@ -.. davinci-kit-for-raspberry-pi documentation master file, created by - sphinx-quickstart on Tue Jan 10 10:29:41 2023. - You can adapt this file completely to your liking, but it should at least - contain the root `toctree` directive. -Welcome to davinci-kit-for-raspberry-pi's documentation! -======================================================== +SunFounder Da Vinci Kit for Raspberry Pi +=========================================== + +Da Vinciキットについて +------------------------- + +このDa Vinciキットは、Raspberry Pi 世代4モデルB、世代3モデA+、世代3モデルB+、世代3モデルB、世代2モデルB、世代1モデルB+、世代1モデA+、ゼロWおよびゼロに適用される。さまざまな興味深い現象を作成するのに役立つさまざまな部品とチップが含まれており、実験の指示に従って操作すると達成できる。このプロセスでは、プログラミングに関する基本的な知識を習得できる。また、より多くのアプリケーションを自分で探索することもできる。さあ、未知の世界を探そう! + +もし、私たちが持っていない別のプロジェクトを学びたい場合は、お気軽にメールをお送りください。 + +電子メール:cs@sunfounder.com。 + + +.. **About the display language** + +.. In addition to English, we are working on other languages for this course. Please contact service@sunfounder.com if you are interested in helping, and we will give you a free product in return. +.. In the meantime, we recommend using Google Translate to convert English to the language you want to see. + +.. The steps are as follows. + +.. * In this course page, right-click and select **Translate to xx**. If the current language is not what you want, you can change it later. + +.. .. image:: media/translate1.png +.. :align: center + +.. * There will be a language popup in the upper right corner. Click on the menu button to **choose another language**. + +.. .. image:: media/translate2.png +.. :align: center + +.. * Select the language from the inverted triangle box, and then click **Done**. + +.. .. image:: media/translate3.png +.. :align: center + .. toctree:: - :maxdepth: 2 - :caption: Contents: + :maxdepth: 2 + + component_list + introduction + preparation/preparation + libraries + gpio_extension_board + download_the_code + 1_output + 2_input + 3_extension + processing/play_with_processing + scratch/play_with_scratch + appendix/appendix + faq + thank-learning + -Indices and tables -================== +Copyright Notice +-------------------------- -* :ref:`genindex` -* :ref:`modindex` -* :ref:`search` +All contents including but not limited to texts, images, and code in this manual are owned by the SunFounder Company. You should only use it for personal study,investigation, enjoyment, or other non-commercial or nonprofit purposes, under therelated regulations and copyrights laws, without infringing the legal rights of the author and relevant right holders. For any individual or organization that uses these for commercial profit without permission, the Company reserves the right to take legal action. diff --git a/docs/source/installing_the_os.rst b/docs/source/installing_the_os.rst new file mode 100644 index 0000000..2e6d23e --- /dev/null +++ b/docs/source/installing_the_os.rst @@ -0,0 +1,96 @@ +オペレーティングシステムのインストール +====================================== + + +**必要な部品** + +================== ====================== +Any Raspberry Pi 1 \* Personal Computer +1 \* Micro SD card +================== ====================== + +**ステップ1** + +ラズベリーパイが開発したグラフィカルなSDカード書き込みツールは、Mac OS、Ubuntu 18.04、Windowsで動作し、イメージをダウンロードして自動的にSDカードにインストールしてくれるので、ほとんどのユーザーにとって最も簡単なオプションです。 + +ダウンロードページにアクセスします。https://www.raspberrypi.org/software/。お使いのオペレーティングシステムに合ったラズベリーパイイメージャーのリンクをクリックし、ダウンロードが終了したら、それをクリックしてインストーラーを起動します。 + +.. image:: media/image11.png + :align: center + + +**ステップ2** + +インストーラーを起動すると、オペレーティングシステムが実行をブロックしようとする場合があります。例えば、Windowsでは次のようなメッセージが表示されます: + +これがポップアップされたら、順次に「 More info 」と「Run anyway」をクリックした後、指示に従ってラズベリーパイイメージャーをインストールします。 + +.. image:: media/image12.png + :align: center + +**ステップ3** + +SDカードをパソコンやノートパソコンのSDカードスロットに挿入します。 + +**ステップ4** + +ラズベリーパイイメージャーで、インストールしたいオペレーティングシステムとSDカードを選択します。 + +.. image:: media/image13.png + :align: center + +.. note::  + + 1) 初回はインターネットに接続されている必要があります。 + + 2) そのオペレーティングシステムは、将来のオフラインでの使用のために保存されます(ラストダウンロード.キャッシュ、C:/Users/yourname/AppData/Local/Raspberry Pi/Imager/cache)。そのため、次にソフトを開いたときには、「リリース:日付、あなたのコンピュータにキャッシュされた」という表示になります。 + +**ステップ5** + +使用中のSDカードを選択します。 + +.. image:: media/image14.png + :align: center + +**ステップ6** + +「 Ctrl+Shift+X 」を押すと、SSHの有効化と無線LANの設定を行うための「 Advanced options 」ページが開きます。この2つの項目は必ず設定する必要がありますが、その他の項目はあなたの選択次第です。このイメージカスタマイズオプションを常に使用するように選択することができます。 + +.. image:: media/image15.png + :align: center + +Then scroll down to complete the wifi configuration and click **SAVE**. + +.. note:: + + **wifi country** should be set the two-letter `ISO/IEC alpha2 + code `__ for + the country in which you are using your Raspberry Pi, please refer to + the following link: https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements + +.. image:: media/image16.png + :align: center + +**Step 7** + +Click the **WRITE** button. + +.. image:: media/image17.png + :align: center + +**Step 8** + +If your SD card currently has any files on it, you may wish to back up +these files first to prevent you from permanently losing them. If there +is no file to be backed up, click **Yes**. + +.. image:: media/image18.png + :align: center + +**Step 9** + +After waiting for a period of time, the following window will appear to +represent the completion of writing. + +.. image:: media/image19.png + :align: center \ No newline at end of file diff --git a/docs/source/introduction.rst b/docs/source/introduction.rst new file mode 100644 index 0000000..584b1c8 --- /dev/null +++ b/docs/source/introduction.rst @@ -0,0 +1,10 @@ +前書き +============ + +DaVinciキットはプロジェクトのスケジュールを立てたインテリジェントな初心者に適した基本的なキットである。26の汎用の入力および出力部品とモジュール、およびプログラミング学習で友好的な支援を提供できる多くの基本的な電子装置(抵抗器、コンデンサなど)が含まれている。 + +このキットをマスターすることで、Raspberry Piの実装方法、Bash shell とGPIOについての知識など、Raspberry Piの基本的な知識を学ぶことができる。これらの知識を理解した上、プログラミングを開始できる。 + +ハードウェアに関する知識がない場合は、キットに関するこのドキュメントでは、26回の基本的なI/Oレッスンと4つの簡単な実例を含む30回のレッスンを参照と学習のために提供する。これらのコースの配置は難易度ではなく、実際の機能に基づいていることに注意してください。ニーズに応じて、対応するコースを見つけることができる。つまり、コース全体を読み終えていないく、言及した部品の使用方法を習得していない場合でも、このドキュメントは将来の実用的なプロジェクトを完了させるためのガイドとして重要な役割を果たす。 + +我々はあなたのプロジェクトを楽しみにしており、このドキュメントを読んでいる間にフォーラムであなたの成果や創造を共有できることを願っている。 \ No newline at end of file diff --git a/docs/source/libraries.rst b/docs/source/libraries.rst new file mode 100644 index 0000000..3bec627 --- /dev/null +++ b/docs/source/libraries.rst @@ -0,0 +1,102 @@ +ライブラリ +============ + +Raspberry Piを使用したプログラミングでは、wiringPiとRPi.GPIOという2つの重要なライブラリが使用されている。Raspberry PiのRaspbian OSイメージはデフォルトでそれらを実装するため、直接使用できる。 + +RPi.GPIO +------------ + +Pythonユーザーの場合、RPi.GPIOが提供するAPIを使用してGPIOをプログラミングできる。 + +RPi.GPIOは、Raspberry Pi GPIOチャネルを制御するモジュールである。このパッケージはRaspberry PiでGPIOを制御するクラスを提供する。例とドキュメントについては、次のURLにアクセスしてください: http://sourceforge.net/p/raspberry-gpio-python/wiki/Home/。 + +RPi.GPIOが実装されているかどうかをテストするには、Pythonを入力する: + +.. raw:: html + + + +.. code-block:: + + python + +.. image:: media/image27.png + + +Python CLIで、「import RPi.GPIO」と入力する。エラーが表示されない場合は、RPi.GPIOの実装が完了したと意味する。 + + +.. raw:: html + + + +.. code-block:: + + import RPi.GPIO + +.. image:: media/image28.png + + +Python CLIを終了する場合は、次を入力する: + + +.. raw:: html + + + +.. code-block:: + + exit() + +.. image:: media/image29.png + + + +WiringPiをインストールして確認する +======================================= + +``wiringPi`` は Raspberry Pi 用の C 言語 GPIO ライブラリです。 GUN Lv3に準拠。 wiringPi の機能は、Arduino の配線システムに似ています。 これにより、Arduino に精通しているユーザーは、wiringPi をより簡単に使用できるようになります。 + +``wiringPi`` には、Raspberry Pi のさまざまなインターフェイスを制御できるようにする多数の GPIO コマンドが含まれています。 + +次のコマンドを実行して ``wiringPi`` ライブラリをインストールしてください。 + + +.. raw:: html + + + +.. code-block:: + + sudo apt-get update + git clone https://github.com/WiringPi/WiringPi + cd WiringPi + ./build + +次の手順で、wiringPi ライブラリが正常にインストールされたかどうかをテストできます。 + + +.. raw:: html + + + +.. code-block:: + + gpio -v + +.. image:: media/image30.png + +次のコマンドで GPIO を確認します。 + +.. raw:: html + + + +.. code-block:: + + gpio readall + +.. image:: media/image31.png + + +配線Piの詳細については、 `WiringPi `_ を参照してください。 diff --git a/docs/source/locale/de/LC_MESSAGES/1.1.1_blinking_led.po b/docs/source/locale/de/LC_MESSAGES/1.1.1_blinking_led.po new file mode 100644 index 0000000..6e7f57b --- /dev/null +++ b/docs/source/locale/de/LC_MESSAGES/1.1.1_blinking_led.po @@ -0,0 +1,739 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, SunFounder +# This file is distributed under the same license as the SunFounder Davinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Davinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-19 18:22+0800\n" +"PO-Revision-Date: 2021-08-09 11:18+0800\n" +"Last-Translator: \n" +"Language: de\n" +"Language-Team: \n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../1.1.1_blinking_led.rst:2 +msgid "1.1.1 Blinking LED" +msgstr "1.1.1 Blinkende LED" + +#: ../1.1.1_blinking_led.rst:5 +msgid "Introduction" +msgstr "Einführung" + +#: ../1.1.1_blinking_led.rst:7 +msgid "" +"In this lesson, we will learn how to make a blinking LED by programming. " +"Through your settings, your LED can produce a series of interesting " +"phenomena. Now, go for it." +msgstr "" +"In dieser Lektion lernen wir, wie man durch Programmierung eine blinkende" +" LED erzeugt. Durch Ihre Einstellungen kann Ihre LED eine Reihe " +"interessanter Phänomene erzeugen. Jetzt mach es." + +#: ../1.1.1_blinking_led.rst:12 +msgid "Components" +msgstr "Komponenten" + +#: ../1.1.1_blinking_led.rst:20 +msgid "" +"In order to proceed smoothly, you need to bring your own Raspberry Pi, TF" +" card and Raspberry Pi power." +msgstr "" +"Um reibungslos fortzufahren, müssen Sie Ihren eigenen Raspberry Pi, TF-" +"Karte und Raspberry Pi-Strom mitbringen." + +#: ../1.1.1_blinking_led.rst:25 +msgid "Principle" +msgstr "Prinzip" + +#: ../1.1.1_blinking_led.rst:27 +msgid "**Breadboard**" +msgstr "**Steckbrett**" + +#: ../1.1.1_blinking_led.rst:29 +msgid "" +"A breadboard is a construction base for prototyping of electronics. It is" +" used to build and test circuits quickly before finishing any circuit " +"design. And it has many holes into which components mentioned above can " +"be inserted like ICs and resistors as well as jumper wires. The " +"breadboard allows you to plug in and remove components easily." +msgstr "" +"Ein Steckbrett ist eine Konstruktionsbasis für das Prototyping von " +"Elektronik. Es wird verwendet, um Schaltungen schnell aufzubauen und zu " +"testen, bevor ein Schaltungsentwurf abgeschlossen wird. Und es hat viele " +"Löcher, in die oben erwähnte Komponenten wie ICs und Widerstände sowie " +"Jumperdrähte eingesetzt werden können. Mit dem Steckbrett können Sie " +"Komponenten einfach anschließen und entfernen." + +#: ../1.1.1_blinking_led.rst:35 +msgid "" +"The picture shows the internal structure of a full+ breadboard. Although " +"these holes on the breadboard appear to be independent of each other, " +"they are actually connected to each other through metal strips " +"internally." +msgstr "" +"Das Bild zeigt die interne Struktur eines Voll+ Steckbretts. Obwohl diese" +" Löcher auf dem Steckbrett unabhängig voneinander zu sein scheinen, sind " +"sie tatsächlich intern über Metallstreifen miteinander verbunden." + +#: ../1.1.1_blinking_led.rst:42 +msgid "**LED**" +msgstr "**LED**" + +#: ../1.1.1_blinking_led.rst:44 +msgid "" +"LED is a kind of diode. LED will shine only if the long pin of LED is " +"connected to the positive electrode and the short pin is connected to " +"negative electrode." +msgstr "" +"LED ist eine Art Diode. Die LED leuchtet nur, wenn der lange Stift der " +"LED mit der positiven Elektrode und der kurze Stift mit der negativen " +"Elektrode verbunden ist." + +#: ../1.1.1_blinking_led.rst:48 +msgid "image42" +msgstr "image42" + +#: ../1.1.1_blinking_led.rst:50 +msgid "image43" +msgstr "image43" + +#: ../1.1.1_blinking_led.rst:52 +msgid "|image42|\\ |image43|" +msgstr "|image42|\\ |image43|" + +#: ../1.1.1_blinking_led.rst:54 +msgid "" +"The LED can not be directly connected to power supply, which can damage " +"component. A resistor with 160Ω or larger (work in 5V) must be connected " +"in series in the circuit of LED." +msgstr "" +"Die LED kann nicht direkt an die Stromversorgung angeschlossen werden, " +"die Komponente kann daruas beschädigt werden. Ein Widerstand mit 160 Ω " +"oder mehr (Arbeit in 5V) muss in der LED-Schaltung in Reihe geschaltet " +"werden." + +#: ../1.1.1_blinking_led.rst:60 +msgid "**Resistor**" +msgstr "**Widerstand**" + +#: ../1.1.1_blinking_led.rst:62 +msgid "" +"Resistor is an electronic element that can limit the branch current. A " +"fixed resistor is a kind of resistor whose resistance cannot be changed, " +"while that of a potentiometer or a variable resistor can be adjusted." +msgstr "" +"Der Widerstand ist ein elektronisches Element, das den Zweigstrom " +"begrenzen kann. Ein fester Widerstand ist ein Tpy von Widerstand, dessen " +"Widerstand nicht geändert werden kann, während der eines Potentiometers " +"oder eines variablen Widerstands eingestellt werden kann." + +#: ../1.1.1_blinking_led.rst:66 +msgid "" +"Fixed resistor is applied in this kit. In the circuit, it is essential to" +" protect the connected components. The following pictures show a real " +"object, 220Ω resistor and two generally used circuit symbols of resistor." +" Ω is the unit of resistance and the larger units include KΩ, MΩ, etc. " +"Their relationship can be shown as follows: 1 MΩ=1000 KΩ, 1 KΩ = 1000 Ω. " +"Normally, the value of resistance is marked on it. So if you see these " +"symbols in a circuit, it means that there is a resistor." +msgstr "" +"In diesem Kit wird ein fester Widerstand angewendet. In der Schaltung ist" +" es wichtig, die angeschlossenen Komponenten zu schützen. Die folgenden " +"Bilder zeigen ein reales Objekt, einen 220Ω-Widerstand und zwei allgemein" +" verwendete Schaltungssymbole des Widerstands. Ω ist die " +"Widerstandseinheit und die größeren Einheiten umfassen KΩ, MΩ usw. Ihre " +"Beziehung kann wie folgt gezeigt werden: 1 MΩ = 1000 KΩ, 1 KΩ = 1000 Ω. " +"Normalerweise ist der Widerstandswert darauf markiert. Wenn Sie diese " +"Symbole in einer Schaltung sehen, bedeutet, es gibt ein Widerstand." + +#: ../1.1.1_blinking_led.rst:76 +msgid "image45" +msgstr "image45" + +#: ../1.1.1_blinking_led.rst:78 +msgid "image46" +msgstr "image46" + +#: ../1.1.1_blinking_led.rst:80 +msgid "|image45|\\ |image46|" +msgstr "|image45|\\ |image46|" + +#: ../1.1.1_blinking_led.rst:82 +msgid "" +"When using a resistor, we need to know its resistance first. Here are two" +" methods: you can observe the bands on the resistor, or use a multimeter " +"to measure the resistance. You are recommended to use the first method as" +" it is more convenient and faster. To measure the value, use multimeter." +msgstr "" +"Wenn wir einen Widerstand verwenden, müssen wir zuerst seinen Widerstand " +"kennen. Hier sind zwei Methoden: Sie können die Bänder am Widerstand " +"beobachten oder den Widerstand mit einem Multimeter messen. Es wird " +"empfohlen, die erste Methode zu verwenden, da diese bequemer und " +"schneller ist. Verwenden Sie ein Multimeter, um den Wert zu messen." + +#: ../1.1.1_blinking_led.rst:88 +msgid "As shown in the card, each color stands for a number." +msgstr "Wie auf der Karte gezeigt, steht jede Farbe für eine Nummer." + +#: ../1.1.1_blinking_led.rst:93 +msgid "Schematic Diagram" +msgstr "Schematische Darstellung" + +#: ../1.1.1_blinking_led.rst:95 +msgid "" +"In this experiment, connect a 220Ω resistor to the anode (the long pin of" +" the LED), then the resistor to 3.3 V, and connect the cathode (the short" +" pin) of the LED to GPIO17 of Raspberry Pi. Therefore, to turn on an LED," +" we need to make GPIO17 low (0V) level. We can get this phenomenon by " +"programming." +msgstr "" +"In diesem Experiment schließen Sie einen 220 Ω-Widerstand an die Anode " +"(den langen Pin der LED) und dann den Widerstand an 3,3 V an und " +"verbinden Sie die Kathode (den kurzen Pin) der LED mit GPIO17 von " +"Raspberry Pi. Da um eine LED einzuschalten, muss der GPIO17-Niveau " +"niedrig (0V) sein. Wir können dieses Phänomen durch Programmierung " +"erhalten." + +#: ../1.1.1_blinking_led.rst:103 +msgid "" +"**Pin11** refers to the 11th pin of the Raspberry Pi from left to right, " +"and its corresponding **wiringPi** and **BCM** pin numbers are shown in " +"the following table." +msgstr "" +"**Pin11** bezieht sich von links nach rechts auf den 11. Pin des " +"Raspberry Pi. Die entsprechenden **wiringPi** und **BCM**-Pin-Nummern " +"sind in der folgenden Tabelle aufgeführt." + +#: ../1.1.1_blinking_led.rst:105 +msgid "" +"In the C language related content, we make GPIO0 equivalent to 0 in the " +"wiringPi. Among the Python language related content, BCM 17 is 17 in the " +"BCM column of the following table. At the same time, they are the same as" +" the 11th pin on the Raspberry Pi, Pin 11." +msgstr "" +"In den C-Sprachinhalten machen wir GPIO0 sz bis 0 in der wiringPi. U " +"Unter den Python-Sprachinhalten, BCM 17 ist 17 in der BCM-Spalte der " +"folgenden Tabelle. Gleichzeitig sind sie gleich mit dem 11. Pin des " +"Raspberry Pi, Pin 11." + +#: ../1.1.1_blinking_led.rst:111 +msgid "T-Board Name" +msgstr "T-Karte Name" + +#: ../1.1.1_blinking_led.rst:111 +msgid "physical" +msgstr "physisch" + +#: ../1.1.1_blinking_led.rst:111 +msgid "wiringPi" +msgstr "wiringPi" + +#: ../1.1.1_blinking_led.rst:111 +msgid "BCM" +msgstr "BCM" + +#: ../1.1.1_blinking_led.rst:112 +msgid "GPIO17" +msgstr "GPIO17" + +#: ../1.1.1_blinking_led.rst:112 +msgid "Pin 11" +msgstr "Pin 11" + +#: ../1.1.1_blinking_led.rst:112 +msgid "0" +msgstr "0" + +#: ../1.1.1_blinking_led.rst:112 +msgid "17" +msgstr "17" + +#: ../1.1.1_blinking_led.rst:120 +msgid "Experimental Procedures" +msgstr "Experimentelle Verfahren" + +#: ../1.1.1_blinking_led.rst:122 +msgid "**Step 1:** Build the circuit." +msgstr "**Step 1:** Bauen Sie die Schaltung auf." + +#: ../1.1.1_blinking_led.rst:130 +msgid "For C Language Users" +msgstr "Für Benutzer in C-Sprache" + +#: ../1.1.1_blinking_led.rst:132 +msgid "**Step 2:** Go to the folder of the code." +msgstr "**Step 2:** Gehen Sie zum Ordner des Codes." + +#: ../1.1.1_blinking_led.rst:134 ../1.1.1_blinking_led.rst:367 +msgid "If you use a screen, you're recommended to take the following steps." +msgstr "" +"Wenn Sie einen Bildschirm verwenden, sind die folgenden Schritte " +"empfohlen." + +#: ../1.1.1_blinking_led.rst:136 +msgid "Go to **/home/pi/** and find the folder **davinci-kit-for-raspberry-pi**." +msgstr "" +"Gehen Sie zu **/home/pi/** und suchen Sie den Ordner **davinci-kit-for-" +"raspberry-pi**." + +#: ../1.1.1_blinking_led.rst:139 +msgid "" +"Find **C** in the folder, right-click on it and select **Open in " +"Terminal**." +msgstr "" +"Suchen Sie **C** im Ordner, klicken Sie mit der rechten Maustaste darauf " +"und wählen **Sie In Terminal öffnen**." + +#: ../1.1.1_blinking_led.rst:146 +msgid "" +"Then a window will pop up as shown below. So now you've entered the path " +"of the code **1.1.1_BlinkingLed.c** ." +msgstr "" +"Dann öffnet sich ein Fenster wie unten gezeigt. Nun haben Sie den Pfad " +"des Codes **1.1.1_BlinkingLed.c** eingegeben." + +#: ../1.1.1_blinking_led.rst:153 +msgid "" +"In the following lessons, we will use command to enter the code file " +"instead of right-clicking. But you can choose the method you prefer." +msgstr "" +"In den folgenden Lektionen verwenden wir den Befehl, um die Codedatei " +"einzugeben, anstatt mit der rechten Maustaste zu klicken. Aber Sie können" +" die Methode wählen, die Sie bevorzugen." + +#: ../1.1.1_blinking_led.rst:157 +msgid "If you log into the Raspberry Pi remotely, use ``cd`` to change directory:" +msgstr "" +"Wenn Sie sich beim Raspberry Pi aus der Ferne anmelden, wechseln Sie mit " +"``cd`` das Verzeichnis:" + +#: ../1.1.1_blinking_led.rst:168 +msgid "Change directory to the path of the code in this experiment via cd." +msgstr "Ändern Sie das Verzeichnis in den Codepfad in diesem Experiment durch CD." + +#: ../1.1.1_blinking_led.rst:170 +msgid "" +"In either way, now you are in the folder C. The subsequent procedures " +"based on these two methods are the same. Let's move on." +msgstr "" +"In jedem Fall befinden Sie sich jetzt im Ordner C. Die weiteren " +"Verfahren, die auf diesen beiden Methoden basieren, sind gleich. Lass uns" +" weitermachen." + +#: ../1.1.1_blinking_led.rst:173 +msgid "**Step 3:** Compile the code" +msgstr "**Schritt 3:** Kompilieren Sie die Kode" + +#: ../1.1.1_blinking_led.rst:184 +msgid "" +"gcc is GNU Compiler Collection. Here, it functions like compiling the C " +"language file *1_BlinkingLed.c* and outputting an executable file." +msgstr "" +"Hinweis: gcc ist die gcc ist die GNU Compilersammlung.. Hier funktioniert" +" es wie das Kompilieren der C-Sprachdatei *1_BlinkingLed.c* und das " +"Ausgeben einer ausführbaren Datei." + +#: ../1.1.1_blinking_led.rst:188 +msgid "" +"In the command, ``-o`` means outputting (the character immediately " +"following -o is the filename output after compilation, and an executable " +"named ``BlinkingLed`` will generate here) and ``-lwiringPi`` is to load " +"the library wiringPi (``l`` is the abbreviation of library)." +msgstr "" +"Im Befehl bedeutet ``-o`` die Ausgabe (das Zeichen unmittelbar nach -o " +"ist die Dateinamenausgabe nach der Kompilierung, und eine ausführbare " +"Datei namens ``BlinkingLed`` wird hier generiert) , ``-lwiringPi`` ist " +"das Laden der Bibliothek wiringPi (``l`` ist die Abkürzung der " +"Bibliothek)." + +#: ../1.1.1_blinking_led.rst:193 +msgid "**Step 4:** Run the executable file output in the previous step." +msgstr "" +"**Schritt 4:** Führen Sie die Ausgabe der ausführbaren Datei im " +"vorherigen Schritt aus." + +#: ../1.1.1_blinking_led.rst:205 +msgid "" +"To control the GPIO, you need to run the program, by the command, " +"sudo(superuser do). The command ``./`` indicates the current directory. " +"The whole command is to run the ``BlinkingLed`` in the current directory." +msgstr "" +"Um das GPIO zu steuern, müssen Sie das Programm mit dem Befehl sudo " +"(Superuser do) ausführen. Der Befehl ``./`` gibt das aktuelle Verzeichnis" +" an. Der gesamte Befehl ist für die Ausführung der ``BlinkingLed`` im " +"aktuellen Verzeichnis." + +#: ../1.1.1_blinking_led.rst:214 ../1.1.1_blinking_led.rst:406 +msgid "After the code runs, you will see the LED flashing." +msgstr "Nachdem der Kode ausgeführt wurde, blinkt die LED." + +#: ../1.1.1_blinking_led.rst:218 +msgid "" +"If it does not work after running, please refer to :ref:`C code is not " +"working?`" +msgstr "" +"Wenn es nach dem Ausführen nicht funktioniert, lesen Sie bitte :ref:`C " +"code is not working?`" + +#: ../1.1.1_blinking_led.rst:220 +msgid "" +"If you want to edit the code file ``1.1.1_BlinkingLed.c``, press ``Ctrl +" +" C`` to stop running the code. Then type the following command to open " +"it:" +msgstr "" +"Wenn Sie die Kodedatei ``1.1.1_BlinkingLed.c`` bearbeiten möchten, " +"drücken Sie ``Ctrl + C``, um die Ausführung des Kodes zu beenden. Geben " +"Sie dann den folgenden Befehl ein und öffnen es:" + +#: ../1.1.1_blinking_led.rst:233 +msgid "" +"nano is a text editor tool. The command is used to open the code file " +"``1.1.1_BlinkingLed.c`` by this tool." +msgstr "" +"nano ist ein Texteditor. Der Befehl wird verwendet, um die Kodedatei " +"``1.1.1_BlinkingLed.c`` mit diesem Tool zu öffnen." + +#: ../1.1.1_blinking_led.rst:236 +msgid "" +"Press ``Ctrl+X`` to exit. If you have modified the code, there will be a " +"prompt asking whether to save the changes or not. Type in ``Y`` (save) or" +" ``N`` (don’t save). Then press ``Enter`` to exit. Repeat ``Step 3`` and " +"``Step 4`` to see the effect after modifying." +msgstr "" +"Drücken Sie ``Ctrl+X`` für Ausfahrt Wenn Sie die Kode geändert haben, " +"werden Sie gefragt, ob Sie die Änderungen speichern möchten oder nicht. " +"Geben Sie ``Y`` (speichern) oder ``N`` (nicht speichern) ein. Drücken Sie" +" dann die ``Enter`` , um den Vorgang zu beenden. Wiederholen Sie " +"``Schritt 3`` und ``Schritt 4``, um den Effekt nach dem Ändern zu sehen." + +#: ../1.1.1_blinking_led.rst:245 ../1.1.1_blinking_led.rst:431 +msgid "**Code**" +msgstr "**Code**" + +#: ../1.1.1_blinking_led.rst:247 +msgid "The program code is shown as follows:" +msgstr "Der Programmkode wird wie folgt angezeigt:" + +#: ../1.1.1_blinking_led.rst:275 ../1.1.1_blinking_led.rst:478 +msgid "**Code Explanation**" +msgstr "**Code Erklärung**" + +#: ../1.1.1_blinking_led.rst:281 +msgid "" +"The hardware drive library is designed for the C language of Raspberry " +"Pi. Adding this library is conducive to the initialization of hardware, " +"and the output of I/O ports, PWM, etc." +msgstr "" +"Die Hardware-Laufwerksbibliothek wurde für die C-Sprache von Raspberry Pi" +" entwickelt. Das Hinzufügen dieser Bibliothek fördert die Initialisierung" +" der Hardware und die Ausgabe von I/O ports, PWM usw." + +#: ../1.1.1_blinking_led.rst:289 +msgid "" +"Standard I/O library. The pintf function used for printing the data " +"displayed on the screen is realized by this library. There are many other" +" performance functions for you to explore." +msgstr "" +"Standard I/O Bibliothek. Die Pintf-Funktion zum Drucken der auf dem " +"Bildschirm angezeigten Daten wird von dieser Bibliothek realisiert. Es " +"gibt viele andere Leistungsfunktionen, die Sie erkunden können." + +#: ../1.1.1_blinking_led.rst:297 +msgid "" +"Pin GPIO17 of the T_Extension Board is corresponding to the GPIO0 in " +"wiringPi. Assign GPIO0 to LedPin, LedPin represents GPIO0 in the code " +"later." +msgstr "" +"Pin GPIO17 der T_Erweiterungskarte entspricht dem GPIO0 in WiringPi. " +"Weisen Sie Ledpin GPIO0 zu, was GPIO0 im zukünftigen Kode darstellt." + +#: ../1.1.1_blinking_led.rst:307 +msgid "" +"This initialises wiringPi and assumes that the calling program is going " +"to be using the wiringPi pin numbering scheme." +msgstr "" +"Dadurch wird wiringPi initialisiert und geht davon aus, dass das " +"aufrufende Programm das wiringPi Nummerierungsschema verwendet." + +#: ../1.1.1_blinking_led.rst:310 +msgid "" +"This function needs to be called with root privileges. When initialize " +"wiring failed, print message to screen. The function “return” is used to " +"jump out of the current function. Using return in main() function will " +"end the program." +msgstr "" +"Diese Funktion muss mit Root-Rechten aufgerufen werden. Wenn die " +"Initialisierung der Verkabelung fehlgeschlagen ist, drucken Sie die " +"Nachricht auf dem Bildschirm. Die Funktion “Rückgabe” wird verwendet, um " +"aus der aktuellen Funktion herauszuspringen. Wenn Sie die Funktion " +"Rückgabe in main () verwenden, wird das Programm beendet." + +#: ../1.1.1_blinking_led.rst:319 +msgid "Set LedPin as output to write value to it." +msgstr "Stellen Sie LedPin als Ausgabe ein, um einen Wert darauf zu schreiben." + +#: ../1.1.1_blinking_led.rst:325 +msgid "" +"Set GPIO0 as 0V (low level). Since the cathode of LED is connected to " +"GPIO0, thus the LED will light up if GPIO0 is set low. On the contrary, " +"set GPIO0 as high level, digitalWrite (LedPin, HIGH): LED will go out." +msgstr "" +"Stellen Sie GPIO0 auf 0V (niedriger Niveau) ein. Da die Kathode der LED " +"mit GPIO0 verbunden ist, leuchtet die LED auf, wenn GPIO0 niedrig " +"eingestellt ist. Im Gegenteil, stellen Sie GPIO0 als High-Level ein. " +"DigitalWrite (LedPin, HIGH): Die LED erlischt." + +#: ../1.1.1_blinking_led.rst:333 +msgid "" +"The printf function is a standard library function and its function " +"prototype is in the header file \"stdio.h\". The general form of the call" +" is: printf(\" format control string \", output table columns). The " +"format control string is used to specify the output format, which is " +"divided into format string and non-format string. The format string " +"starts with '%' followed by format characters, such as' %d 'for decimal " +"integer output. Unformatted strings are printed as prototypes. What is " +"used here is a non-format string, followed by \"\\n\" that is a newline " +"character, representing automatic line wrapping after printing a string." +msgstr "" +"Die printf-Funktion ist eine Standardbibliotheksfunktion und ihr " +"Funktionsprototyp befindet sich in der Header-Datei \"stdio.h\". Die " +"allgemeine Form des Aufrufs lautet: printf (\"Format Control String\", " +"Spalten der Ausgabetabelle). Die Formatsteuerzeichenfolge wird verwendet," +" um das Ausgabeformat anzugeben, das in Formatzeichenfolge und " +"Nichtformatzeichenfolge unterteilt ist. Die Formatzeichenfolge beginnt " +"mit '%', gefolgt von Formatzeichen, z. B. '% d' für die Ausgabe von " +"Dezimalzahlen. Unformatierte Zeichenfolgen werden als Prototypen " +"gedruckt. Hier wird eine nicht formatierte Zeichenfolge verwendet, " +"gefolgt von \"\\n\", einem Zeilenumbruchzeichen, das den automatischen " +"Zeilenumbruch nach dem Drucken einer Zeichenfolge darstellt." + +#: ../1.1.1_blinking_led.rst:347 +msgid "Delay (500) keeps the current HIGH or LOW state for 500ms." +msgstr "Die Verzögerung (500) hält den aktuellen HIGH- oder LOW-Status für 500 ms." + +#: ../1.1.1_blinking_led.rst:349 +msgid "" +"This is a function that suspends the program for a period of time. And " +"the speed of the program is determined by our hardware. Here we turn on " +"or off the LED. If there is no delay function, the program will run the " +"whole program very fast and continuously loop. So we need the delay " +"function to help us write and debug the program." +msgstr "" +"Dies ist eine Funktion, die das Programm für einen bestimmten Zeitraum " +"anhält. Und die Geschwindigkeit des Programms wird von unserer Hardware " +"bestimmt. Hier schalten wir die LED ein oder aus. Wenn es keine " +"Verzögerungsfunktion gibt, führt das Programm das gesamte Programm sehr " +"schnell und kontinuierlich aus. Wir brauchen also die " +"Verzögerungsfunktion, um das Programm schreiben und debuggen zu können." + +#: ../1.1.1_blinking_led.rst:359 +msgid "" +"Usually, it is placed behind the main function, indicating that the " +"function returns 0 on successful execution." +msgstr "" +"Normalerweise wird es hinter der Hauptfunktion platziert, was anzeigt, " +"dass die Funktion bei erfolgreicher Ausführung 0 zurückgibt." + +#: ../1.1.1_blinking_led.rst:363 +msgid "For Python Language Users" +msgstr "Für Python-Sprachbenutzer" + +#: ../1.1.1_blinking_led.rst:365 +msgid "**Step 2:** Go to the folder of the code and run it." +msgstr "**Schritt 2:** Gehen Sie zum Ordner des Codes und führen Sie ihn aus." + +#: ../1.1.1_blinking_led.rst:369 +msgid "" +"Find 1.1.1_BlinkingLed.py and double click it to open. Now you're in the " +"file." +msgstr "" +"Suchen Sie 1.1.1_BlinkingLed.py und doppelklicken Sie darauf, um es zu " +"öffnen. Jetzt bist du in der Datei." + +#: ../1.1.1_blinking_led.rst:372 +msgid "" +"Click **Run** ->\\ **Run Module** in the window and the following " +"contents will appear." +msgstr "" +"Klicken Sie im Fenster auf **Run** ->\\ **Run Module**. Der folgende " +"Inhalt wird angezeigt." + +#: ../1.1.1_blinking_led.rst:375 +msgid "" +"To stop it from running, just click the X button on the top right to " +"close it and then you'll back to the code. If you modify the code, before" +" clicking **Run Module (F5)** you need to save it first. Then you can see" +" the results." +msgstr "" +"Um die Ausführung zu stoppen, klicken Sie einfach auf die X-Schaltfläche " +"oben rechts, um sie zu schließen, und kehren Sie dann zum Code zurück. " +"Wenn Sie die Kode ändern, müssen Sie ihn zuerst speichern, bevor Sie auf " +"**Run Module (F5)** klicken. Dann können Sie die Ergebnisse sehen." + +#: ../1.1.1_blinking_led.rst:380 +msgid "If you log into the Raspberry Pi remotely, type in the command:" +msgstr "" +"Wenn Sie sich beim Raspberry Pi aus der Ferne anmelden, geben Sie den " +"folgenden Befehl ein:" + +#: ../1.1.1_blinking_led.rst:391 +msgid "Change directory to the path of the code in this experiment via ``cd``." +msgstr "Wechseln Sie in diesem Experiment per ``cd`` in den Pfad der Kode." + +#: ../1.1.1_blinking_led.rst:393 +msgid "**Step 3:** Run the code" +msgstr "**Schritt 3:** Führen Sie die Kode aus" + +#: ../1.1.1_blinking_led.rst:404 +msgid "Here sudo - superuser do, and python means to run the file by Python." +msgstr "" +"Hier tun sudo - superuser do und python bedeutet, die Datei von Python " +"auszuführen." + +#: ../1.1.1_blinking_led.rst:408 +msgid "" +"**Step 4:** If you want to edit the code file 1.1.1_BlinkingLed.py, press" +" ``Ctrl + C`` to stop running the code. Then type the following command " +"to open 1.1.1_BlinkingLed.py:" +msgstr "" +"**Schritt 4:** Wenn Sie die Dodedatei 1.1.1_BlinkingLed.py, bearbeiten " +"möchten, drücken Sie ``Ctrl + C``, um die Ausführung der Kode zu beenden." +" Geben Sie dann den folgenden Befehl ein, um 1.1.1_BlinkingLed.py: zu " +"öffnen:" + +#: ../1.1.1_blinking_led.rst:421 +msgid "" +"nano is a text editor tool. The command is used to open the code file " +"1.1.1_BlinkingLed.py by this tool." +msgstr "" +"nano ist ein Texteditor. Mit dem Befehl wird die Dodedatei " +"1.1.1_BlinkingLed.py by this tool.von diesem Tool geöffnet." + +#: ../1.1.1_blinking_led.rst:424 +msgid "" +"Press ``Ctrl+X`` to exit. If you have modified the code, there will be a " +"prompt asking whether to save the changes or not. Type in ``Y`` (save) or" +" ``N`` (don’t save)." +msgstr "" +"Drücken Sie ``Ctrl+X`` für Ausfahrt Wenn Sie die Kode geändert haben, " +"werden Sie gefragt, ob Sie die Änderungen speichern möchten oder nicht. " +"Geben Sie ``Y`` (speichern) oder ``N`` (nicht speichern) ein." + +#: ../1.1.1_blinking_led.rst:428 +msgid "" +"Then press ``Enter`` to exit. Type in nano 1.1.1_BlinkingLed.py again to " +"see the effect after the change." +msgstr "" +"Drücken Sie dann ``Enter``, um den Vorgang zu beenden. Geben Sie nano " +"1.1.1_BlinkingLed.py erneut ein, um den Effekt nach der Änderung zu " +"sehen." + +#: ../1.1.1_blinking_led.rst:435 +msgid "" +"You can **Modify/Reset/Copy/Run/Stop** the code below. But before that, " +"you need to go to source code path like ``davinci-kit-for-raspberry-" +"pi/python``." +msgstr "" +"Sie können den folgenden Code **Ändern/Zurücksetzen/ " +"Kopieren/Ausführen/Stoppen**. Zuvor müssen Sie jedoch zu einem " +"Quellcodepfad wie ``davinci-kit-for-raspberry-pi/python`` gehen." + +#: ../1.1.1_blinking_led.rst:484 +msgid "" +"When the system detects this, it will search the installation path of " +"python in the env setting, then call the corresponding interpreter to " +"complete the operation. It’s to prevent the user not installing the " +"python onto the /usr/bin default path." +msgstr "" +"Wenn das System dies erkennt, durchsucht es den Installationspfad von " +"Python in der Umgebung env und ruft dann den entsprechenden Interpreter " +"auf, um den Vorgang abzuschließen. Dies soll verhindern, dass der " +"Benutzer die Python nicht auf dem Defaultpfad /usr/bin installiert." + +#: ../1.1.1_blinking_led.rst:493 +msgid "" +"In this way, import the RPi.GPIO library, then define a variable, GPIO to" +" replace RPI.GPIO in the following code." +msgstr "" +"Importieren Sie auf diese Weise die RPi.GPIO-Bibliothek und definieren " +"Sie dann eine Variable, GPIO, um RPI.GPIO in der folgenden Kode zu " +"ersetzen." + +#: ../1.1.1_blinking_led.rst:500 +msgid "Import time package, for time delay function in the following program." +msgstr "Zeitpaket importieren, für Zeitverzögerungsfunktion im folgenden Programm." + +#: ../1.1.1_blinking_led.rst:506 +msgid "LED connects to the GPIO17 of the T-shape extension board, namely, BCM 17." +msgstr "" +"Die LED wird mit dem GPIO17 der T-förmigen Erweiterungskarte, nämlich BCM" +" 17, verbunden." + +#: ../1.1.1_blinking_led.rst:515 +msgid "Set LedPin's mode to output, and initial level to High (3.3v)." +msgstr "" +"Stellen Sie den LedPin-Modus auf Ausgabe und den AnfangsNiveau auf Hoch " +"(3.3v)." + +#: ../1.1.1_blinking_led.rst:517 +msgid "" +"There are two ways of numbering the IO pins on a Raspberry Pi within " +"RPi.GPIO: BOARD numbers and BCM numbers. In our lessons, what we use is " +"BCM numbers. You need to set up every channel you are using as an input " +"or an output." +msgstr "" +"Es gibt zwei Wisen, die IO -Pins eines Raspberry Pi in RPi.GPIO zu " +"nummerieren: BOARD-Nummern und BCM-Nummern. In unseren Lektionen " +"verwenden wir BCM-Nummern. Sie müssen jeden Kanal einrichten, den Sie als" +" Eingang oder Ausgang verwenden." + +#: ../1.1.1_blinking_led.rst:526 +msgid "" +"Set GPIO17(BCM17) as 0V (low level). Since the cathode of LED is " +"connected to GPIO17, thus the LED will light up." +msgstr "" +"Stellen Sie GPIO17 (BCM17) auf 0V (niedriger Niveau) ein. Da die Kathode " +"der LED mit GPIO17 verbunden ist, leuchtet die LED auf." + +#: ../1.1.1_blinking_led.rst:533 +msgid "" +"Delay for 0.5 second. Here, the statement is delay function in C " +"language, the unit is second." +msgstr "" +"Verzögerung um 0,5 Sekunden. Hier ähnelt die Anweisung der " +"Verzögerungsfunktion in der Sprache C, die Einheit ist die zweite." + +#: ../1.1.1_blinking_led.rst:540 +msgid "" +"Define a destroy function for clean up everything after the script " +"finished." +msgstr "" +"Definieren Sie eine Zerstörungsfunktion, um alles nach Abschluss des " +"Skripts zu bereinigen." + +#: ../1.1.1_blinking_led.rst:553 +msgid "" +"This is the general running structure of the code. When the program " +"starts to run, it initializes the pin by running the setup(), and then " +"runs the code in the main() function to set the pin to high and low " +"levels. When 'Ctrl+C' is pressed, the program, destroy() will be  " +"executed." +msgstr "" +"Dies ist die allgemeine Ausführungsstruktur der Kode Wenn das Programm " +"gestartet wird, wird der Pin durch Ausführen von setup () initialisiert " +"und anschließend der Kode in der Funktion main () ausgeführt, um den Pin " +"auf hohe und niedrige Niveau zu setzen. Wenn 'Ctrl+C' gedrückt wird, wird" +" das Programm destroy () ausgeführt." + +#: ../1.1.1_blinking_led.rst:560 +msgid "Phenomenon Picture" +msgstr "Phänomen Bild" + diff --git a/docs/source/locale/de/LC_MESSAGES/1.1.2_rgb_led.po b/docs/source/locale/de/LC_MESSAGES/1.1.2_rgb_led.po new file mode 100644 index 0000000..83471e7 --- /dev/null +++ b/docs/source/locale/de/LC_MESSAGES/1.1.2_rgb_led.po @@ -0,0 +1,439 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, SunFounder +# This file is distributed under the same license as the SunFounder Davinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Davinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-19 18:22+0800\n" +"PO-Revision-Date: 2021-05-31 20:55+0800\n" +"Last-Translator: \n" +"Language: de\n" +"Language-Team: \n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../1.1.2_rgb_led.rst:2 +msgid "1.1.2 RGB LED" +msgstr "1.1.2 RGB-LED" + +#: ../1.1.2_rgb_led.rst:5 +msgid "Introduction" +msgstr "Einführung" + +#: ../1.1.2_rgb_led.rst:7 +msgid "" +"In this lesson, we will use it to control an RGB LED to flash various " +"kinds of colors." +msgstr "" +"In dieser Lektion steuern wir mit eine RGB-LED, die verschiedene Arten " +"von Farben zu blinken." + +#: ../1.1.2_rgb_led.rst:11 +msgid "Components" +msgstr "Komponenten" + +#: ../1.1.2_rgb_led.rst:17 +msgid "Principle" +msgstr "Prinzip" + +#: ../1.1.2_rgb_led.rst:19 +msgid "**PWM**" +msgstr "**PWM**" + +#: ../1.1.2_rgb_led.rst:21 +msgid "" +"Pulse Width Modulation, or PWM, is a technique for getting analog results" +" with digital means. Digital control is used to create a square wave, a " +"signal switched between on and off. This on-off pattern can simulate " +"voltages in between full on (5 Volts) and off (0 Volts) by changing the " +"portion of the time the signal spends on versus the time that the signal " +"spends off. The duration of \\\"on time\\\" is called pulse width. To get" +" varying analog values, you change, or modulate, that width. If you " +"repeat this on-off pattern fast enough with some device, an LED for " +"example, the result would be like this: the signal is a steady voltage " +"between 0 and 5v controlling the brightness of the LED." +msgstr "" +"Die Pulsweitenmodulation oder PWM ist eine Technik, mit der analoge " +"Ergebnisse mit digitalen Mitteln erzielt werden können. Die digitale " +"Steuerung wird verwendet, um eine Rechteckwelle zu erzeugen, um ein " +"Signal zwischen Ein und Aus zu schalten. Dieses Ein-Aus-Muster kann " +"Spannungen zwischen Voll-Ein (5 Volt) und Aus (0 Volt) simulieren, mit " +"der Änderung von Zeit, in dem das Signal an ist, gegenüber der Zeit, in " +"der das Signal abläuft. Die Dauer der \"Einschaltzeit\" wird als " +"Impulsbreite bezeichnet. Um unterschiedliche analoge Werte zu erhalten, " +"ändern oder modulieren Sie diese Breite. Wenn Sie dieses Ein-Aus-Muster " +"mit einem Gerät, beispielsweise einer LED, schnell genug wiederholen, " +"sieht das Ergebnis folgendermaßen aus: Das Signal ist eine konstante " +"Spannung zwischen 0 und 5 V, die die Helligkeit der LED steuert." + +#: ../1.1.2_rgb_led.rst:32 +msgid "**Duty Cycle**" +msgstr "**Arbeitszyklus**" + +#: ../1.1.2_rgb_led.rst:34 +msgid "" +"A duty cycle is the percentage of one period in which a signal is active." +" A period is the time it takes for a signal to complete an on-and-off " +"cycle. As a formula, a duty cycle may be expressed as:" +msgstr "" +"Ein Arbeitszyklus ist der Prozentsatz einer Periode, in der ein Signal " +"aktiv ist. Eine Periode ist die Zeit, die ein Signal benötigt, um einen " +"Ein- und Ausschaltzyklus abzuschließen. Als Formel kann ein Arbeitszyklus" +" ausgedrückt werden als:" + +#: ../1.1.2_rgb_led.rst:43 +msgid "" +"Where **D** is the duty cycle, **T** is the time the signal is active, " +"and **P** is the total period of the signal. Thus, a 60% duty cycle means" +" the signal is on 60% of the time but off 40% of the time. The \\\"on " +"time\\\" for a 60% duty cycle could be a fraction of a second, a day, or " +"even a week, depending on the length of the period." +msgstr "" +"Wobei **D** das Tastverhältnis ist, **T** die Zeit ist, zu der das Signal" +" aktiv ist, und **P** die Gesamtperiode des Signals ist. Ein " +"Tastverhältnis von 60% bedeutet also, dass das Signal in 60% der Fälle " +"eingeschaltet ist, in 40% der Fälle jedoch ausgeschaltet ist. Die " +"\"Pünktlichkeit\" für einen Arbeitszyklus von 60% kann je nach Dauer des " +"Zeitraums einen Bruchteil einer Sekunde, eines Tages oder sogar einer " +"Woche betragen." + +#: ../1.1.2_rgb_led.rst:54 +msgid "**RGB LED**" +msgstr "**RGB LED**" + +#: ../1.1.2_rgb_led.rst:60 +msgid "" +"The three primary colors of the RGB LED can be mixed into various colors " +"by brightness. The brightness of LED can be adjusted with PWM. Raspberry " +"Pi has only one channel for hardware PWM output, but it needs three " +"channels to control the RGB LED, which means it is difficult to control " +"the RGB LED with the hardware PWM of Raspberry Pi. Fortunately, the " +"softPwm library simulates PWM (softPwm) by programming. You only need to " +"include the header file softPwm.h (for C language users), and then call " +"the API it provides to easily control the RGB LED by multi-channel PWM " +"output, so as to display all kinds of color." +msgstr "" +"Die drei Primärfarben der RGB-LED können durch Helligkeit in verschiedene" +" Farben gemischt werden. Die Helligkeit der LED kann mit PWM eingestellt " +"werden. Raspberry Pi hat nur einen Kanal für die Hardware-PWM-Ausgabe, " +"benötigt jedoch drei Kanäle zur Steuerung der RGB-LED, was bedeutet, dass" +" es schwierig ist, die RGB-LED mit der Hardware-PWM von Raspberry Pi zu " +"steuern. Glücklicherweise simuliert die softPwm-Bibliothek PWM (softPwm) " +"durch Programmierung. Alles, was Sie tun müssen, ist die Titeldatei " +"SoftPwm.h (C-Sprachbenutzer) und rufen Sie die API, die es bietet für die" +" einfache Steuerung der RGB-LED durch die Mehrkanal-PWM-Ausgabe, um eine " +"Vielzahl von Farben anzuzeigen." + +#: ../1.1.2_rgb_led.rst:71 +msgid "Schematic Diagram" +msgstr "Schematische Darstellung" + +#: ../1.1.2_rgb_led.rst:73 +msgid "" +"After connecting the pins of R, G, and B to a current limiting resistor, " +"connect them to the GPIO17, GPIO18, and GPIO27 respectively. The longest " +"pin (GND) of the LED connects to the GND of the Raspberry Pi. When the " +"three pins are given different PWM values, the RGB LED will display " +"different colors." +msgstr "" +"Nachdem Sie die Pins von R, G und B mit einem Strombegrenzungswiderstand " +"verbunden haben, verbinden Sie sie mit dem GPIO17, GPIO18 bzw. GPIO27. " +"Der längste Pin (GND) der LED ist mit dem GND des Raspberry Pi verbunden." +" Wenn die drei Pins unterschiedliche PWM-Werte erhalten, zeigt die RGB-" +"LED unterschiedliche Farben an." + +#: ../1.1.2_rgb_led.rst:80 +msgid "T-Board Name" +msgstr "T-Karte Name" + +#: ../1.1.2_rgb_led.rst:80 +msgid "physical" +msgstr "physisch" + +#: ../1.1.2_rgb_led.rst:80 +msgid "wiringPi" +msgstr "wiringPi" + +#: ../1.1.2_rgb_led.rst:80 +msgid "BCM" +msgstr "BCM" + +#: ../1.1.2_rgb_led.rst:81 +msgid "GPIO17" +msgstr "GPIO17" + +#: ../1.1.2_rgb_led.rst:81 +msgid "Pin 11" +msgstr "Pin 11" + +#: ../1.1.2_rgb_led.rst:81 +msgid "0" +msgstr "0" + +#: ../1.1.2_rgb_led.rst:81 +msgid "17" +msgstr "17" + +#: ../1.1.2_rgb_led.rst:82 +msgid "GPIO18" +msgstr "GPIO18" + +#: ../1.1.2_rgb_led.rst:82 +msgid "Pin 12" +msgstr "Pin 12" + +#: ../1.1.2_rgb_led.rst:82 +msgid "1" +msgstr "1" + +#: ../1.1.2_rgb_led.rst:82 +msgid "18" +msgstr "18" + +#: ../1.1.2_rgb_led.rst:83 +msgid "GPIO27" +msgstr "GPIO27" + +#: ../1.1.2_rgb_led.rst:83 +msgid "Pin 13" +msgstr "Pin 13" + +#: ../1.1.2_rgb_led.rst:83 +msgid "2" +msgstr "2" + +#: ../1.1.2_rgb_led.rst:83 +msgid "27" +msgstr "27" + +#: ../1.1.2_rgb_led.rst:89 +msgid "Experimental Procedures" +msgstr "Experimentelle Verfahren" + +#: ../1.1.2_rgb_led.rst:91 +msgid "**Step 1:** Build the circuit." +msgstr "**Schritt 1:** Bauen Sie die Schaltung auf." + +#: ../1.1.2_rgb_led.rst:98 +msgid "For C Language Users" +msgstr "Für Benutzer in C-Sprache" + +#: ../1.1.2_rgb_led.rst:100 +msgid "**Step 2:** Go to the folder of the code." +msgstr "**Schritt 2:** Gehen Sie zum Ordner der Kode." + +#: ../1.1.2_rgb_led.rst:110 +msgid "**Step 3:** Compile the code." +msgstr "**Schritt 3:** Kompilieren Sie die Kode." + +#: ../1.1.2_rgb_led.rst:122 + +msgid "" +"When the instruction \\\"gcc\\\" is executed, if \\\"-o\\\" is not " +"called, then the executable file is named \\\"a.out\\\"." +msgstr "" +"Wenn die Anweisung \"gcc\" ausgeführt wird und \"-o\" nicht aufgerufen " +"wird, wird ausführbare Datei \"a.out\" benannt." + +#: ../1.1.2_rgb_led.rst:124 +msgid "**Step 4:** Run the executable file." +msgstr "**Schritt 4:** Führen Sie die ausführbare Datei aus." + +#: ../1.1.2_rgb_led.rst:135 ../1.1.2_rgb_led.rst:281 +msgid "" +"After the code runs, you will see that RGB displays red, green, blue, " +"yellow, pink, and cyan." +msgstr "" +"Nachdem die Kode ausgeführt wurde, sehen Sie, dass RGB Rot, Grün, Blau, " +"Gelb, Pink und Cyan anzeigt." + +#: ../1.1.2_rgb_led.rst:140 +msgid "" +"If it does not work after running, please refer to :ref:`C code is not " +"working?`" +msgstr "" +"Wenn es nach dem Ausführen nicht funktioniert, lesen Sie bitte :ref:`C " +"code is not working?`" + +#: ../1.1.2_rgb_led.rst:142 ../1.1.2_rgb_led.rst:284 +msgid "**Code**" +msgstr "**Code**" + +#: ../1.1.2_rgb_led.rst:197 ../1.1.2_rgb_led.rst:377 +msgid "**Code Explanation**" +msgstr "**Code Erklärung**" + +#: ../1.1.2_rgb_led.rst:203 +msgid "Library used for realizing the pwm function of the software." +msgstr "Bibliothek zur Realisierung der PWM-Funktion der Software." + +#: ../1.1.2_rgb_led.rst:213 +msgid "" +"The function is to use software to create a PWM pin, set its period " +"between 0x100us-100x100us." +msgstr "" +"Die Funktion besteht darin, mit Software einen PWM-Pin zu erstellen und " +"dessen Periode zwischen 0x100us und 100x100us einzustellen." + +#: ../1.1.2_rgb_led.rst:216 +msgid "" +"The prototype of the function softPwmCreate(LedPinRed, 0, 100) is as " +"follows:" +msgstr "" +"Der Prototyp der Funktion softPwmCreate (LedPinRed, 0, 100) lautet wie " +"folgt:" + +#: ../1.1.2_rgb_led.rst:223 ../1.1.2_rgb_led.rst:246 +msgid "**Parameter pin:** Any GPIO pin of Raspberry Pi can be set as a PWM pin." +msgstr "" +"**Parameter-Pin:** Jeder GPIO-Pin von Raspberry Pi kann als PWM-Pin " +"gesetzt werden." + +#: ../1.1.2_rgb_led.rst:224 +msgid "" +"**Parameter initialValue:** The initial pulse width is that initialValue " +"times100us." +msgstr "" +"**Parameter initialValue:** Die anfängliche Impulsbreite ist der " +"initialValue times100us." + +#: ../1.1.2_rgb_led.rst:225 +msgid "**Parameter pwmRange:** the period of PWM is that pwmRange times100us." +msgstr "**Parameter pwmRange:** Die Periode von PWM ist die pwmRange times100us." + +#: ../1.1.2_rgb_led.rst:235 +msgid "" +"This function is to set the colors of the LED. Using RGB, the formal " +"parameter **r_val** represents the luminance of the red one, **g_val** of" +" the green one, **b_val** of the blue one." +msgstr "" +"Diese Funktion dient zum Einstellen der Farben der LED. Bei Verwendung " +"von RGB repräsentiert der formale Parameter **r_val** die Luminanz des " +"roten, **g_val** des grünen, **b_val** des blauen." + +#: ../1.1.2_rgb_led.rst:239 +msgid "" +"The prototype of the function softPwmWrite(LedPinBlue, b_val) is as " +"follows:" +msgstr "" +"Der Prototyp der Funktion softPwmWrite (LedPinBlue, b_val) lautet wie " +"folgt:" + +#: ../1.1.2_rgb_led.rst:247 +msgid "" +"**Parameter Value:** The pulse width of PWM is value times 100us. Note " +"that value can only be less than pwmRange defined previously, if it is " +"larger than pwmRange, the value will be given a fixed value, pwmRange." +msgstr "" +"**Parameterwert:** Die Pulsbreite von PWM ist Wert mal 100us. Beachten " +"Sie, dass der Wert nur kleiner als der zuvor definierte pwmRange sein " +"kann. Wenn er größer als pwmRange ist, erhält der Wert einen festen Wert," +" pwmRange." + +#: ../1.1.2_rgb_led.rst:253 +msgid "" +"Call the function defined before. Write 0xff into LedPinRed and 0x00 into" +" LedPinGreen and LedPinBlue. Only the Red LED lights up after running " +"this code. If you want to light up LEDs in other colors, just modify the " +"parameters." +msgstr "" +"Rufen Sie die zuvor definierte Funktion auf. Schreiben Sie 0xff in " +"LedPinRed und 0x00 in LedPinGreen und LedPinBlue. Nach dem Ausführen der " +"Kode leuchtet nur die rote LED auf. Wenn Sie LEDs in anderen Farben " +"aufleuchten möchten, ändern Sie einfach die Parameter." + +#: ../1.1.2_rgb_led.rst:259 +msgid "For Python Language Users" +msgstr "Für Python-Sprachbenutzer" + +#: ../1.1.2_rgb_led.rst:261 +msgid "**Step 2:** Open the code file." +msgstr "**Schritt 2:** Öffnen Sie die Kodedatei." + +#: ../1.1.2_rgb_led.rst:271 +msgid "**Step 3:** Run." +msgstr "**Schritt 3:** Ausführen." + +#: ../1.1.2_rgb_led.rst:288 + +msgid "" +"You can **Modify/Reset/Copy/Run/Stop** the code below. But before that, " +"you need to go to source code path like ``davinci-kit-for-raspberry-" +"pi/python``." +msgstr "" +"Sie können den folgenden Code **Ändern/Zurücksetzen/ " +"Kopieren/Ausführen/Stoppen**. Zuvor müssen Sie jedoch zu einem " +"Quellcodepfad wie ``davinci-kit-for-raspberry-pi/python`` gehen." + +#: ../1.1.2_rgb_led.rst:389 +msgid "" +"Call the GPIO.PWM( )function to define Red, Green and Blue as PWM pins " +"and set the frequency of PWM pins to 2000Hz, then Use the Start() " +"function to set the initial duty cycle to zero." +msgstr "" +"Rufen Sie die Funktion GPIO.PWM () auf, um Rot, Grün und Blau als PWM-" +"Pins zu definieren und die Frequenz der PWM-Pins auf 2000 Hz " +"einzustellen. Verwenden Sie dann die Funktion Start (), um den " +"anfänglichen Arbeitszyklus auf Null zu setzen." + +#: ../1.1.2_rgb_led.rst:398 +msgid "" +"Define a MAP function for mapping values. For instance, x=50, in_min=0, " +"in_max=255, out_min=0, out_max=100. After the map function mapping, it " +"returns (50-0) \\* (100-0)/(255-0) +0=19.6, meaning that 50 in 0-255 " +"equals 19.6 in 0-100." +msgstr "" +"Definieren Sie eine MAP-Funktion zum Zuordnen von Werten. Zum Beispiel " +"ist x = 50, in_min = 0, in_max = 255, out_min = 0, out_max = 100. Nach " +"der Zuordnung der Kartenfunktion wird (50-0) \\* (100-0)/(255-0) +0=19.6," +" zurückgegeben, was bedeutet, dass 50 in 0-255 19,6 in 0-100 entspricht." + +#: ../1.1.2_rgb_led.rst:410 +msgid "" +"Configures the three LEDs’ luminance with the inputted color value, " +"assign the first two values of the hexadecimal to R_val, the middle two " +"assigned to G_val, the last two values to B_val. For instance, if " +"color=0xFF00FF, R_val=(0xFF00FF & 0xFF0000)>> 16 = 0xFF, G_val = 0x00, " +"B_val=0xFF." +msgstr "" +"Konfiguriert die Luminanz der drei LEDs mit dem eingegebenen Farbwert. " +"Weisen Sie R_val die ersten beiden Hexadezimalwerte zu, G_val die beiden " +"mittleren und B_val die letzten beiden Werte. Wenn beispielsweise color =" +" 0xFF00FF ist, ist R_val = 0xFF00FF & 0xFF0000 >> 16 = 0xFF, G_val = " +"0x00, B_val = 0xFF." + +#: ../1.1.2_rgb_led.rst:422 +msgid "" +"Use map function to map the R,G,B value among 0~255 into PWM duty cycle " +"range 0-100." +msgstr "" +"Verwenden Sie die Zuordnungsfunktion, um den R-, G-, B-Wert zwischen 0 " +"und 255 in den PWM-Arbeitszyklusbereich von 0 bis 100 abzubilden." + +#: ../1.1.2_rgb_led.rst:431 +msgid "" +"Assign the mapped duty cycle value to the corresponding PWM channel to " +"change the luminance." +msgstr "" +"Weisen Sie den zugeordneten Tastverhältniswert dem entsprechenden PWM-" +"Kanal zu, um die Luminanz zu ändern." + +#: ../1.1.2_rgb_led.rst:440 +msgid "" +"Assign every item in the COLOR list to the color respectively and change " +"the color of the RGB LED via the setColor() function." +msgstr "" +"Ordnen Sie jedes Element in der COLOR-Liste der jeweiligen Farbe zu und " +"ändern Sie die Farbe der RGB-LED über die Funktion setColor()." + +#: ../1.1.2_rgb_led.rst:444 +msgid "Phenomenon Picture" +msgstr "Phänomen Bild" + diff --git a/docs/source/locale/de/LC_MESSAGES/1.1.3_led_bar_graph.po b/docs/source/locale/de/LC_MESSAGES/1.1.3_led_bar_graph.po new file mode 100644 index 0000000..cfe992f --- /dev/null +++ b/docs/source/locale/de/LC_MESSAGES/1.1.3_led_bar_graph.po @@ -0,0 +1,347 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, SunFounder +# This file is distributed under the same license as the SunFounder Davinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Davinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-19 18:22+0800\n" +"PO-Revision-Date: 2021-05-31 20:56+0800\n" +"Last-Translator: \n" +"Language: de\n" +"Language-Team: \n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../1.1.3_led_bar_graph.rst:2 +msgid "1.1.3 LED Bar Graph" +msgstr "1.1.3 LED-Balkendiagramm" + +#: ../1.1.3_led_bar_graph.rst:5 +msgid "Introduction" +msgstr "Einführung" + +#: ../1.1.3_led_bar_graph.rst:7 +msgid "" +"In this project, we sequentially illuminate the lights on the LED Bar " +"Graph." +msgstr "" +"In diesem Projekt beleuchten wir nacheinander die Lichter auf dem LED-" +"Balkendiagramm." + +#: ../1.1.3_led_bar_graph.rst:11 +msgid "Components" +msgstr "Komponenten" + +#: ../1.1.3_led_bar_graph.rst:17 +msgid "Principle" +msgstr "Prinzip" + +#: ../1.1.3_led_bar_graph.rst:19 +msgid "**LED Bar Graph**" +msgstr "**LED-Balkendiagramm**" + +#: ../1.1.3_led_bar_graph.rst:21 +msgid "" +"LED Bar Graph is an LED array, which is used to connect with electronic " +"circuit or microcontroller. It’s easy to connect LED bar graph with the " +"circuit like as connecting 10 individual LEDs with 10 output pins. " +"Generally we can use the LED bar graph as a Battery level Indicator, " +"Audio equipments, and Industrial Control panels. There are many other " +"applications of LED bar graphs." +msgstr "" +"LED-Balkendiagramm ist ein LED-Array, das zur Verbindung mit einer " +"elektronischen Schaltung oder einem Mikrocontroller verwendet wird. Es " +"ist einfach, ein LED-Balkendiagramm mit der Schaltung zu verbinden, es " +"ist wie 10 einzelne LEDs mit 10 Ausgangspins. Im Allgemeinen können wir " +"das LED-Balkendiagramm als Batteriestandsanzeige, Audiogeräte und " +"industrielle Bedienfelder verwenden. Es gibt viele andere Anwendungen von" +" LED-Balkendiagrammen." + +#: ../1.1.3_led_bar_graph.rst:31 +msgid "Schematic Diagram" +msgstr "Schematische Darstellung" + +#: ../1.1.3_led_bar_graph.rst:34 +msgid "T-Board Name" +msgstr "T-Karte Name" + +#: ../1.1.3_led_bar_graph.rst:34 +msgid "physical" +msgstr "physisch" + +#: ../1.1.3_led_bar_graph.rst:34 +msgid "wiringPi" +msgstr "wiringPi" + +#: ../1.1.3_led_bar_graph.rst:34 +msgid "BCM" +msgstr "BCM" + +#: ../1.1.3_led_bar_graph.rst:35 +msgid "GPIO17" +msgstr "GPIO17" + +#: ../1.1.3_led_bar_graph.rst:35 +msgid "Pin 11" +msgstr "Pin 11" + +#: ../1.1.3_led_bar_graph.rst:35 +msgid "0" +msgstr "0" + +#: ../1.1.3_led_bar_graph.rst:35 +msgid "17" +msgstr "17" + +#: ../1.1.3_led_bar_graph.rst:36 +msgid "GPIO18" +msgstr "GPIO18" + +#: ../1.1.3_led_bar_graph.rst:36 +msgid "Pin 12" +msgstr "Pin 12" + +#: ../1.1.3_led_bar_graph.rst:36 +msgid "1" +msgstr "1" + +#: ../1.1.3_led_bar_graph.rst:36 +msgid "18" +msgstr "18" + +#: ../1.1.3_led_bar_graph.rst:37 +msgid "GPIO27" +msgstr "GPIO27" + +#: ../1.1.3_led_bar_graph.rst:37 +msgid "Pin 13" +msgstr "Pin 13" + +#: ../1.1.3_led_bar_graph.rst:37 ../1.1.3_led_bar_graph.rst:42 +msgid "2" +msgstr "2" + +#: ../1.1.3_led_bar_graph.rst:37 +msgid "27" +msgstr "27" + +#: ../1.1.3_led_bar_graph.rst:38 +msgid "GPIO22" +msgstr "GPIO22" + +#: ../1.1.3_led_bar_graph.rst:38 +msgid "Pin 15" +msgstr "Pin 15" + +#: ../1.1.3_led_bar_graph.rst:38 ../1.1.3_led_bar_graph.rst:43 +msgid "3" +msgstr "3" + +#: ../1.1.3_led_bar_graph.rst:38 +msgid "22" +msgstr "22" + +#: ../1.1.3_led_bar_graph.rst:39 +msgid "GPIO23" +msgstr "GPIO23" + +#: ../1.1.3_led_bar_graph.rst:39 +msgid "Pin 16" +msgstr "Pin 16" + +#: ../1.1.3_led_bar_graph.rst:39 +msgid "4" +msgstr "4" + +#: ../1.1.3_led_bar_graph.rst:39 +msgid "23" +msgstr "23" + +#: ../1.1.3_led_bar_graph.rst:40 +msgid "GPIO24" +msgstr "GPIO24" + +#: ../1.1.3_led_bar_graph.rst:40 +msgid "Pin 18" +msgstr "Pin 18" + +#: ../1.1.3_led_bar_graph.rst:40 +msgid "5" +msgstr "5" + +#: ../1.1.3_led_bar_graph.rst:40 +msgid "24" +msgstr "24" + +#: ../1.1.3_led_bar_graph.rst:41 +msgid "GPIO25" +msgstr "GPIO25" + +#: ../1.1.3_led_bar_graph.rst:41 +msgid "Pin 22" +msgstr "Pin 22" + +#: ../1.1.3_led_bar_graph.rst:41 +msgid "6" +msgstr "6" + +#: ../1.1.3_led_bar_graph.rst:41 +msgid "25" +msgstr "25" + +#: ../1.1.3_led_bar_graph.rst:42 +msgid "SDA1" +msgstr "SDA1" + +#: ../1.1.3_led_bar_graph.rst:42 +msgid "Pin 3" +msgstr "Pin 3" + +#: ../1.1.3_led_bar_graph.rst:42 ../1.1.3_led_bar_graph.rst:44 +msgid "8" +msgstr "8" + +#: ../1.1.3_led_bar_graph.rst:43 +msgid "SCL1" +msgstr "SCL1" + +#: ../1.1.3_led_bar_graph.rst:43 +msgid "Pin 5" +msgstr "Pin 5" + +#: ../1.1.3_led_bar_graph.rst:43 +msgid "9" +msgstr "9" + +#: ../1.1.3_led_bar_graph.rst:44 +msgid "SPICE0" +msgstr "SPICE0" + +#: ../1.1.3_led_bar_graph.rst:44 +msgid "Pin 24" +msgstr "Pin 24" + +#: ../1.1.3_led_bar_graph.rst:44 +msgid "10" +msgstr "10" + +#: ../1.1.3_led_bar_graph.rst:51 +msgid "Experimental Procedures" +msgstr "Experimentelle Verfahren" + +#: ../1.1.3_led_bar_graph.rst:53 +msgid "**Step 1**: Build the circuit." +msgstr "**Schritt 1**: Bauen Sie die Schaltung auf." + +#: ../1.1.3_led_bar_graph.rst:59 +msgid "For C Language Users" +msgstr "Für Benutzer in C-Sprache" + +#: ../1.1.3_led_bar_graph.rst:61 +msgid "**Step 2**: Go to the folder of the code." +msgstr "**Schritt 2**: Gehen Sie zum Ordner des Codes." + +#: ../1.1.3_led_bar_graph.rst:71 +msgid "**Step 3**: Compile the code." +msgstr "**Schritt 3**: Kompilieren Sie den Code." + +#: ../1.1.3_led_bar_graph.rst:81 +msgid "**Step 4:** Run the executable file." +msgstr "**Schritt 4:** Führen Sie die ausführbare Datei aus." + +#: ../1.1.3_led_bar_graph.rst:91 ../1.1.3_led_bar_graph.rst:222 +msgid "" +"After the code runs, you will see the LEDs on the LED bar turn on and off" +" regularly." +msgstr "" +"Nachdem die Kode ausgeführt wurde, werden die LEDs in der LED-Leiste " +"regelmäßig ein- und ausgeschaltet." + +#: ../1.1.3_led_bar_graph.rst:97 +msgid "" +"If it does not work after running, please refer to :ref:`C code is not " +"working?`" +msgstr "" +"Wenn es nach dem Ausführen nicht funktioniert, lesen Sie bitte :ref:`C " +"code is not working?`" + +#: ../1.1.3_led_bar_graph.rst:99 ../1.1.3_led_bar_graph.rst:225 +msgid "**Code**" +msgstr "**Code**" + +#: ../1.1.3_led_bar_graph.rst:151 ../1.1.3_led_bar_graph.rst:290 +msgid "**Code Explanation**" +msgstr "**Code Erklärung**" + +#: ../1.1.3_led_bar_graph.rst:157 +msgid "" +"Create an array and assign it to the pin number corresponding to the LED " +"Bar Graph (0,1,2,3,4,5,6,8,9,10) and the array will be used to control " +"the LED." +msgstr "" +"Erstellen Sie ein Array und weisen Sie es der Pin-Nummer zu, die dem LED-" +"Balkendiagramm (0,1,2,3,4,5,6,8,9,10) entspricht. Das Array wird zur " +"Steuerung der LED verwendet." + +#: ../1.1.3_led_bar_graph.rst:172 ../1.1.3_led_bar_graph.rst:304 +msgid "Let the LED on the odd digit of the LED Bar Graph light on in turn." +msgstr "" +"Lassen Sie die LED an der ungeraden Stelle des LED-Balkendiagramms der " +"Reihe nach leuchten." + +#: ../1.1.3_led_bar_graph.rst:185 ../1.1.3_led_bar_graph.rst:315 +msgid "Make the LED on the even digit of the LED Bar Graph light on in turn." +msgstr "" +"Schalten Sie die LED auf der geraden Ziffer des LED-Balkendiagramms der " +"Reihe nach ein." + +#: ../1.1.3_led_bar_graph.rst:197 ../1.1.3_led_bar_graph.rst:325 +msgid "Let the LED on the LED Bar Graph light on one by one." +msgstr "Lassen Sie die LED auf dem LED-Balkendiagramm nacheinander leuchten." + +#: ../1.1.3_led_bar_graph.rst:200 +msgid "For Python Language Users" +msgstr "Für Python-Sprachbenutzer" + +#: ../1.1.3_led_bar_graph.rst:202 +msgid "**Step 2:** Go to the folder of the code." +msgstr "**Schritt 2:** Gehen Sie zum Ordner des Codes." + +#: ../1.1.3_led_bar_graph.rst:212 +msgid "**Step 3**: Run the executable file." +msgstr "**Schritt 3**: Führen Sie die ausführbare Datei aus." + +#: ../1.1.3_led_bar_graph.rst:229 + +msgid "" +"You can **Modify/Reset/Copy/Run/Stop** the code below. But before that, " +"you need to go to source code path like ``davinci-kit-for-raspberry-" +"pi/python``." +msgstr "" +"Sie können den folgenden Code **Ändern/Zurücksetzen/ " +"Kopieren/Ausführen/Stoppen**. Zuvor müssen Sie jedoch zu einem " +"Quellcodepfad wie ``davinci-kit-for-raspberry-pi/python`` gehen." + +#: ../1.1.3_led_bar_graph.rst:292 +msgid "" +"ledPins = [11, 12, 13, 15, 16, 18, 22, 3, 5, 24] Create an array and " +"assign it to the pin number corresponding to the LED Bar Graph (11, 12, " +"13, 15, 16, 18, 22, 3, 5, 24) and the array will be used to control the " +"LED." +msgstr "" +"ledPins = [11, 12, 13, 15, 16, 18, 22, 3, 5, 24] Erstellen Sie ein Array " +"und weisen Sie es der Pin-Nummer zu, die dem LED-Balkendiagramm (11, 12, " +"13, 15, 16, 18, 22, 3, 5, 24) entspricht. Das Array wird zur Steuerung " +"der LED verwendet." + +#: ../1.1.3_led_bar_graph.rst:328 +msgid "Phenomenon Picture" +msgstr "Phänomen Bild" + diff --git a/docs/source/locale/de/LC_MESSAGES/1.1.4_7-segment_display.po b/docs/source/locale/de/LC_MESSAGES/1.1.4_7-segment_display.po new file mode 100644 index 0000000..669114f --- /dev/null +++ b/docs/source/locale/de/LC_MESSAGES/1.1.4_7-segment_display.po @@ -0,0 +1,485 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, SunFounder +# This file is distributed under the same license as the SunFounder Davinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Davinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-19 18:22+0800\n" +"PO-Revision-Date: 2021-05-31 20:59+0800\n" +"Last-Translator: \n" +"Language: de\n" +"Language-Team: \n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../1.1.4_7-segment_display.rst:2 +msgid "1.1.4 7-segment Display" +msgstr "1.1.4 7-Segment-Anzeige" + +#: ../1.1.4_7-segment_display.rst:5 +msgid "Introduction" +msgstr "Einführung" + +#: ../1.1.4_7-segment_display.rst:7 +msgid "" +"Let's try to drive a 7-segment display to show a figure from 0 to 9 and A" +" to F." +msgstr "" +"Versuchen wir, eine 7-Segment-Anzeige anzutreiben, um eine Nummer von 0 " +"bis 9 und von A bis F anzuzeigen." + +#: ../1.1.4_7-segment_display.rst:11 +msgid "Components" +msgstr "Komponenten" + +#: ../1.1.4_7-segment_display.rst:16 +msgid "Principle" +msgstr "Prinzip" + +#: ../1.1.4_7-segment_display.rst:18 +msgid "**7-Segment Display**" +msgstr "**7-Segment-Anzeige**" + +#: ../1.1.4_7-segment_display.rst:20 +msgid "" +"A 7-segment display is an 8-shaped component which packages 7 LEDs. Each " +"LED is called a segment - when energized, one segment forms part of a " +"numeral to be displayed." +msgstr "" +"Ein 7-Segment-Display ist eine 8-förmige Komponente, die 7 LEDs enthält. " +"Jede LED wird als Segment bezeichnet. Bei Erregung ist ein Segment Teil " +"einer anzuzeigenden Ziffer." + +#: ../1.1.4_7-segment_display.rst:24 +msgid "" +"There are two types of pin connection: Common Cathode (CC) and Common " +"Anode (CA). As the name suggests, a CC display has all the cathodes of " +"the 7 LEDs connected when a CA display has all the anodes of the 7 " +"segments connected. In this kit, we use the former." +msgstr "" +"Es gibt zwei Typen von Pin-Verbindungen: Common Cathode (CC) und Common " +"Anode (CA). Wie der Name schon sagt, sind an einer CC-Anzeige alle " +"Kathoden der 7 LEDs angeschlossen, wenn an einer CA-Anzeige alle Anoden " +"der 7 Segmente angeschlossen sind. In diesem Kit verwenden wir der " +"erstere." + +#: ../1.1.4_7-segment_display.rst:34 +msgid "" +"Each of the LEDs in the display is given a positional segment with one of" +" its connection pins led out from the rectangular plastic package. These " +"LED pins are labeled from \"a\" through to \"g\" representing each " +"individual LED. The other LED pins are connected together forming a " +"common pin. So by forward biasing the appropriate pins of the LED " +"segments in a particular order, some segments will brighten and others " +"stay dim, thus showing the corresponding character on the display." +msgstr "" +"Jede der LEDs im Display erhält ein Positionssegment, wobei einer der " +"Verbindungsstifte aus dem rechteckigen Kunststoffgehäuse herausgeführt " +"wird. Diese LED-Pins sind von \"a\" bis \"g\" bezeichnet und " +"repräsentieren jede einzelne LED. Die anderen LED-Pins sind miteinander " +"verbunden und bilden einen gemeinsamen Pin. Wenn Sie also die " +"entsprechenden Pins der LED-Segmente in einer bestimmten Reihenfolge nach" +" vorne vorspannen, werden einige Segmente heller und andere dunkel " +"bleiben, wodurch das entsprechende Zeichen auf dem Display angezeigt " +"wird." + +#: ../1.1.4_7-segment_display.rst:42 +msgid "**Display Codes**" +msgstr "**Koden anzeigen**" + +#: ../1.1.4_7-segment_display.rst:44 +msgid "" +"To help you get to know how 7-segment displays(Common Cathode) display " +"Numbers, we have drawn the following table. Numbers are the number 0-F " +"displayed on the 7-segment display; (DP) GFEDCBA refers to the " +"corresponding LED set to 0 or 1, For example, 00111111 means that DP and " +"G are set to 0, while others are set to 1. Therefore, the number 0 is " +"displayed on the 7-segment display, while HEX Code corresponds to " +"hexadecimal number." +msgstr "" +"Damit Sie wissen können, wie 7-Segment-Anzeigen (Common Cathode) Numbers " +"anzeigen, haben wir die folgende Tabelle gezeichnet. Nummer sind die " +"Nummer 0-F, die auf der 7-Segment-Anzeige angezeigt werden. (DP) GFEDCBA " +"bezieht sich auf die entsprechende LED, die auf 0 oder 1 gesetzt ist. " +"Beispielsweise bedeutet 00111111, dass DP und G auf 0 gesetzt sind, " +"während andere auf 1 gesetzt sind. Daher wird die Nummer 0 auf dem 7" +"-Segment-Display angezeigt, während der HEX-Kode der Hexadezimalzahl " +"entspricht." + +#: ../1.1.4_7-segment_display.rst:55 +msgid "**74HC595**" +msgstr "**74HC595**" + +#: ../1.1.4_7-segment_display.rst:57 +msgid "" +"The 74HC595 consists of an 8−bit shift register and a storage register " +"with three−state parallel outputs. It converts serial input into parallel" +" output so you can save IO ports of an MCU." +msgstr "" +"Der 74HC595 besteht aus einem 8-Bit-Schieberegister und einem " +"Speicherregister mit parallelen Ausgängen mit drei Zuständen. Es wandelt " +"den seriellen Eingang in einen parallelen Ausgang um, sodass Sie E / " +"A-Ports einer MCU speichern können." + +#: ../1.1.4_7-segment_display.rst:61 +msgid "" +"When MR (pin10) is high level and OE (pin13) is low level, data is input " +"in the rising edge of SHcp and goes to the memory register through the " +"rising edge of SHcp. If the two clocks are connected together, the shift " +"register is always one pulse earlier than the memory register. There is a" +" serial shift input pin (Ds), a serial output pin (Q) and an asynchronous" +" reset button (low level) in the memory register. The memory register " +"outputs a Bus with a parallel 8-bit and in three states. When OE is " +"enabled (low level), the data in memory register is output to the bus." +msgstr "" +"Wenn MR (Pin 10) einen hohen Niveaul und OE (Pin 13) einen niedrigen " +"Niveaul aufweist, werden Daten in die ansteigende Flanke von SHcp " +"eingegeben und gehen über die ansteigende Flanke von SHcp in das " +"Speicherregister. Wenn die beiden Takte miteinander verbunden sind, ist " +"das Schieberegister immer einen Impuls früher als das Speicherregister. " +"Es gibt einen seriellen Verschiebungseingangspin (Ds), einen seriellen " +"Ausgangspin (Q) und eine asynchrone Rücksetztaste (niedriger Niveaul) im " +"Speicherregister. Das Speicherregister gibt einen Bus mit einem " +"parallelen 8-Bit und in drei Zuständen aus. Wenn OE aktiviert ist " +"(niedriger Niveaul), werden die Daten im Speicherregister an den Bus " +"ausgegeben." + +#: ../1.1.4_7-segment_display.rst:78 +msgid "**Pins of 74HC595 and their functions**:" +msgstr "**Pins von 74HC595 und ihre Funktionen**:" + +#: ../1.1.4_7-segment_display.rst:80 +msgid "" +"**Q0-Q7**: 8-bit parallel data output pins, able to control 8 LEDs or 8 " +"pins of 7-segment display directly." +msgstr "" +"**Q0-Q7** : 8-Bit-Parallel-Datenausgangspins, die 8 LEDs oder 8 Pins der " +"7-Segment-Anzeige direkt steuern können." + +#: ../1.1.4_7-segment_display.rst:82 +msgid "" +"**Q7’**: Series output pin, connected to DS of another 74HC595 to connect" +" multiple 74HC595s in series." +msgstr "" +"**Q7’** : Serienausgangspin, verbunden mit DS eines anderen 74HC595, um " +"mehrere 74HC595 in Reihe zu schalten." + +#: ../1.1.4_7-segment_display.rst:84 +msgid "**MR**: Reset pin, active at low level;" +msgstr "**MR**: Reset-Pin, aktiv bei niedrigem Niveau;" + +#: ../1.1.4_7-segment_display.rst:86 +msgid "" +"**SHcp**: Time sequence input of shift register. On the rising edge, the " +"data in shift register moves successively one bit, i.e. data in Q1 moves " +"to Q2, and so forth. While on the falling edge, the data in shift " +"register remain unchanged." +msgstr "" + +#: ../1.1.4_7-segment_display.rst:88 +msgid "" +"**STcp**: Time sequence input of storage register. On the rising edge, " +"data in the shift register moves into memory register." +msgstr "" +"**STcp**: Zeitfolgeeingabe des Speicherregisters. Bei der steigenden " +"Flanke werden Daten im Schieberegister in das Speicherregister " +"verschoben." + +#: ../1.1.4_7-segment_display.rst:90 +msgid "**CE**: Output enable pin, active at low level." +msgstr "**CE**: Ausgangsfreigabepin, aktiv auf niedrigem Niveau." + +#: ../1.1.4_7-segment_display.rst:92 +msgid "**DS**: Serial data input pin" +msgstr "**DS**: Serieller Dateneingangspin" + +#: ../1.1.4_7-segment_display.rst:94 +msgid "**VCC**: Positive supply voltage" +msgstr "**VCC**: Positive Versorgungsspannung" + +#: ../1.1.4_7-segment_display.rst:96 +msgid "**GND**: Ground" +msgstr "**GND**: Boden" + +#: ../1.1.4_7-segment_display.rst:99 +msgid "Schematic Diagram" +msgstr "Schematische Darstellung" + +#: ../1.1.4_7-segment_display.rst:101 +msgid "" +"Connect pin ST_CP of 74HC595 to Raspberry Pi GPIO18, SH_CP to GPIO27, DS " +"to GPIO17, parallel output ports to 8 segments of the LED segment " +"display. Input data in DS pin to shift register when SH_CP (the clock " +"input of the shift register) is at the rising edge, and to the memory " +"register when ST_CP (the clock input of the memory) is at the rising " +"edge. Then you can control the states of SH_CP and ST_CP via the " +"Raspberry Pi GPIOs to transform serial data input into parallel data " +"output so as to save Raspberry Pi GPIOs and drive the display." +msgstr "" +"Verbinden Sie Pin ST_CP von 74HC595 mit Raspberry Pi GPIO18, SH_CP mit " +"GPIO27, DS mit GPIO17 und parallele Ausgangsanschlüsse mit 8 Segmenten " +"der LED-Segmentanzeige. Geben Sie Daten in den DS-Pin in das " +"Schieberegister ein, wenn sich SH_CP (der Takteingang des " +"Schieberegisters) an der ansteigenden Flanke befindet, und in das " +"Speicherregister, wenn sich ST_CP (der Takteingang des Speichers) an der " +"ansteigenden Flanke befindet. Anschließend können Sie die Zustände von " +"SH_CP und ST_CP über die Raspberry Pi-GPIOs steuern, um die serielle " +"Dateneingabe in eine parallele Datenausgabe umzuwandeln, um Raspberry Pi-" +"GPIOs zu speichern und die Anzeige zu steuern." + +#: ../1.1.4_7-segment_display.rst:111 +msgid "T-Board Name" +msgstr "T-Karte Name" + +#: ../1.1.4_7-segment_display.rst:111 +msgid "physical" +msgstr "physisch" + +#: ../1.1.4_7-segment_display.rst:111 +msgid "wiringPi" +msgstr "wiringPi" + +#: ../1.1.4_7-segment_display.rst:111 +msgid "BCM" +msgstr "BCM" + +#: ../1.1.4_7-segment_display.rst:112 +msgid "GPIO17" +msgstr "GPIO17" + +#: ../1.1.4_7-segment_display.rst:112 +msgid "Pin 11" +msgstr "Pin 11" + +#: ../1.1.4_7-segment_display.rst:112 +msgid "0" +msgstr "0" + +#: ../1.1.4_7-segment_display.rst:112 +msgid "17" +msgstr "17" + +#: ../1.1.4_7-segment_display.rst:113 +msgid "GPIO18" +msgstr "GPIO18" + +#: ../1.1.4_7-segment_display.rst:113 +msgid "Pin 12" +msgstr "Pin 12" + +#: ../1.1.4_7-segment_display.rst:113 +msgid "1" +msgstr "1" + +#: ../1.1.4_7-segment_display.rst:113 +msgid "18" +msgstr "18" + +#: ../1.1.4_7-segment_display.rst:114 +msgid "GPIO27" +msgstr "GPIO27" + +#: ../1.1.4_7-segment_display.rst:114 +msgid "Pin 13" +msgstr "Pin 13" + +#: ../1.1.4_7-segment_display.rst:114 +msgid "2" +msgstr "2" + +#: ../1.1.4_7-segment_display.rst:114 +msgid "27" +msgstr "27" + +#: ../1.1.4_7-segment_display.rst:121 +msgid "Experimental Procedures" +msgstr "Experimentelle Verfahren" + +#: ../1.1.4_7-segment_display.rst:123 +msgid "**Step 1:** Build the circuit." +msgstr "**Schritt 1:** Bauen Sie die Schaltung auf." + +#: ../1.1.4_7-segment_display.rst:129 +msgid "For C Language Users" +msgstr "Für Benutzer in C-Sprache" + +#: ../1.1.4_7-segment_display.rst:131 ../1.1.4_7-segment_display.rst:270 +msgid "Step 2: Get into the folder of the code." +msgstr "**Schritt 2:** Gehen Sie in den Ordner der Kode." + +#: ../1.1.4_7-segment_display.rst:141 +msgid "Step 3: Compile." +msgstr "**Schritt 3:** Kompilieren." + +#: ../1.1.4_7-segment_display.rst:151 +msgid "Step 4: Run the executable file above." +msgstr "**Schritt 4:** Führen Sie die obige ausführbare Datei aus." + +#: ../1.1.4_7-segment_display.rst:161 ../1.1.4_7-segment_display.rst:290 +msgid "After the code runs, you'll see the 7-segment display display 0-9, A-F." +msgstr "" +"Nachdem der Code ausgeführt wurde, wird die 7-Segment-Anzeige 0-9, A-F " +"angezeigt." + +#: ../1.1.4_7-segment_display.rst:165 +msgid "" +"If it does not work after running, please refer to :ref:`C code is not " +"working?`" +msgstr "" +"Wenn es nach dem Ausführen nicht funktioniert, lesen Sie bitte :ref:`C " +"code is not working?`" + +#: ../1.1.4_7-segment_display.rst:167 ../1.1.4_7-segment_display.rst:292 +msgid "**Code**" +msgstr "**Code**" + +#: ../1.1.4_7-segment_display.rst:217 ../1.1.4_7-segment_display.rst:352 +msgid "**Code Explanation**" +msgstr "**Code Erklärung**" + +#: ../1.1.4_7-segment_display.rst:219 +msgid "" +"unsigned char SegCode[16] = " +"{0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};" +" A segment code array from 0 to F in Hexadecimal (Common cathode)." +msgstr "" +"unsigned char SegCode[16] = " +"{0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};" +" Ein Segmentcode-Array von 0 bis F in hexadezimaler Darstellung " +"(gemeinsame Kathode)." + +#: ../1.1.4_7-segment_display.rst:233 +msgid "" +"Set ds, st_cp, sh_cp three pins to OUTPUT, and the initial state as 0. " +"void hc595_shift(unsigned char dat){} To assign 8 bit value to 74HC595’s " +"shift register." +msgstr "" +"Setzen Sie ds, st_cp, sh_cp drei Pins auf OUTPUT und den Anfangszustand " +"auf 0. void hc595_shift(unsigned char dat){} Zuweisen eines 8-Bit-Werts " +"zum Schieberegister des 74HC595." + +#: ../1.1.4_7-segment_display.rst:241 +msgid "" +"Assign the dat data to SDI(DS) by bits. Here we assume dat=0x3f(0011 " +"1111, when i=2, 0x3f will shift left(<<) 2 bits. 1111 1100 (0x3f << 2) & " +"1000 0000 (0x80) = 1000 0000, is true." +msgstr "" +"Ordnen Sie die Datendaten SDI (DS) in Bits zu. Hier nehmen wir an, dass " +"dat = 0x3f (0011 1111, wenn i = 2, 0x3f 2 Bits nach links (<<) " +"verschiebt. 1111 1100 (0x3f << 2) & 1000 0000 (0x80) = 1000 0000 ist " +"wahr." + +#: ../1.1.4_7-segment_display.rst:247 +msgid "" +"SRCLK's initial value was set to 0, and here it's set to 1, which is to " +"generate a rising edge pulse, then shift the DS date to shift register." +msgstr "" +"Der Anfangswert von SRCLK wurde auf 0 gesetzt, und hier wird er auf 1 " +"gesetzt, um einen Anstiegsflankenimpuls zu erzeugen und dann das DS-Datum" +" in das Schieberegister zu verschieben." + +#: ../1.1.4_7-segment_display.rst:253 +msgid "" +"RCLK's initial value was set to 0, and here it's set to 1, which is to " +"generate a rising edge, then shift data from shift register to storage " +"register." +msgstr "" +"Der Anfangswert von RCLK wurde auf 0 gesetzt, und hier wird er auf 1 " +"gesetzt, um eine ansteigende Flanke zu erzeugen und dann Daten vom " +"Schieberegister zum Speicherregister zu verschieben." + +#: ../1.1.4_7-segment_display.rst:265 +msgid "" +"In this for loop, we use \\\"%1X\\\" to output i as a hexadecimal number." +" Apply i to find the corresponding segment code in the SegCode[] array, " +"and employ hc595_shift() to pass the SegCode into 74HC595's shift " +"register." +msgstr "" +"In dieser for-Schleife verwenden wir \"%1X\", um i als Hexadezimalzahl " +"auszugeben. Wenden Sie i an, um den entsprechenden Segmentcode im " +"SegCode[]-Array zu finden, und verwenden Sie hc595_shift(), um den " +"SegCode in das Schieberegister des 74HC595 zu übergeben." + +#: ../1.1.4_7-segment_display.rst:268 +msgid "For Python Language Users" +msgstr "Für Python-Sprachbenutzer" + +#: ../1.1.4_7-segment_display.rst:280 +msgid "Step 3: Run." +msgstr "**Schritt 3:** Ausführen." + +#: ../1.1.4_7-segment_display.rst:297 + +msgid "" +"You can **Modify/Reset/Copy/Run/Stop** the code below. But before that, " +"you need to go to source code path like ``davinci-kit-for-raspberry-" +"pi/python``." +msgstr "" +"Sie können den folgenden Code **Ändern/Zurücksetzen/ " +"Kopieren/Ausführen/Stoppen**. Zuvor müssen Sie jedoch zu einem " +"Quellcodepfad wie ``davinci-kit-for-raspberry-pi/python`` gehen." + +#: ../1.1.4_7-segment_display.rst:358 +msgid "A segment code array from 0 to F in Hexadecimal (Common cathode)." +msgstr "" +"Ein Segmentcode-Array von 0 bis F in hexadezimaler Darstellung " +"(gemeinsame Kathode)." + +#: ../1.1.4_7-segment_display.rst:368 +msgid "" +"Set ds, st_cp, sh_cp three pins to output and the initial state as low " +"level." +msgstr "" +"Setzen Sie ds, st_cp, sh_cp auf drei Pins und den Ausgangszustand auf " +"niedrigen Niveau." + +#: ../1.1.4_7-segment_display.rst:374 +msgid "" +"Assign the dat data to SDI(DS) by bits. Here we assume dat=0x3f(0011 " +"1111, when bit=2, 0x3f will shift right(<<) 2 bits. 1111 1100 (0x3f << 2)" +" & 1000 0000 (0x80) = 1000 0000, is true." +msgstr "" +"Ordnen Sie die Datendaten SDI (DS) in Bits zu. Hier nehmen wir an, dass " +"dat = 0x3f (0011 1111, wenn Bit = 2, 0x3f 2 Bits nach rechts (<<) " +"verschiebt. 1111 1100 (0x3f << 2) & 1000 0000 (0x80) = 1000 0000 ist " +"wahr." + +#: ../1.1.4_7-segment_display.rst:380 +msgid "" +"SRCLK's initial value was set to LOW, and here it's set to HIGH, which is" +" to generate a rising edge pulse, then shift the DS date to shift " +"register." +msgstr "" +"Der Anfangswert von SRCLK war auf NIEDRIG gesetzt, und hier wird er auf " +"HIGH gesetzt, um einen ansteigenden Flankenimpuls zu erzeugen und dann " +"das DS-Datum in das Schieberegister zu verschieben." + +#: ../1.1.4_7-segment_display.rst:386 +msgid "" +"RCLK's initial value was set to LOW, and here it's set to HIGH, which is " +"to generate a rising edge, then shift data from shift register to storage" +" register." +msgstr "" +"Der Anfangswert von RCLK wurde auf NIEDRIG gesetzt, und hier wird er auf " +"HOCH gesetzt, um eine ansteigende Flanke zu erzeugen und dann Daten vom " +"Schieberegister zum Speicherregister zu verschieben." + +#: ../1.1.4_7-segment_display.rst:389 +msgid "" +"The hexadecimal format of number 0~15 are (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, " +"A, B, C, D, E, F)" +msgstr "" +"Das hexadezimale Format der Nummer 0 bis 15 ist (0, 1, 2, 3, 4, 5, 6, 7, " +"8, 9, A, B, C, D, E, F)." + +#: ../1.1.4_7-segment_display.rst:392 +msgid "Phenomenon Picture" +msgstr "Phänomen Bild" + diff --git a/docs/source/locale/de/LC_MESSAGES/1.1.5_4-Digit_7-segment_display.po b/docs/source/locale/de/LC_MESSAGES/1.1.5_4-Digit_7-segment_display.po new file mode 100644 index 0000000..6c45c19 --- /dev/null +++ b/docs/source/locale/de/LC_MESSAGES/1.1.5_4-Digit_7-segment_display.po @@ -0,0 +1,479 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, SunFounder +# This file is distributed under the same license as the SunFounder Davinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Davinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-19 18:22+0800\n" +"PO-Revision-Date: 2021-05-31 21:01+0800\n" +"Last-Translator: \n" +"Language: de\n" +"Language-Team: \n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../1.1.5_4-Digit_7-segment_display.rst:2 +msgid "1.1.5 4-Digit 7-Segment Display" +msgstr "1.1.5 4-stellige 7-Segment-Anzeige" + +#: ../1.1.5_4-Digit_7-segment_display.rst:5 +msgid "Introduction" +msgstr "Einführung" + +#: ../1.1.5_4-Digit_7-segment_display.rst:7 +msgid "Next, follow me to try to control the 4-digit 7-segment display." +msgstr "" +"Folgen Sie mir als Nächstes, um zu versuchen, die 4-stellige 7-Segment-" +"Anzeige zu steuern." + +#: ../1.1.5_4-Digit_7-segment_display.rst:10 +msgid "Components" +msgstr "Komponenten" + +#: ../1.1.5_4-Digit_7-segment_display.rst:16 +msgid "Principle" +msgstr "Prinzip" + +#: ../1.1.5_4-Digit_7-segment_display.rst:18 +msgid "**4-Digit 7-Segment Display**" +msgstr "**4-stellige 7-Segment-Anzeige**" + +#: ../1.1.5_4-Digit_7-segment_display.rst:20 +msgid "" +"4-Digit 7-segment display consists of four 7- segment displays working " +"together." +msgstr "" +"Die 4-stellige 7-Segment-Anzeige besteht aus vier 7-Segment-Anzeigen, die" +" zusammenarbeiten." + +#: ../1.1.5_4-Digit_7-segment_display.rst:25 +msgid "" +"The 4-digtal 7-segment display works independently. It uses the principle" +" of human visual persistence to quickly display the characters of each " +"7-segment in a loop to form continuous strings." +msgstr "" +"Das 4-Digtal-7-Segment-Display arbeitet unabhängig. Es verwendet das " +"Prinzip der menschlichen visuellen Persistenz, um die Zeichen jedes " +"7-Segments schnell in einer Schleife anzuzeigen und fortlaufende " +"Zeichenfolgen zu bilden." + +#: ../1.1.5_4-Digit_7-segment_display.rst:29 +msgid "" +"For example, when \"1234\" is displayed on the display, \"1\" is " +"displayed on the first 7-segment, and \"234\" is not displayed. After a " +"period of time, the second 7-segment shows \"2\", the 1st 3th 4th of " +"7-segment does not show, and so on, the four digital display show in " +"turn. This process is very short (typically 5ms), and because of the " +"optical afterglow effect and the principle of visual residue, we can see " +"four characters at the same time." +msgstr "" +"Wenn beispielsweise \"1234\" auf dem Display angezeigt wird, wird \"1\" " +"auf dem ersten 7-Segment angezeigt und \"234\" wird nicht angezeigt. Nach" +" einer gewissen Zeit zeigt das zweite 7-Segment \"2\", das 1. 3. 4. des " +"7-Segments zeigt nicht usw. Die vier Digitalanzeigen werden nacheinander " +"angezeigt. Dieser Vorgang ist sehr kurz (normalerweise 5 ms), und " +"aufgrund des optischen Nachleuchteffekts und des Prinzips der visuellen " +"Rückstände können wir vier Zeichen gleichzeitig sehen." + +#: ../1.1.5_4-Digit_7-segment_display.rst:40 +msgid "**Display Codes**" +msgstr "**Koden anzeigen**" + +#: ../1.1.5_4-Digit_7-segment_display.rst:42 +msgid "" +"To help you get to know how 7-segment displays(Common Anode) display " +"Numbers, we have drawn the following table. Numbers are the number 0-F " +"displayed on the 7-segment display; (DP) GFEDCBA refers to the " +"corresponding LED set to 0 or 1, For example, 11000000 means that DP and " +"G are set to 1, while others are set to 0. Therefore, the number 0 is " +"displayed on the 7-segment display, while HEX Code corresponds to " +"hexadecimal number." +msgstr "" +"Um Ihnen zu zeigen, wie 7-Segment-Anzeigen (Gemeisame Anode) Nummer " +"anzeigen, haben wir die folgende Tabelle gezeichnet. Nummer sind die " +"Nummer 0-F, die auf der 7-Segment-Anzeige angezeigt werden. (DP) GFEDCBA " +"bezieht sich auf die entsprechende LED, die auf 0 oder 1 gesetzt ist. " +"Beispielsweise bedeutet 11000000, dass DP und G auf 1 gesetzt sind, " +"während andere auf 0 gesetzt sind. Daher wird die Nummer 0 auf dem 7" +"-Segment-Display angezeigt, während der HEX-Kode der Hexadezimalzahl " +"entspricht." + +#: ../1.1.5_4-Digit_7-segment_display.rst:54 +msgid "Schematic Diagram" +msgstr "Schematische Darstellung" + +#: ../1.1.5_4-Digit_7-segment_display.rst:57 +msgid "T-Board Name" +msgstr "T-Karte Name" + +#: ../1.1.5_4-Digit_7-segment_display.rst:57 +msgid "physical" +msgstr "physisch" + +#: ../1.1.5_4-Digit_7-segment_display.rst:57 +msgid "wiringPi" +msgstr "wiringPi" + +#: ../1.1.5_4-Digit_7-segment_display.rst:57 +msgid "BCM" +msgstr "BCM" + +#: ../1.1.5_4-Digit_7-segment_display.rst:58 +msgid "GPIO17" +msgstr "GPIO17" + +#: ../1.1.5_4-Digit_7-segment_display.rst:58 +msgid "Pin 11" +msgstr "Pin 11" + +#: ../1.1.5_4-Digit_7-segment_display.rst:58 +msgid "0" +msgstr "0" + +#: ../1.1.5_4-Digit_7-segment_display.rst:58 +msgid "17" +msgstr "17" + +#: ../1.1.5_4-Digit_7-segment_display.rst:59 +msgid "GPIO27" +msgstr "GPIO27" + +#: ../1.1.5_4-Digit_7-segment_display.rst:59 +msgid "Pin 13" +msgstr "Pin 13" + +#: ../1.1.5_4-Digit_7-segment_display.rst:59 +msgid "2" +msgstr "2" + +#: ../1.1.5_4-Digit_7-segment_display.rst:59 +msgid "27" +msgstr "27" + +#: ../1.1.5_4-Digit_7-segment_display.rst:60 +msgid "GPIO22" +msgstr "GPIO22" + +#: ../1.1.5_4-Digit_7-segment_display.rst:60 +msgid "Pin 15" +msgstr "Pin 15" + +#: ../1.1.5_4-Digit_7-segment_display.rst:60 +msgid "3" +msgstr "3" + +#: ../1.1.5_4-Digit_7-segment_display.rst:60 +msgid "22" +msgstr "22" + +#: ../1.1.5_4-Digit_7-segment_display.rst:61 +msgid "SPIMOSI" +msgstr "SPIMOSI" + +#: ../1.1.5_4-Digit_7-segment_display.rst:61 +msgid "Pin 19" +msgstr "Pin 19" + +#: ../1.1.5_4-Digit_7-segment_display.rst:61 +msgid "12" +msgstr "12" + +#: ../1.1.5_4-Digit_7-segment_display.rst:61 +msgid "10" +msgstr "10" + +#: ../1.1.5_4-Digit_7-segment_display.rst:62 +msgid "GPIO18" +msgstr "GPIO18" + +#: ../1.1.5_4-Digit_7-segment_display.rst:62 +msgid "Pin 12" +msgstr "Pin 12" + +#: ../1.1.5_4-Digit_7-segment_display.rst:62 +msgid "1" +msgstr "1" + +#: ../1.1.5_4-Digit_7-segment_display.rst:62 +msgid "18" +msgstr "18" + +#: ../1.1.5_4-Digit_7-segment_display.rst:63 +msgid "GPIO23" +msgstr "GPIO23" + +#: ../1.1.5_4-Digit_7-segment_display.rst:63 +msgid "Pin 16" +msgstr "Pin 16" + +#: ../1.1.5_4-Digit_7-segment_display.rst:63 +msgid "4" +msgstr "4" + +#: ../1.1.5_4-Digit_7-segment_display.rst:63 +msgid "23" +msgstr "23" + +#: ../1.1.5_4-Digit_7-segment_display.rst:64 +msgid "GPIO24" +msgstr "GPIO24" + +#: ../1.1.5_4-Digit_7-segment_display.rst:64 +msgid "Pin 18" +msgstr "Pin 18" + +#: ../1.1.5_4-Digit_7-segment_display.rst:64 +msgid "5" +msgstr "5" + +#: ../1.1.5_4-Digit_7-segment_display.rst:64 +msgid "24" +msgstr "24" + +#: ../1.1.5_4-Digit_7-segment_display.rst:71 +msgid "Experimental Procedures" +msgstr "Experimentelle Verfahren" + +#: ../1.1.5_4-Digit_7-segment_display.rst:73 +msgid "**Step 1**: Build the circuit." +msgstr "**Schritt 1**: Bauen Sie die Schaltung auf." + +#: ../1.1.5_4-Digit_7-segment_display.rst:79 +msgid "For C Language Users" +msgstr "Für Benutzer in C-Sprache" + +#: ../1.1.5_4-Digit_7-segment_display.rst:80 +#: ../1.1.5_4-Digit_7-segment_display.rst:327 +msgid "Step 2: Go to the folder of the code." +msgstr "**Schritt 2:** Gehen Sie zum Ordner des Codes." + +#: ../1.1.5_4-Digit_7-segment_display.rst:90 +msgid "Step 3: Compile the code." +msgstr "**Schritt 3:** Kompilieren Sie den Code." + +#: ../1.1.5_4-Digit_7-segment_display.rst:100 +msgid "Step 4: Run the executable file." +msgstr "**Schritt 4:** Führen Sie die ausführbare Datei aus." + +#: ../1.1.5_4-Digit_7-segment_display.rst:110 +msgid "" +"After the code runs, the program takes a count, increasing by 1 per " +"second, and the 4-digit 7-segment display displays the count." +msgstr "" +"Nachdem der Code ausgeführt wurde, nimmt das Programm eine Zählung vor, " +"die um 1 pro Sekunde erhöht wird, und die 4-stellige 7-Segment-Anzeige " +"zeigt die Zählung an." + +#: ../1.1.5_4-Digit_7-segment_display.rst:114 +msgid "" +"If it does not work after running, please refer to :ref:`C code is not " +"working?`" +msgstr "" +"Wenn es nach dem Ausführen nicht funktioniert, lesen Sie bitte :ref:`C " +"code is not working?`" + +#: ../1.1.5_4-Digit_7-segment_display.rst:116 +#: ../1.1.5_4-Digit_7-segment_display.rst:349 +msgid "**Code**" +msgstr "**Code**" + +#: ../1.1.5_4-Digit_7-segment_display.rst:228 +#: ../1.1.5_4-Digit_7-segment_display.rst:449 +msgid "**Code Explanation**" +msgstr "**Code Erklärung**" + +#: ../1.1.5_4-Digit_7-segment_display.rst:234 +#: ../1.1.5_4-Digit_7-segment_display.rst:455 +msgid "" +"These four pins control the common anode pins of the four-digit 7-segment" +" displays." +msgstr "" +"Diese vier Pins steuern die gemeinsamen Anodenpins der vierstelligen 7" +"-Segment-Anzeigen." + +#: ../1.1.5_4-Digit_7-segment_display.rst:240 +msgid "A segment code array from 0 to 9 in Hexadecimal (Common anode)." +msgstr "" +"Ein Segmentkode-Array von 0 bis 9 in hexadezimaler Darstellung " +"(gemeinsame Anode)." + +#: ../1.1.5_4-Digit_7-segment_display.rst:253 +#: ../1.1.5_4-Digit_7-segment_display.rst:482 +msgid "" +"Select the place of the value. there is only one place that should be " +"enable each time. The enabled place will be written high." +msgstr "" +"Wählen Sie den Ort des Wertes. Es gibt nur einen Ort, der jedes Mal " +"aktiviert werden sollte. Der aktivierte Ort wird hoch geschrieben." + +#: ../1.1.5_4-Digit_7-segment_display.rst:278 +msgid "" +"The functionis used to set the number displayed on the 4-digit 7-segment " +"display." +msgstr "" +"Mit dieser Funktion wird die auf der 4-stelligen 7-Segment-Anzeige " +"angezeigte Nummer eingestellt." + +#: ../1.1.5_4-Digit_7-segment_display.rst:280 +msgid "" +"``clearDisplay()``:write in 11111111 to turn off these eight LEDs on " +"7-segment display so as to clear the displayed content." +msgstr "" +"``Klare Anzeige ()``: Schreiben Sie in 11111111, um diese acht LEDs auf " +"der 7-Segment-Anzeige auszuschalten und den angezeigten Inhalt zu " +"löschen." + +#: ../1.1.5_4-Digit_7-segment_display.rst:281 +msgid "``pickDigit(0)``:pick the fourth 7-segment display." +msgstr "``pickDigit (0)``: Wählen Sie die vierte 7-Segment-Anzeige." + +#: ../1.1.5_4-Digit_7-segment_display.rst:282 +msgid "" +"``hc595_shift(number[counter%10])``:the number in the single digit of " +"counter will display on the forth segment." +msgstr "" +"``hc595_shift (Nummer [Zähler% 10])``: Die Nummer in der einzelnen Ziffer" +" des Zählers wird im vierten Segment angezeigt." + +#: ../1.1.5_4-Digit_7-segment_display.rst:288 +msgid "This is a system-provided function, the prototype of code is:" +msgstr "" +"Dies ist eine vom System bereitgestellte Funktion. Der Prototyp der Kode " +"lautet:" + +#: ../1.1.5_4-Digit_7-segment_display.rst:294 +msgid "" +"After executing the signal(), once the process receives the corresponding" +" signum (in this case SIGALRM), it immediately pauses the existing task " +"and processes the set function (in this case timer(sig))." +msgstr "" +"Nach dem Ausführen des Signals () hält der Prozess, sobald er das " +"entsprechende Signal (in diesem Fall SIGALRM) erhalten hat, die " +"vorhandene Aufgabe sofort an und verarbeitet die eingestellte Funktion " +"(in diesem Fall Timer (sig))." + +#: ../1.1.5_4-Digit_7-segment_display.rst:300 +msgid "This is also a system-provided function. The code prototype is:" +msgstr "" +"Dies ist auch eine vom System bereitgestellte Funktion. Der Kode-Prototyp" +" ist:" + +#: ../1.1.5_4-Digit_7-segment_display.rst:306 +msgid "It generates a SIGALRM signal after a certain number of seconds." +msgstr "Es erzeugt nach einer bestimmten Anzahl von Sekunden ein SIGALRM-Signal." + +#: ../1.1.5_4-Digit_7-segment_display.rst:320 +msgid "" +"We use the functions above to implement the timer function. After the " +"``alarm()`` generates the SIGALRM signal, the timer function is called. " +"Add 1 to counter, and the function, ``alarm(1)`` will be repeatedly " +"called after 1 second." +msgstr "" +"Wir verwenden die obigen Funktionen, um die Timer-Funktion zu " +"implementieren. Nachdem der ``Alarm ()`` das SIGALRM-Signal erzeugt hat, " +"wird die Timer-Funktion aufgerufen. Addiere 1 zum Zähler und die Funktion" +" ``Warnung (1)`` wird nach 1 Sekunde wiederholt aufgerufen." + +#: ../1.1.5_4-Digit_7-segment_display.rst:325 +msgid "For Python Language Users" +msgstr "Für Python-Sprachbenutzer" + +#: ../1.1.5_4-Digit_7-segment_display.rst:337 +msgid "Step 3: Run the executable file." +msgstr "Schritt 3: Führen Sie die ausführbare Datei aus." + +#: ../1.1.5_4-Digit_7-segment_display.rst:347 +msgid "" +"After the code runs, the program takes a count, increasing by 1 per " +"second, and the 4 digit display displays the count." +msgstr "" +"Nachdem die Kode ausgeführt wurde, nimmt das Programm eine Zählung vor, " +"die um 1 pro Sekunde erhöht wird, und die 4-stellige Anzeige zeigt die " +"Zählung an." + +#: ../1.1.5_4-Digit_7-segment_display.rst:353 + +msgid "" +"You can **Modify/Reset/Copy/Run/Stop** the code below. But before that, " +"you need to go to source code path like ``davinci-kit-for-raspberry-" +"pi/python``." +msgstr "" +"Sie können den folgenden Code **Ändern/Zurücksetzen/ " +"Kopieren/Ausführen/Stoppen**. Zuvor müssen Sie jedoch zu einem " +"Quellcodepfad wie ``davinci-kit-for-raspberry-pi/python`` gehen." + +#: ../1.1.5_4-Digit_7-segment_display.rst:461 +msgid "A segment code array from 0 to 9 in hexadecimal (common anode)." +msgstr "" +"Ein Segmentkode-Array von 0 bis 9 in hexadezimaler Darstellung " +"(gemeinsame Anode)." + +#: ../1.1.5_4-Digit_7-segment_display.rst:473 +msgid "" +"Write \"1\" for eight times in SDI., so that the eight LEDs on the " +"7-segment Dispaly will turn off so as to clear the displayed content." +msgstr "" +"Schreiben Sie achtmal \"1\" in SDI., Damit die acht LEDs auf dem 7" +"-Segment-Anzeige erlöschen, um den angezeigten Inhalt zu löschen." + +#: ../1.1.5_4-Digit_7-segment_display.rst:505 +msgid "" +"The function is used to set the number displayed on the 4-digit 7-segment" +" Dispaly." +msgstr "" +"Mit dieser Funktion wird die auf der 4-stelligen 7-Segment-Anzeige " +"angezeigte Nummer eingestellt." + +#: ../1.1.5_4-Digit_7-segment_display.rst:507 +msgid "" +"First, start the fourth segment display, write the single-digit number. " +"Then start the third segment display, and type in the tens digit; after " +"that, start the second and the first segment display respectively, and " +"write the hundreds and thousands digits respectively. Because the " +"refreshing speed is very fast, we see a complete four-digit display." +msgstr "" +"Starten Sie zuerst die vierte Segmentanzeige und schreiben Sie die " +"einstellige Nummer. Dann starten Sie die Anzeige des dritten Segments und" +" geben Sie die Zehnerstelle ein. Starten Sie danach die zweite bzw. die " +"erste Segmentanzeige und schreiben Sie die Hunderter- bzw. " +"Tausenderstellen. Da die Aktualisierungsgeschwindigkeit sehr hoch ist, " +"sehen wir eine vollständige vierstellige Anzeige." + +#: ../1.1.5_4-Digit_7-segment_display.rst:514 +msgid "" +"The module, threading is the common threading module in Python,and Timer " +"is the subclass of it. The prototype of code is:" +msgstr "" +"Das Modul Threading ist das übliche Threading-Modul in Python Tim und " +"Timer ist die Unterklasse davon. Der Prototyp der Kode ist:" + +#: ../1.1.5_4-Digit_7-segment_display.rst:521 +msgid "" +"After the interval, the function will be run. Here, the interval is " +"1.0,and the function is timer(). start () means the Timer will start at " +"this point." +msgstr "" +"Nach dem Intervall wird die Funktion ausgeführt. Hier beträgt das " +"Intervall 1.0, und die Funktion ist timer (). start () bedeutet, dass der" +" Timer an diesem Punkt startet." + +#: ../1.1.5_4-Digit_7-segment_display.rst:534 +msgid "" +"After Timer reaches 1.0s, the Timer function is called; add 1 to counter," +" and the Timer is used again to execute itself repeatedly every second." +msgstr "" +"Nachdem der Timer 1,0 Sekunden erreicht hat, wird die Timer-Funktion " +"aufgerufen. Addiere 1 zum Zähler und der Timer wird erneut verwendet, um " +"sich jede Sekunde wiederholt auszuführen." + +#: ../1.1.5_4-Digit_7-segment_display.rst:538 +msgid "Phenomenon Picture" +msgstr "Phänomen Bild" + diff --git a/docs/source/locale/de/LC_MESSAGES/1.1.6_led_dot_matrix.po b/docs/source/locale/de/LC_MESSAGES/1.1.6_led_dot_matrix.po new file mode 100644 index 0000000..f977f9e --- /dev/null +++ b/docs/source/locale/de/LC_MESSAGES/1.1.6_led_dot_matrix.po @@ -0,0 +1,552 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, SunFounder +# This file is distributed under the same license as the SunFounder Davinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Davinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-19 18:22+0800\n" +"PO-Revision-Date: 2021-05-31 21:03+0800\n" +"Last-Translator: \n" +"Language: de\n" +"Language-Team: \n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../1.1.6_led_dot_matrix.rst:2 +msgid "1.1.6 LED Dot Matrix" +msgstr "1.1.6 LED-Punktmatrix" + +#: ../1.1.6_led_dot_matrix.rst:5 +msgid "Introduction" +msgstr "Einführung" + +#: ../1.1.6_led_dot_matrix.rst:7 +msgid "" +"As the name suggests, an LED dot matrix is a matrix composed of LEDs. The" +" lighting up and dimming of the LEDs formulate different characters and " +"patterns." +msgstr "" +"Wie der Name schon sagt, eine LED-Punktmatrix ist eine Matrix aus LEDs. " +"Das Aufleuchten und Dimmen der LEDs formuliert unterschiedliche Zeichen " +"und Muster." + +#: ../1.1.6_led_dot_matrix.rst:12 +msgid "Components" +msgstr "Komponenten" + +#: ../1.1.6_led_dot_matrix.rst:17 +msgid "Principle" +msgstr "Prinzip" + +#: ../1.1.6_led_dot_matrix.rst:19 ../1.1.6_led_dot_matrix.rst:109 +#: ../1.1.6_led_dot_matrix.rst:123 +msgid "**LED Dot Matrix**" +msgstr "**LED-Punktmatrix**" + +#: ../1.1.6_led_dot_matrix.rst:21 +msgid "" +"Generally, LED dot matrix can be categorized into two types: common " +"cathode (CC) and common anode (CA). They look much alike, but internally " +"the difference lies. You can tell by test. A CA one is used in this kit. " +"You can see 788BS labeled at the side." +msgstr "" +"Im Allgemeinen kann die LED-Punktmatrix in zwei Typen eingeteilt werden: " +"gemeinsame Kathode (CC) und gemeinsame Anode (CA). Sie sehen sich sehr " +"ähnlich, aber innerlich liegt der Unterschied. Sie können durch Test " +"erkennen. In diesem Kit wird eine CA verwendet. Sie können 788BS an der " +"Seite beschriftet sehen." + +#: ../1.1.6_led_dot_matrix.rst:26 +msgid "" +"See the figure below. The pins are arranged at the two ends at the back. " +"Take the label side for reference: pins on this end are pin 1-8, and oh " +"the other are pin 9-16." +msgstr "" +"Siehe die Abbildung unten. Die Pins sind an den beiden Enden hinten " +"angeordnet. Nehmen Sie die Etikettenseite als Referenz: Die Pins an " +"diesem Ende sind Pin 1-8 und die anderen sind Pin 9-16." + +#: ../1.1.6_led_dot_matrix.rst:30 +msgid "The external view:" +msgstr "Die Außenansicht:" + +#: ../1.1.6_led_dot_matrix.rst:35 +msgid "" +"Below the figures show their internal structure. You can see in a CA LED " +"dot matrix, ROW represents the anode of the LED, and COL is cathode; it's" +" contrary for a CC one. One thing in common: for both types, pin 13, 3, " +"4, 10, 6, 11, 15, and 16 are all COL, when pin 9, 14, 8, 12, 1, 7, 2, and" +" 5 are all ROW. If you want to turn on the first LED at the top left " +"corner, for a CA LED dot matrix, just set pin 9 as High and pin 13 as " +"Low, and for a CC one, set pin 13 as High and pin 9 as Low. If you want " +"to light up the whole first column, for CA, set pin 13 as Low and ROW 9, " +"14, 8, 12, 1, 7, 2, and 5 as High, when for CC, set pin 13 as High and " +"ROW 9, 14, 8, 12, 1, 7, 2, and 5 as Low. Consider the following figures " +"for better understanding." +msgstr "" +"Unten zeigen die Abbildungen ihre interne Struktur. Sie können in einer " +"CA-LED-Punktmatrix sehen, dass ROW die Anode der LED darstellt und COL " +"die Kathode ist. es ist das Gegenteil für einen CC. Eines ist gemeinsam: " +"Für beide Typen sind Pin 13, 3, 4, 10, 6, 11, 15 und 16 alle COL, wenn " +"Pin 9, 14, 8, 12, 1, 7, 2 und 5 alle COL sind REIHE. Wenn Sie die erste " +"LED in der oberen linken Ecke einschalten möchten, setzen Sie für eine " +"CA-LED-Punktmatrix einfach Pin 9 als High und Pin 13 als Low und für eine" +" CC-Pin Pin 13 als High und Pin 9 als NIEDRIG . Wenn Sie die gesamte " +"erste Spalte für CA aufleuchten möchten, setzen Sie Pin 13 auf Niedrig " +"und REIHE 9, 14, 8, 12, 1, 7, 2 und 5 auf Hoch. Wenn Sie für CC Pin 13 " +"auf Hoch und setzen REIHE 9, 14, 8, 12, 1, 7, 2 und 5 als niedrig. " +"Betrachten Sie die folgenden Abbildungen zum besseren Verständnis." + +#: ../1.1.6_led_dot_matrix.rst:47 +msgid "The internal view:" +msgstr "Die interne Ansicht:" + +#: ../1.1.6_led_dot_matrix.rst:53 +msgid "Pin numbering corresponding to the above rows and columns:" +msgstr "Pin-Nummerierung entsprechend den obigen Zeilen und Spalten:" + +#: ../1.1.6_led_dot_matrix.rst:56 +msgid "**COL**" +msgstr "**MIT DEM**" + +#: ../1.1.6_led_dot_matrix.rst:56 ../1.1.6_led_dot_matrix.rst:58 +#: ../1.1.6_led_dot_matrix.rst:59 ../1.1.6_led_dot_matrix.rst:123 +msgid "**1**" +msgstr "**1**" + +#: ../1.1.6_led_dot_matrix.rst:56 ../1.1.6_led_dot_matrix.rst:58 +#: ../1.1.6_led_dot_matrix.rst:59 ../1.1.6_led_dot_matrix.rst:123 +msgid "**2**" +msgstr "**2**" + +#: ../1.1.6_led_dot_matrix.rst:56 ../1.1.6_led_dot_matrix.rst:57 +#: ../1.1.6_led_dot_matrix.rst:58 ../1.1.6_led_dot_matrix.rst:109 +msgid "**3**" +msgstr "**3**" + +#: ../1.1.6_led_dot_matrix.rst:56 ../1.1.6_led_dot_matrix.rst:57 +#: ../1.1.6_led_dot_matrix.rst:58 ../1.1.6_led_dot_matrix.rst:109 +msgid "**4**" +msgstr "**4**" + +#: ../1.1.6_led_dot_matrix.rst:56 ../1.1.6_led_dot_matrix.rst:58 +#: ../1.1.6_led_dot_matrix.rst:59 ../1.1.6_led_dot_matrix.rst:123 +msgid "**5**" +msgstr "**5**" + +#: ../1.1.6_led_dot_matrix.rst:56 ../1.1.6_led_dot_matrix.rst:57 +#: ../1.1.6_led_dot_matrix.rst:58 ../1.1.6_led_dot_matrix.rst:109 +msgid "**6**" +msgstr "**6**" + +#: ../1.1.6_led_dot_matrix.rst:56 ../1.1.6_led_dot_matrix.rst:58 +#: ../1.1.6_led_dot_matrix.rst:59 ../1.1.6_led_dot_matrix.rst:123 +msgid "**7**" +msgstr "**7**" + +#: ../1.1.6_led_dot_matrix.rst:56 ../1.1.6_led_dot_matrix.rst:58 +#: ../1.1.6_led_dot_matrix.rst:59 ../1.1.6_led_dot_matrix.rst:123 +msgid "**8**" +msgstr "**8**" + +#: ../1.1.6_led_dot_matrix.rst:57 ../1.1.6_led_dot_matrix.rst:59 +msgid "**Pin No.**" +msgstr "**Pin Nr.**" + +#: ../1.1.6_led_dot_matrix.rst:57 ../1.1.6_led_dot_matrix.rst:109 +msgid "**13**" +msgstr "**13**" + +#: ../1.1.6_led_dot_matrix.rst:57 ../1.1.6_led_dot_matrix.rst:109 +msgid "**10**" +msgstr "**10**" + +#: ../1.1.6_led_dot_matrix.rst:57 ../1.1.6_led_dot_matrix.rst:109 +msgid "**11**" +msgstr "**11**" + +#: ../1.1.6_led_dot_matrix.rst:57 ../1.1.6_led_dot_matrix.rst:109 +msgid "**15**" +msgstr "**15**" + +#: ../1.1.6_led_dot_matrix.rst:57 ../1.1.6_led_dot_matrix.rst:109 +msgid "**16**" +msgstr "**16**" + +#: ../1.1.6_led_dot_matrix.rst:58 +msgid "**ROW**" +msgstr "**REIHE**" + +#: ../1.1.6_led_dot_matrix.rst:59 ../1.1.6_led_dot_matrix.rst:123 +msgid "**9**" +msgstr "**9**" + +#: ../1.1.6_led_dot_matrix.rst:59 ../1.1.6_led_dot_matrix.rst:123 +msgid "**14**" +msgstr "**14**" + +#: ../1.1.6_led_dot_matrix.rst:59 ../1.1.6_led_dot_matrix.rst:123 +msgid "**12**" +msgstr "**12**" + +#: ../1.1.6_led_dot_matrix.rst:62 +msgid "" +"In addition, two 74HC595 chips are used here. One is to control the rows " +"of the LED dot matrix while the other, the columns." +msgstr "" +"Zusätzlich werden hier zwei 74HC595-Chips verwendet. Eine besteht darin, " +"die Zeilen der LED-Punktmatrix zu steuern, während die andere die Spalten" +" steuert." + +#: ../1.1.6_led_dot_matrix.rst:66 +msgid "Schematic Diagram" +msgstr "Schematische Darstellung" + +#: ../1.1.6_led_dot_matrix.rst:69 +msgid "T-Board Name" +msgstr "T-Karte Name" + +#: ../1.1.6_led_dot_matrix.rst:69 +msgid "physical" +msgstr "physisch" + +#: ../1.1.6_led_dot_matrix.rst:69 +msgid "wiringPi" +msgstr "wiringPi" + +#: ../1.1.6_led_dot_matrix.rst:69 +msgid "BCM" +msgstr "BCM" + +#: ../1.1.6_led_dot_matrix.rst:70 +msgid "GPIO17" +msgstr "GPIO17" + +#: ../1.1.6_led_dot_matrix.rst:70 +msgid "Pin 11" +msgstr "Pin 11" + +#: ../1.1.6_led_dot_matrix.rst:70 +msgid "0" +msgstr "0" + +#: ../1.1.6_led_dot_matrix.rst:70 +msgid "17" +msgstr "17" + +#: ../1.1.6_led_dot_matrix.rst:71 +msgid "GPIO18" +msgstr "GPIO18" + +#: ../1.1.6_led_dot_matrix.rst:71 +msgid "Pin 12" +msgstr "Pin 12" + +#: ../1.1.6_led_dot_matrix.rst:71 +msgid "1" +msgstr "1" + +#: ../1.1.6_led_dot_matrix.rst:71 +msgid "18" +msgstr "18" + +#: ../1.1.6_led_dot_matrix.rst:72 +msgid "GPIO27" +msgstr "GPIO27" + +#: ../1.1.6_led_dot_matrix.rst:72 +msgid "Pin 13" +msgstr "Pin 13" + +#: ../1.1.6_led_dot_matrix.rst:72 +msgid "2" +msgstr "2" + +#: ../1.1.6_led_dot_matrix.rst:72 +msgid "27" +msgstr "27" + +#: ../1.1.6_led_dot_matrix.rst:79 +msgid "Experimental Procedures" +msgstr "Experimentelle Verfahren" + +#: ../1.1.6_led_dot_matrix.rst:81 +msgid "" +"**Step 1:** Build the circuit. Since the wiring is complicated, let's " +"make it step by step. First, insert the T-Cobbler, the LED dot matrix and" +" two 74HC595 chips into breadboard. Connect the 3.3V and GND of the " +"T-Cobbler to holes on the two sides of the board, then hook up pin16 and " +"10 of the two 74HC595 chips to VCC, pin 13 and pin 8 to GND." +msgstr "" +"**Schritt 1:** Bauen Sie die Schaltung auf. Da die Verkabelung " +"kompliziert ist, machen wir es Schritt für Schritt. Setzen Sie zuerst den" +" T-Cobbler, die LED-Punktmatrix und zwei 74HC595-Chips in das Steckbrett " +"ein. Verbinden Sie die 3,3 V und GND des T-Cobbler mit den Löchern auf " +"den beiden Seiten der Platine und schließen Sie dann Pin 16 und 10 der " +"beiden 74HC595-Chips an VCC, Pin 13 und Pin 8 an GND an." + +#: ../1.1.6_led_dot_matrix.rst:88 +msgid "In the Fritzing image above, the side with label is at the bottom." +msgstr "Im Fritzing-Bild oben befindet sich die Seite mit der Beschriftung unten." + +#: ../1.1.6_led_dot_matrix.rst:93 +msgid "" +"**Step 2:** Connect pin 11 of the two 74HC595 together, and then to " +"GPIO27; then pin 12 of the two chips, and to GPIO18; next, pin 14 of the " +"74HC595 on the left side to GPIO17 and pin 9 to pin 14 of the second " +"74HC595." +msgstr "" +"**Schritt 2:** Verbinden Sie Pin 11 der beiden 74HC595 miteinander und " +"dann mit GPIO27. dann Pin 12 der beiden Chips und GPIO18; Als nächstes " +"Pin 14 des 74HC595 auf der linken Seite an GPIO17 und Pin 9 an Pin 14 des" +" zweiten 74HC595." + +#: ../1.1.6_led_dot_matrix.rst:101 +msgid "" +"**Step 3:** The 74HC595 on the right side is to control columns of the " +"LED dot matrix. See the table below for the mapping. Therefore, Q0-Q7 " +"pins of the 74HC595 are mapped with pin 13, 3, 4, 10, 6, 11, 15, and 16 " +"respectively." +msgstr "" +"**Schritt 3:** Der 74HC595 auf der rechten Seite steuert die Spalten der " +"LED-Punktmatrix. Die Zuordnung finden Sie in der folgenden Tabelle. Daher" +" werden die Q0-Q7-Pins des 74HC595 mit Pin 13, 3, 4, 10, 6, 11, 15 bzw. " +"16 abgebildet." + +#: ../1.1.6_led_dot_matrix.rst:107 ../1.1.6_led_dot_matrix.rst:121 +msgid "**74HC595**" +msgstr "**74HC595**" + +#: ../1.1.6_led_dot_matrix.rst:107 ../1.1.6_led_dot_matrix.rst:121 +msgid "**Q0**" +msgstr "**Q0**" + +#: ../1.1.6_led_dot_matrix.rst:107 ../1.1.6_led_dot_matrix.rst:121 +msgid "**Q1**" +msgstr "**Q1**" + +#: ../1.1.6_led_dot_matrix.rst:107 ../1.1.6_led_dot_matrix.rst:121 +msgid "**Q2**" +msgstr "**Q2**" + +#: ../1.1.6_led_dot_matrix.rst:107 ../1.1.6_led_dot_matrix.rst:121 +msgid "**Q3**" +msgstr "**Q3**" + +#: ../1.1.6_led_dot_matrix.rst:107 ../1.1.6_led_dot_matrix.rst:121 +msgid "**Q4**" +msgstr "**Q4**" + +#: ../1.1.6_led_dot_matrix.rst:107 ../1.1.6_led_dot_matrix.rst:121 +msgid "**Q5**" +msgstr "**Q5**" + +#: ../1.1.6_led_dot_matrix.rst:107 ../1.1.6_led_dot_matrix.rst:121 +msgid "**Q6**" +msgstr "**Q6**" + +#: ../1.1.6_led_dot_matrix.rst:107 ../1.1.6_led_dot_matrix.rst:121 +msgid "**Q7**" +msgstr "**Q7**" + +#: ../1.1.6_led_dot_matrix.rst:115 +msgid "" +"**Step 4:** Now connect the ROWs of the LED dot matrix. The 74HC595 on " +"the left controls ROW of the LED dot matrix. See the table below for the " +"mapping. We can see, Q0-Q7 of the 74HC595 on the left are mapped with pin" +" 9, 14, 8, 12, 1, 7, 2, and 5 respectively." +msgstr "" +"**Schritt 4:** Verbinden Sie nun die REIHEN der LED-Punktmatrix. Der " +"74HC595 auf der linken Seite steuert die REIHE der LED-Punktmatrix. Die " +"Zuordnung finden Sie in der folgenden Tabelle. Wir können sehen, dass " +"Q0-Q7 des 74HC595 auf der linken Seite mit Pin 9, 14, 8, 12, 1, 7, 2 bzw." +" 5 abgebildet sind." + +#: ../1.1.6_led_dot_matrix.rst:130 +msgid "For C Language Users" +msgstr "Für Benutzer in C-Sprache" + +#: ../1.1.6_led_dot_matrix.rst:132 +msgid "**Step 5:** Go to the folder of code." +msgstr "**Schritt 5:** Wechseln Sie in den Codeordner." + +#: ../1.1.6_led_dot_matrix.rst:142 +msgid "**Step 6:** Compile." +msgstr "**Schritt 6:** Kompilieren." + +#: ../1.1.6_led_dot_matrix.rst:152 +msgid "**Step 7:** Run." +msgstr "**Schritt 7:** Ausführen." + +#: ../1.1.6_led_dot_matrix.rst:162 ../1.1.6_led_dot_matrix.rst:308 +msgid "" +"After the code runs, the LED dot matrix lights up and out row by row and " +"column by column." +msgstr "" +"Nachdem die Kode ausgeführt wurde, leuchtet die LED-Punktmatrix Zeile für" +" Zeile und Spalte für Spalte auf und aus." + +#: ../1.1.6_led_dot_matrix.rst:166 +msgid "" +"If it does not work after running, please refer to :ref:`C code is not " +"working?`" +msgstr "" +"Wenn es nach dem Ausführen nicht funktioniert, lesen Sie bitte :ref:`C " +"code is not working?`" + +#: ../1.1.6_led_dot_matrix.rst:168 ../1.1.6_led_dot_matrix.rst:310 +msgid "**Code**" +msgstr "**Code**" + +#: ../1.1.6_led_dot_matrix.rst:234 ../1.1.6_led_dot_matrix.rst:378 +msgid "**Code Explanation**" +msgstr "**Code Erklärung**" + +#: ../1.1.6_led_dot_matrix.rst:241 +msgid "" +"The array code_H represents the elements of the LED dot matrix row, and " +"the array code_L refers to the elements of the column. When characters " +"are displayed, an element in row and one in column are acquired and " +"assigned to the two HC595 chips respectively. Thus a pattern is shown on " +"the LED dot matrix. Take the first number of code_H, 0x01 and the first " +"number of code_L, 0x00 as examples." +msgstr "" +"Der Array-Kode_H repräsentiert die Elemente der LED-Punktmatrixzeile, und" +" der Array-Code_L bezieht sich auf die Elemente der Spalte. Wenn Zeichen " +"angezeigt werden, werden ein Element in Zeile und eines in Spalte erfasst" +" und den beiden HC595-Chips zugewiesen. Somit ist ein Muster auf der LED-" +"Punktmatrix gezeigt. Nehmen Sie als Beispiele die erste Nummer von " +"code_H, 0x01 und die erste Nummer von code_L, 0x00." + +#: ../1.1.6_led_dot_matrix.rst:244 ../1.1.6_led_dot_matrix.rst:388 +msgid "" +"0x01 converted to binary becomes 00000001; 0x00 converted to binary " +"becomes 0000 0000." +msgstr "" +"0x01 konvertiert in Binär wird 00000001; 0x00 konvertiert in Binär wird " +"0000 0000." + +#: ../1.1.6_led_dot_matrix.rst:246 +msgid "" +"In this kit, common anode LED dot matrix display is applied, so only the " +"eight LEDs in the eighth row light up. When the conditions that code H is" +" 0xff and code_L is 0x7f are met simultaneously, these 8 LEDs in the " +"first column are lit." +msgstr "" +"In diesem Kit wird eine LED-Punktmatrixanzeige mit gemeinsamer Anode " +"verwendet, sodass nur die acht LEDs in der achten Reihe aufleuchten. Wenn" +" die Bedingungen, dass Code H 0xff und Code_L 0x7f ist, gleichzeitig " +"erfüllt sind, leuchten diese 8 LEDs in der ersten Spalte." + +#: ../1.1.6_led_dot_matrix.rst:261 +msgid "" +"Write the value of dat to pin SDI of the HC595 bit by bit. SRCLK's " +"initial value was set to 0, and here it's set to 1, which is to generate " +"a rising edge pulse, then shift the pinSDI(DS) date to shift register." +msgstr "" +"Schreiben Sie den Wert von dat bitweise auf den Pin SDI des HC595. Der " +"Anfangswert von SRCLK wurde auf 0 gesetzt, und hier ist er auf 1 gesetzt," +" was einen ansteigenden Flankenimpuls erzeugen und dann das " +"pinSDI(DS)-Datum in das Schieberegister verschieben soll.code-block:: c" + +#: ../1.1.6_led_dot_matrix.rst:270 +msgid "" +"RCLK's initial value was set to 0, and here it's set to 1, which is to " +"generate a rising edge, then shift data from shift register to storage " +"register." +msgstr "" +"Der Anfangswert von RCLK wurde auf 0 gesetzt, und hier wird er auf 1 " +"gesetzt, um eine ansteigende Flanke zu erzeugen und dann Daten vom " +"Schieberegister zum Speicherregister zu verschieben." + +#: ../1.1.6_led_dot_matrix.rst:283 +msgid "" +"In this loop, these 20  elements in the two arrays, code_L and code_H " +"will be uploaded to the two 74HC595 chip one by one. Then call the " +"function, hc595_out() to shift data from shift register to storage " +"register." +msgstr "" +"In dieser Schleife werden diese 20 Elemente in den beiden Arrays Kode_L " +"und code_H nacheinander auf die beiden 74HC595-Chips hochgeladen. Rufen " +"Sie dann die Funktion hc595_out () auf, um Daten vom Schieberegister zum " +"Speicherregister zu verschieben." + +#: ../1.1.6_led_dot_matrix.rst:286 +msgid "For Python Language Users" +msgstr "Für Python-Sprachbenutzer" + +#: ../1.1.6_led_dot_matrix.rst:288 +msgid "**Step 5:** Get into the folder of code." +msgstr "**Schritt 5:** Gehen Sie in den Kode-Ordner." + +#: ../1.1.6_led_dot_matrix.rst:298 +msgid "**Step 6:** Run." +msgstr "**Schritt 6:** Ausführen." + +#: ../1.1.6_led_dot_matrix.rst:314 + +msgid "" +"You can **Modify/Reset/Copy/Run/Stop** the code below. But before that, " +"you need to go to source code path like ``davinci-kit-for-raspberry-" +"pi/python``." +msgstr "" +"Sie können den folgenden Code **Ändern/Zurücksetzen/ " +"Kopieren/Ausführen/Stoppen**. Zuvor müssen Sie jedoch zu einem " +"Quellcodepfad wie ``davinci-kit-for-raspberry-pi/python`` gehen." + +#: ../1.1.6_led_dot_matrix.rst:385 +msgid "" +"The array code_H represents the elements of the matix row, and the array " +"code_L refers to the elements of the column. When characters are " +"displayed, an element in row and one in column are acquired and assigned " +"to the two HC595 chips respectively. Thus a pattern is shown on the LED " +"dot matrix. Take the first number of code_H, 0x01 and the first number " +"of code_L, 0x00 as examples." +msgstr "" +"Das Array code_H repräsentiert die Elemente der Matix-Zeile, und das " +"Array code_L bezieht sich auf die Elemente der Spalte. Wenn Zeichen " +"angezeigt werden, werden ein Element in Zeile und eines in Spalte erfasst" +" und den beiden HC595-Chips zugewiesen. Somit ist ein Muster auf der LED-" +"Punktmatrix gezeigt. Nehmen Sie als Beispiele die erste Nummer von " +"code_H, 0x01 und die erste Nummer von code_L, 0x00." + +#: ../1.1.6_led_dot_matrix.rst:390 +msgid "" +"In this kit, common anode LED dot matrix is applied, so only the eight " +"LEDs in the eighth row light up. When the conditions that code H is 0xff " +"and code_L is 0x7f are met simultaneously, these 8 LEDs in the first " +"column are lit." +msgstr "" +"In diesem Kit wird eine gemeinsame Anoden-LED-Punktmatrix angewendet, " +"sodass nur die acht LEDs in der achten Reihe aufleuchten. Wenn die " +"Bedingungen, dass Code H 0xff und Code_L 0x7f ist, gleichzeitig erfüllt " +"sind, leuchten diese 8 LEDs in der ersten Spalte." + +#: ../1.1.6_led_dot_matrix.rst:401 +msgid "" +"In this loop, these 20 elements in the two arrays, code_L and code_H will" +" be uploaded to the HC595 chip one by one." +msgstr "" +"In dieser Schleife werden diese 20 Elemente in den beiden Arrays Kode_L " +"und Kode_H nacheinander auf den HC595-Chip hochgeladen." + +#: ../1.1.6_led_dot_matrix.rst:404 + +msgid "" +"If you want to display characters on the LED dot matrix, please refer to " +"a python code: https://github.com/sunfounder/SunFounder_Dot_Matrix." +msgstr "" +"Wenn Sie Zeichen in der LED-Punktmatrix anzeigen möchten, lesen Sie bitte" +" einen Python-Code: https://github.com/sunfounder/SunFounder_Dot_Matrix." + +#: ../1.1.6_led_dot_matrix.rst:407 +msgid "Phenomenon Picture" +msgstr "Phänomen Bild" + diff --git a/docs/source/locale/de/LC_MESSAGES/1.1.7_i2c_lcd1602.po b/docs/source/locale/de/LC_MESSAGES/1.1.7_i2c_lcd1602.po new file mode 100644 index 0000000..8146c72 --- /dev/null +++ b/docs/source/locale/de/LC_MESSAGES/1.1.7_i2c_lcd1602.po @@ -0,0 +1,273 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, SunFounder +# This file is distributed under the same license as the SunFounder Davinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Davinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-19 18:22+0800\n" +"PO-Revision-Date: 2021-05-31 20:40+0800\n" +"Last-Translator: \n" +"Language: de\n" +"Language-Team: \n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../1.1.7_i2c_lcd1602.rst:2 +msgid "1.1.7 I2C LCD1602" +msgstr "1.1.7 I2C LCD1602" + +#: ../1.1.7_i2c_lcd1602.rst:5 +msgid "Introduction" +msgstr "Einführung" + +#: ../1.1.7_i2c_lcd1602.rst:7 +msgid "" +"LCD1602 is a character type liquid crystal display, which can display 32 " +"(16*2) characters at the same time." +msgstr "" +"LCD1602 ist eine Flüssigkristallanzeige vom Zeichentyp, die gleichzeitig " +"32 (16 * 2) Zeichen anzeigen kann." + +#: ../1.1.7_i2c_lcd1602.rst:11 +msgid "Components" +msgstr "Komponenten" + +#: ../1.1.7_i2c_lcd1602.rst:16 +msgid "Principle" +msgstr "Prinzip" + +#: ../1.1.7_i2c_lcd1602.rst:18 +msgid "**I2C LCD1602**" +msgstr "**I2C LCD1602**" + +#: ../1.1.7_i2c_lcd1602.rst:20 +msgid "" +"As we all know, though LCD and some other displays greatly enrich the " +"man-machine interaction, they share a common weakness. When they are " +"connected to a controller, multiple IOs will be occupied of the " +"controller which has no so many outer ports. Also it restricts other " +"functions of the controller. Therefore, LCD1602 with an I2C bus is " +"developed to solve the problem." +msgstr "" +"Wie wir alle wissen, bereichern LCD und einige andere Anzeiger die " +"Mensch-Maschine-Interaktion erheblich, weisen jedoch eine gemeinsame " +"Schwäche auf. Wenn sie mit einem Controller verbunden sind, werden " +"mehrere E / A des Controllers belegt, der nicht so viele äußere Ports " +"hat. Es schränkt auch andere Funktionen der Steuerung ein. Daher wurde " +"LCD1602 mit einem I2C-Bus entwickelt, um das Problem zu lösen." + +#: ../1.1.7_i2c_lcd1602.rst:29 +msgid "**I2C communication**" +msgstr "**I2C-Kommunikation**" + +#: ../1.1.7_i2c_lcd1602.rst:31 +msgid "" +"I2C(Inter-Integrated Circuit) bus is a very popular and powerful bus for " +"communication between a master device (or master devices) and a single or" +" multiple slave devices." +msgstr "" +"Der I2C-Bus (Inter-Integrated Circuit) ist ein sehr beliebter und " +"leistungsstarker Bus für die Kommunikation zwischen einem Master-Gerät " +"(oder Master-Geräten) und einem oder mehreren Slave-Geräten." + +#: ../1.1.7_i2c_lcd1602.rst:35 +msgid "" +"I2C main controller can be used to control IO expander, various sensors, " +"EEPROM, ADC/DAC and so on. All of these are controlled only by the two " +"pins of host, the serial data (SDA1) line and the serial clock " +"line(SCL1)." +msgstr "" +"Der I2C-Hauptcontroller kann zur Steuerung des E / A-Expanders, " +"verschiedener Sensoren, des EEPROM, des ADC / DAC usw. verwendet werden. " +"Alle diese werden nur von den beiden Pins des Hosts gesteuert, der " +"seriellen Datenleitung (SDA1) und der seriellen Taktleitung (SCL1)." + +#: ../1.1.7_i2c_lcd1602.rst:41 +msgid "Schematic Diagram" +msgstr "Schematische Darstellung" + +#: ../1.1.7_i2c_lcd1602.rst:44 +msgid "T-Board Name" +msgstr "T-Karte Name" + +#: ../1.1.7_i2c_lcd1602.rst:44 +msgid "physical" +msgstr "physisch" + +#: ../1.1.7_i2c_lcd1602.rst:45 +msgid "SDA1" +msgstr "SDA1" + +#: ../1.1.7_i2c_lcd1602.rst:45 +msgid "Pin 3" +msgstr "Pin 3" + +#: ../1.1.7_i2c_lcd1602.rst:46 +msgid "SCL1" +msgstr "SCL1" + +#: ../1.1.7_i2c_lcd1602.rst:46 +msgid "Pin 5" +msgstr "Pin 5" + +#: ../1.1.7_i2c_lcd1602.rst:53 +msgid "Experimental Procedures" +msgstr "Experimentelle Verfahren" + +#: ../1.1.7_i2c_lcd1602.rst:55 +msgid "**Step 1:** Build the circuit." +msgstr "**Schritt 1:** Bauen Sie die Schaltung auf." + +#: ../1.1.7_i2c_lcd1602.rst:62 +msgid "" +"**Step 2**: Setup I2C (see :ref:`I2C Configuration`. If you have set I2C," +" skip this step.)" +msgstr "" +"**Schritt 2**: I2C einrichten (siehe :ref:`I2C Configuration`. Wenn Sie " +"I2C eingestellt haben, überspringen Sie diesen Schritt.)" + +#: ../1.1.7_i2c_lcd1602.rst:65 +msgid "For C Language Users" +msgstr "Für Benutzer in C-Sprache" + +#: ../1.1.7_i2c_lcd1602.rst:67 ../1.1.7_i2c_lcd1602.rst:241 +msgid "**Step 3:** Change directory." +msgstr "**Schritt 3:** Verzeichnis wechseln." + +#: ../1.1.7_i2c_lcd1602.rst:77 +msgid "**Step 4:** Compile." +msgstr "**Schritt 4:** Kompilieren." + +#: ../1.1.7_i2c_lcd1602.rst:87 +msgid "**Step 5:** Run." +msgstr "**Schritt 5:** Ausführen." + +#: ../1.1.7_i2c_lcd1602.rst:97 ../1.1.7_i2c_lcd1602.rst:261 + +msgid "" +"After the code runs, you can see \\\"Greetings\\\",\\\"From " +"SunFounder\\\" displaying on the LCD." +msgstr "" +"Nachdem die Kode ausgeführt wurde, werden auf dem LCD \"Grüße\" und \"Von " +"SunFounder\" angezeigt." + +#: ../1.1.7_i2c_lcd1602.rst:101 +msgid "" +"If it does not work after running, please refer to :ref:`C code is not " +"working?`" +msgstr "" +"Wenn es nach dem Ausführen nicht funktioniert, lesen Sie bitte :ref:`C " +"code is not working?`" + +#: ../1.1.7_i2c_lcd1602.rst:103 ../1.1.7_i2c_lcd1602.rst:263 +msgid "**Code**" +msgstr "**Code**" + +#: ../1.1.7_i2c_lcd1602.rst:206 ../1.1.7_i2c_lcd1602.rst:294 +msgid "**Code Explanation**" +msgstr "**Code Erklärung**" + +#: ../1.1.7_i2c_lcd1602.rst:217 +msgid "" +"These functions are used to control I2C LCD1602 open source code. They " +"allow us to easily use I2C LCD1602. Among these functions, init() is used" +" for initialization, clear() is used to clear the screen, write() is used" +" to write what is displayed, and other functions support the above " +"functions." +msgstr "" +"Diese Funktionen werden zur Steuerung des Open Source-Codes I2C LCD1602 " +"verwendet. Sie ermöglichen die einfache Verwendung von I2C LCD1602. Unter" +" diesen Funktionen wird init () zur Initialisierung verwendet, clear () " +"wird zum Löschen des Bildschirms verwendet, write () wirdzum Schreiben " +"der angezeigten Elemente verwendet und andere Funktionen unterstützen die" +" obigen Funktionen." + +#: ../1.1.7_i2c_lcd1602.rst:224 +msgid "" +"This function initializes the I2C system with the specified device " +"symbol. The prototype of the function:" +msgstr "" +"Diese Funktion initialisiert das I2C-System mit dem angegebenen " +"Gerätesymbol. Der Prototyp der Funktion:" + +#: ../1.1.7_i2c_lcd1602.rst:230 +msgid "" +"Parameters devId is the address of the I2C device, it can be found " +"through the i2cdetect command(see Appendix) and the devId of I2C LCD1602 " +"is generally 0x27." +msgstr "" +"Parameter devId ist die Adresse des I2C-Geräts. Sie kann über den Befehl " +"i2cdetect (siehe Anhang) ermittelt werden. Die devId des I2C LCD1602 ist " +"im Allgemeinen 0x27." + +#: ../1.1.7_i2c_lcd1602.rst:236 +msgid "" +"In this function, data[] is the character to be printed on the LCD, and " +"the parameters x and y determine the printing position (line y+1, column " +"x+1 is the starting position of the character to be printed)." +msgstr "" +"In dieser Funktion ist data [] das Zeichen, das auf dem LCD gedruckt " +"werden soll, und die Parameter x und y bestimmen die Druckposition (Zeile" +" y + 1, Spalte x + 1 ist die Startposition des zu druckenden Zeichens)." + +#: ../1.1.7_i2c_lcd1602.rst:239 +msgid "For Python Language Users" +msgstr "Für Python-Sprachbenutzer" + +#: ../1.1.7_i2c_lcd1602.rst:251 +msgid "**Step 4:** Run." +msgstr "**Schritt 4:** Ausführen." + +#: ../1.1.7_i2c_lcd1602.rst:267 + +msgid "" +"You can **Modify/Reset/Copy/Run/Stop** the code below. But before that, " +"you need to go to source code path like ``davinci-kit-for-raspberry-" +"pi/python``." +msgstr "" +"Sie können den folgenden Code **Ändern/Zurücksetzen/ " +"Kopieren/Ausführen/Stoppen**. Zuvor müssen Sie jedoch zu einem " +"Quellcodepfad wie ``davinci-kit-for-raspberry-pi/python`` gehen." + +#: ../1.1.7_i2c_lcd1602.rst:300 +msgid "" +"This file is an open source file for controlling I2C LCD1602. It allows " +"us to easily use I2C LCD1602." +msgstr "" +"Diese Datei ist eine Open Source-Datei zur Steuerung von I2C LCD1602. Es " +"ermöglicht uns die einfache Verwendung von I2C LCD1602." + +#: ../1.1.7_i2c_lcd1602.rst:306 +msgid "" +"The function initializes the I2C system with the designated device " +"symbol. The first parameter is the address of the I2C device, which can " +"be detected through the i2cdetect command (see Appendix for details). The" +" address of I2C LCD1602 is generally 0x27." +msgstr "" +"Die Funktion initialisiert das I2C-System mit dem angegebenen " +"Gerätesymbol. Der erste Parameter ist die Adresse des I2C-Geräts, die mit" +" dem Befehl i2cdetect erkannt werden kann (Einzelheiten siehe Anhang). " +"Die Adresse des I2C LCD1602 lautet im Allgemeinen 0x27." + +#: ../1.1.7_i2c_lcd1602.rst:312 + +msgid "" +"Within this function, \\'Greetings!!\\' is the character to be printed on" +" the Row 0+1, column 0+1 on LCD. Now you can see \\\"Greetings! From " +"SunFounder\\\" displayed on the LCD." +msgstr "" +"Innerhalb dieser Funktion \'Grüße !!\' ist das Zeichen, das in der Zeile 0" +" + 1, Spalte 0 + 1 auf dem LCD gedruckt werden soll. Jetzt können Sie " +"\"Grüße! Von SunFounder\" auf dem LCD angezeigt." + +#: ../1.1.7_i2c_lcd1602.rst:316 +msgid "Phenomenon Picture" +msgstr "Phänomen Bild" + diff --git a/docs/source/locale/de/LC_MESSAGES/1.2.1_active_buzzer.po b/docs/source/locale/de/LC_MESSAGES/1.2.1_active_buzzer.po new file mode 100644 index 0000000..5013bf7 --- /dev/null +++ b/docs/source/locale/de/LC_MESSAGES/1.2.1_active_buzzer.po @@ -0,0 +1,253 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, SunFounder +# This file is distributed under the same license as the SunFounder Davinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Davinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-19 18:22+0800\n" +"PO-Revision-Date: 2021-05-31 21:08+0800\n" +"Last-Translator: \n" +"Language: de\n" +"Language-Team: \n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../1.2.1_active_buzzer.rst:2 +msgid "1.2.1 Active Buzzer" +msgstr "1.2.1 Aktiver Summer" + +#: ../1.2.1_active_buzzer.rst:5 +msgid "Introduction" +msgstr "Einführung" + +#: ../1.2.1_active_buzzer.rst:7 +msgid "" +"In this lesson, we will learn how to drive an active buzzer to beep with " +"a PNP transistor." +msgstr "" +"In dieser Lektion lernen wir, wie man einen aktiven Summer ansteuert, um " +"mit einem PNP-Transistor zu piepen." + +#: ../1.2.1_active_buzzer.rst:11 +msgid "Components" +msgstr "Komponenten" + +#: ../1.2.1_active_buzzer.rst:17 +msgid "Principle" +msgstr "Prinzip" + +#: ../1.2.1_active_buzzer.rst:19 +msgid "**Buzzer**" +msgstr "**Summer**" + +#: ../1.2.1_active_buzzer.rst:21 +msgid "" +"As a type of electronic buzzer with an integrated structure, buzzers, " +"which are supplied by DC power, are widely used in computers, printers, " +"photocopiers, alarms, electronic toys, automotive electronic devices, " +"telephones, timers and other electronic products or voice devices. " +"Buzzers can be categorized as active and passive ones (see the following " +"picture). Turn the buzzer so that its pins are facing up, and the buzzer " +"with a green circuit board is a passive buzzer, while the one enclosed " +"with a black tape is an active one." +msgstr "" +"Als eine Art elektronischer Summer mit integrierter Struktur werden " +"Summer, die mit Gleichstrom versorgt werden, häufig in Computern, " +"Druckern, Fotokopierern, Alarmen, elektronischem Spielzeug, " +"elektronischen Kraftfahrzeugen, Telefonen, Zeitschaltuhren und anderen " +"elektronischen Produkten oder Sprachgeräten verwendet. Summer können in " +"aktive und passive unterteilt werden (siehe folgendes Bild). Drehen Sie " +"den Summer so, dass seine Stifte nach oben zeigen, und der Summer mit " +"einer grünen Leiterplatte ist ein passiver Summer, während der mit einem " +"schwarzen Band umschlossene ein aktiver ist." + +#: ../1.2.1_active_buzzer.rst:30 +msgid "The difference between an active buzzer and a passive buzzer:" +msgstr "Der Unterschied zwischen einem aktiven und einem passiven Summer:" + +#: ../1.2.1_active_buzzer.rst:37 +msgid "" +"The difference between an active buzzer and a passive buzzer is: An " +"active buzzer has a built-in oscillating source, so it will make sounds " +"when electrified. But a passive buzzer does not have such source, so it " +"will not beep if DC signals are used; instead, you need to use square " +"waves whose frequency is between 2K and 5K to drive it. The active buzzer" +" is often more expensive than the passive one because of multiple built-" +"in oscillating circuits." +msgstr "" +"Der Unterschied zwischen einem aktiven und einem passiven Summer besteht " +"darin, dass ein aktiver Summer über eine integrierte Oszillationsquelle " +"verfügt, sodass er bei Elektrifizierung Geräusche erzeugt. Ein passiver " +"Summer verfügt jedoch nicht über eine solche Quelle, sodass bei " +"Verwendung von Gleichstromsignalen kein Piepton ertönt. Stattdessen " +"müssen Sie Rechteckwellen verwenden, deren Frequenz zwischen 2K und 5K " +"liegt, um sie anzutreiben. Der aktive Summer ist aufgrund mehrerer " +"eingebauter Schwingkreise oft teurer als der passive." + +#: ../1.2.1_active_buzzer.rst:45 +msgid "" +"The following is the electrical symbol of a buzzer. It has two pins with " +"positive and negative poles. With a + in the surface represents the anode" +" and the other is the cathode." +msgstr "" +"Das Folgende ist das elektrische Symbol eines Summers. Es hat zwei Stifte" +" mit positiven und negativen Polen. Mit einem + in der Oberfläche steht " +"die Anode und das andere ist die Kathode." + +#: ../1.2.1_active_buzzer.rst:54 +msgid "" +"You can check the pins of the buzzer, the longer one is the anode and the" +" shorter one is the cathode. Please don’t mix them up when connecting, " +"otherwise the buzzer will not make sound." +msgstr "" +"Sie können die Pins des Summers überprüfen, je länger die Anode und je " +"kürzer die Kathode ist. Bitte verwechseln Sie sie beim Anschließen nicht," +" da sonst kein Summer ertönt." + +#: ../1.2.1_active_buzzer.rst:59 +msgid "Schematic Diagram" +msgstr "Schematische Darstellung" + +#: ../1.2.1_active_buzzer.rst:61 +msgid "" +"In this experiment, an active buzzer, a PNP transistor and a 1k resistor " +"are used between the base of the transistor and GPIO to protect the " +"transistor. When the GPIO17 of Raspberry Pi output is supplied with low " +"level (0V) by programming, the transistor will conduct because of current" +" saturation and the buzzer will make sounds. But when high level is " +"supplied to the IO of Raspberry Pi, the transistor will be cut off and " +"the buzzer will not make sounds." +msgstr "" +"In diesem Experiment werden ein aktiver Summer, ein PNP-Transistor und " +"ein 1k-Widerstand zwischen der Basis des Transistors und GPIO verwendet, " +"um den Transistor zu schützen. Wenn der GPIO17 des Raspberry Pi-Ausgangs " +"durch Programmierung mit einem niedrigen Niveau (0V) versorgt wird, " +"leitet der Transistor aufgrund der Stromsättigung und der Summer gibt " +"Geräusche aus. Wenn jedoch die IO des Raspberry Pi mit einem hohen Niveau" +" versorgt wird, wird der Transistor abgeschaltet und der Summer gibt " +"keine Geräusche von sich." + +#: ../1.2.1_active_buzzer.rst:73 +msgid "Experimental Procedures" +msgstr "Experimentelle Verfahren" + +#: ../1.2.1_active_buzzer.rst:75 +msgid "" +"**Step 1:** Build the circuit. (Pay attention to poles of the buzzer: The" +" one with + label is the positive pole and the other is the negative.)" +msgstr "" +"**Schritt 1:** Bauen Sie die Schaltung auf. (Achten Sie auf die Pole des " +"Summers: Der mit dem + Etikett ist der positive Pol und der andere der " +"negative.)" + +#: ../1.2.1_active_buzzer.rst:85 +msgid "For C Language Users" +msgstr "Für Benutzer in C-Sprache" + +#: ../1.2.1_active_buzzer.rst:87 ../1.2.1_active_buzzer.rst:172 +msgid "**Step 2**: Open the code file." +msgstr "**Schritt 2**: Öffnen Sie die Codedatei." + +#: ../1.2.1_active_buzzer.rst:97 +msgid "**Step 3**: Compile the code." +msgstr "**Schritt 3**: Kompilieren Sie den Code." + +#: ../1.2.1_active_buzzer.rst:107 +msgid "**Step 4**: Run the executable file above." +msgstr "**Schritt 4**: Führen Sie die obige ausführbare Datei aus." + +#: ../1.2.1_active_buzzer.rst:117 ../1.2.1_active_buzzer.rst:192 +msgid "The code run, the buzzer beeps." +msgstr "Die Kode läuft, der Summer piept." + +#: ../1.2.1_active_buzzer.rst:121 +msgid "" +"If it does not work after running, please refer to :ref:`C code is not " +"working?`" +msgstr "" +"Wenn es nach dem Ausführen nicht funktioniert, lesen Sie bitte :ref:`C " +"code is not working?`" + +#: ../1.2.1_active_buzzer.rst:123 ../1.2.1_active_buzzer.rst:194 +msgid "**Code**" +msgstr "**Code**" + +#: ../1.2.1_active_buzzer.rst:151 ../1.2.1_active_buzzer.rst:246 +msgid "**Code Explanation**" +msgstr "**Code Erklärung**" + +#: ../1.2.1_active_buzzer.rst:157 +msgid "" +"We use an active buzzer in this experiment, so it will make sound " +"automatically when connecting to the direct current. This sketch is to " +"set the I/O port as low level (0V), thus to manage the transistor and " +"make the buzzer beep." +msgstr "" +"In diesem Experiment verwenden wir einen aktiven Summer, der beim " +"Anschließen an den Gleichstrom automatisch einen Ton erzeugt. Diese " +"Skizze dient dazu, den I/O -Port auf einen niedrigen Niveau (0V) " +"einzustellen, um so den Transistor zu verwalten und den Summer piepen zu " +"lassen." + +#: ../1.2.1_active_buzzer.rst:166 +msgid "" +"To set the I/O port as high level(3.3V), thus the transistor is not " +"energized and the buzzer doesn’t beep." +msgstr "" +"Um den I/O -Anschluss auf einen hohen Niveau (3,3V) einzustellen, wird " +"der Transistor nicht erregt und der Summer piept nicht." + +#: ../1.2.1_active_buzzer.rst:170 +msgid "For Python Language Users" +msgstr "Für Python-Sprachbenutzer" + +#: ../1.2.1_active_buzzer.rst:182 +msgid "**Step 3**: Run." +msgstr "**Schritt 3**: Ausführen." + +#: ../1.2.1_active_buzzer.rst:198 + +msgid "" +"You can **Modify/Reset/Copy/Run/Stop** the code below. But before that, " +"you need to go to source code path like ``davinci-kit-for-raspberry-" +"pi/python``." +msgstr "" +"Sie können den folgenden Code **Ändern/Zurücksetzen/ " +"Kopieren/Ausführen/Stoppen**. Zuvor müssen Sie jedoch zu einem " +"Quellcodepfad wie ``davinci-kit-for-raspberry-pi/python`` gehen." + +#: ../1.2.1_active_buzzer.rst:252 +msgid "Set the buzzer pin as low level to make the buzzer beep." +msgstr "" +"Stellen Sie den Summer Pin auf einen niedrigen Niveau ein, damit der " +"Summer piept." + +#: ../1.2.1_active_buzzer.rst:258 +msgid "" +"Wait for 0.1 second. Change the switching frequency by changing this " +"parameter." +msgstr "" +"Warten Sie 0,1 Sekunden. Ändern Sie die Schaltfrequenz, indem Sie diesen " +"Parameter ändern." + +#: ../1.2.1_active_buzzer.rst:262 +msgid "Not the sound frequency. Active Buzzer cannot change sound frequency." +msgstr "" +"Nicht die Schallfrequenz. Der aktive Summer kann die Schallfrequenz nicht" +" ändern." + +#: ../1.2.1_active_buzzer.rst:268 +msgid "Close the buzzer." +msgstr "Schließen Sie den Summer." + +#: ../1.2.1_active_buzzer.rst:271 +msgid "Phenomenon Picture" +msgstr "Phänomen Bild" + diff --git a/docs/source/locale/de/LC_MESSAGES/1.2.2_passive_buzzer.po b/docs/source/locale/de/LC_MESSAGES/1.2.2_passive_buzzer.po new file mode 100644 index 0000000..57686fc --- /dev/null +++ b/docs/source/locale/de/LC_MESSAGES/1.2.2_passive_buzzer.po @@ -0,0 +1,244 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, SunFounder +# This file is distributed under the same license as the SunFounder Davinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Davinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-19 18:22+0800\n" +"PO-Revision-Date: 2021-05-31 21:11+0800\n" +"Last-Translator: \n" +"Language: de\n" +"Language-Team: \n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../1.2.2_passive_buzzer.rst:2 +msgid "1.2.2 Passive Buzzer" +msgstr "1.2.2 Passiver Summer" + +#: ../1.2.2_passive_buzzer.rst:5 +msgid "Introduction" +msgstr "Einführung" + +#: ../1.2.2_passive_buzzer.rst:7 +msgid "In this lesson, we will learn how to make a passive buzzer play music." +msgstr "" +"In dieser Lektion lernen wir, wie man einen passiven Summer dazu bringt, " +"Musik zu spielen." + +#: ../1.2.2_passive_buzzer.rst:10 +msgid "Components" +msgstr "Komponenten" + +#: ../1.2.2_passive_buzzer.rst:16 +msgid "Schematic Diagram" +msgstr "Schematische Darstellung" + +#: ../1.2.2_passive_buzzer.rst:18 +msgid "" +"In this experiment, a passive buzzer, a PNP transistor and a 1k resistor " +"are used between the base of the transistor and GPIO to protect the " +"transistor." +msgstr "" +"In diesem Experiment werden ein passiver Summer, ein PNP-Transistor und " +"ein 1k-Widerstand zwischen der Basis des Transistors und GPIO verwendet, " +"um den Transistor zu schützen." + +#: ../1.2.2_passive_buzzer.rst:22 +msgid "" +"When GPIO17 is given different frequencies, the passive buzzer will emit " +"different sounds; in this way, the buzzer plays music." +msgstr "" +"Wenn GPIO17 unterschiedliche Frequenzen erhält, gibt der passive Summer " +"unterschiedliche Töne aus. Auf diese Weise spielt der Summer Musik." + +#: ../1.2.2_passive_buzzer.rst:29 +msgid "Experimental Procedures" +msgstr "Experimentelle Verfahren" + +#: ../1.2.2_passive_buzzer.rst:31 +msgid "**Step 1**: Build the circuit." +msgstr "**Schritt 1**: Bauen Sie die Schaltung auf." + +#: ../1.2.2_passive_buzzer.rst:39 +msgid "For C Language Users" +msgstr "Für Benutzer in C-Sprache" + +#: ../1.2.2_passive_buzzer.rst:41 +msgid "**Step 2**: Change directory." +msgstr "**Schritt 2**: Verzeichnis wechseln." + +#: ../1.2.2_passive_buzzer.rst:51 +msgid "**Step 3**: Compile." +msgstr "**Schritt 3**: Kompilieren." + +#: ../1.2.2_passive_buzzer.rst:61 +msgid "**Step 4**: Run." +msgstr "**Schritt 4**: Ausführen." + +#: ../1.2.2_passive_buzzer.rst:71 ../1.2.2_passive_buzzer.rst:247 +msgid "The code run, the buzzer plays a piece of music." +msgstr "Die Kode läuft, der Summer spielt ein Musikstück." + +#: ../1.2.2_passive_buzzer.rst:75 +msgid "" +"If it does not work after running, please refer to :ref:`C code is not " +"working?`" +msgstr "" +"Wenn es nach dem Ausführen nicht funktioniert, lesen Sie bitte :ref:`C " +"code is not working?`" + +#: ../1.2.2_passive_buzzer.rst:77 ../1.2.2_passive_buzzer.rst:249 +msgid "**Code**" +msgstr "**Code**" + +#: ../1.2.2_passive_buzzer.rst:155 ../1.2.2_passive_buzzer.rst:326 +msgid "**Code Explanation**" +msgstr "**Code Erklärung**" + +#: ../1.2.2_passive_buzzer.rst:171 +msgid "" +"These frequencies of each note are as shown. CL refers to low note, CM " +"middle note, CH high note, 1-7 correspond to the notes C, D, E, F, G, A, " +"B." +msgstr "" +"Diese Frequenzen jeder Note sind wie gezeigt. CL bezieht sich auf tiefe " +"Note, CM mittlere Note, CH hohe Note, 1-7 entsprechen den Noten C, D, E, " +"F, G, A, B." + +#: ../1.2.2_passive_buzzer.rst:182 +msgid "" +"The array, song_1[] stores a musical score of a song in which beat_1[] " +"refers to the beat of each note in the song (0.5s for each beat)." +msgstr "" +"Das Array song_1 [] speichert eine Musikpartitur eines Gelieds, in der " +"sich beat_1 [] auf der Schlage jeder Note im Gelied bezieht (0,5 S für " +"jeder Schlage)." + +#: ../1.2.2_passive_buzzer.rst:191 +msgid "" +"This creates a software controlled tone pin. You can use any GPIO pin and" +" the pin numbering will be that of the wiringPiSetup() function you used." +" The return value is 0 for success. Anything else and you should check " +"the global errnovariable to see what went wrong." +msgstr "" +"Dadurch wird ein softwaregesteuerter Ton Pin erstellt. Sie können einen " +"beliebigen GPIO-Pin verwenden. Die Pin-Nummerierung entspricht der von " +"Ihnen verwendeten Funktion wiringPiSetup (). Der Rückgabewert ist 0 für " +"Erfolg. Alles andere und Sie sollten die globale Fehlerbehebung " +"überprüfen, um festzustellen, was schief gelaufen ist." + +#: ../1.2.2_passive_buzzer.rst:203 +msgid "Employ a for statement to play song_1." +msgstr "Verwenden Sie eine for-Anweisung, um song_1 abzuspielen." + +#: ../1.2.2_passive_buzzer.rst:205 +msgid "" +"In the judgment condition, **i, 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Davinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-19 18:22+0800\n" +"PO-Revision-Date: 2021-05-31 21:17+0800\n" +"Last-Translator: \n" +"Language: de\n" +"Language-Team: \n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../1.3.1_motor.rst:2 +msgid "1.3.1 Motor" +msgstr "1.3.1 Motor" + +#: ../1.3.1_motor.rst:5 +msgid "Introduction" +msgstr "Einführung" + +#: ../1.3.1_motor.rst:7 +msgid "" +"In this lesson, we will learn to how to use L293D to drive a DC motor and" +" make it rotate clockwise and counterclockwise. Since the DC Motor needs " +"a larger current, for safety purpose, here we use the Power Supply Module" +" to supply motors." +msgstr "" +"In dieser Lektion lernen wir, mit L293D einen Gleichstrommotor antreiben " +"und ihn im und gegen den Uhrzeigersinn drehen. Da der Gleichstrommotor " +"aus Sicherheitsgründen einen größeren Strom benötigt, verwenden wir hier " +"das Stromversorgungsmodul zur Versorgung der Motoren." + +#: ../1.3.1_motor.rst:13 +msgid "Components" +msgstr "Komponenten" + +#: ../1.3.1_motor.rst:19 +msgid "Principle" +msgstr "Prinzip" + +#: ../1.3.1_motor.rst:21 +msgid "**L293D**" +msgstr "**L293D**" + +#: ../1.3.1_motor.rst:23 +msgid "" +"L293D is a 4-channel motor driver integrated by chip with high voltage " +"and high current. It's designed to connect to standard DTL, TTL logic " +"level, and drive inductive loads (such as relay coils, DC, Stepper " +"Motors) and power switching transistors etc. DC Motors are devices that " +"turn DC electrical energy into mechanical energy. They are widely used in" +" electrical drive for their superior speed regulation performance." +msgstr "" +"L293D ist ein 4-Kanal-Motortreiber, der durch einen Chip mit hoher " +"Spannung und hohem Strom integriert ist. Es ist für den Anschluss an " +"Standard-DTL-, TTL-Logikniveau und ansteuerungsinduktive Lasten (wie " +"Relaisspulen, Gleichstrom-, Schrittmotoren) sowie " +"Leistungsschalttransistoren usw. ausgelegt. Gleichstrommotoren sind " +"Geräte, die elektrische Gleichstromenergie in mechanische Energie " +"umwandeln. Sie werden im elektrischen Antrieb wegen ihrer überlegenen " +"Geschwindigkeitsregelungsleistung häufig verwendet." + +#: ../1.3.1_motor.rst:30 +msgid "" +"See the figure of pins below. L293D has two pins (Vcc1 and Vcc2) for " +"power supply. Vcc2 is used to supply power for the motor, while Vcc1 to " +"supply for the chip. Since a small-sized DC motor is used here, connect " +"both pins to +5V." +msgstr "" +"Siehe die Abbildung der Pins unten. Der L293D verfügt über zwei Pins " +"(Vcc1 und Vcc2) für die Stromversorgung. Vcc2 wird verwendet, um den " +"Motor mit Strom zu versorgen, während Vcc1 dient, um den Chip zu " +"versorgen. Da hier ein kleiner Gleichstrommotor verwendet wird, verbinden" +" Sie beide Pins mit + 5V." + +#: ../1.3.1_motor.rst:38 +msgid "" +"The following is the internal structure of L293D. Pin EN is an enable pin" +" and only works with high level; A stands for input and Y for output. You" +" can see the relationship among them at the right bottom. When pin EN is " +"High level, if A is High, Y outputs high level; if A is Low, Y outputs " +"Low level. When pin EN is Low level, the L293D does not work." +msgstr "" +"Das Folgende ist die interne Struktur von L293D. Pin EN ist ein " +"Freigabepin und funktioniert nur mit hohem Niveau. A steht für Eingabe " +"und Y für Ausgabe. Sie können die Beziehung zwischen ihnen unten rechts " +"sehen. Wenn Pin EN auf Hohe Niveau steht und A auf High steht, gibt Y " +"Hohe Niveau aus. Wenn A niedrig ist, gibt Y einen niedrigen Niveau aus. " +"Wenn Pin EN auf niedgrigen Niveau steht, funktioniert der L293D nicht." + +#: ../1.3.1_motor.rst:47 +msgid "**DC Motor**" +msgstr "**Gleichspannungs Motor**" + +#: ../1.3.1_motor.rst:52 +msgid "" +"This is a 5V DC motor. It will rotate when you give the two terminals of " +"the copper sheet one high and one low level. For convenience, you can " +"weld the pins to it." +msgstr "" +"Dies ist ein 5V Gleichstrommotor. Es dreht sich, wenn Sie den beiden " +"Anschlüssen des Kupferblechs einen hohen und einen niedrigen Niveau " +"geben. Der Einfachheit halber können Sie die Pin daran schweißen." + +#: ../1.3.1_motor.rst:59 +msgid "**Power Supply Module**" +msgstr "**Energieversorgung Modul**" + +#: ../1.3.1_motor.rst:61 +msgid "" +"In this experiment, it needs large currents to drive the motor especially" +" when it starts and stops, which will severely interfere with the normal " +"work of Raspberry Pi. Therefore, we separately supply power for the motor" +" by this module to make it run safely and steadily." +msgstr "" +"In diesem Experiment werden große Ströme benötigt, um den Motor " +"anzutreiben, insbesondere wenn er startet und stoppt, was die normale " +"Arbeit von Raspberry Pi stark beeinträchtigt. Da versorgen wir diesen " +"Motor separat mit Strom, damit er sicher und gleichmäßig läuft." + +#: ../1.3.1_motor.rst:66 +msgid "" +"You can just plug it in the breadboard to supply power. It provides a " +"voltage of 3.3V and 5V, and you can connect either via a jumper cap " +"included." +msgstr "" +"Sie können es einfach in das Steckbrett einstecken, um Strom zu liefern. " +"Es liefert eine Spannung von 3,3V und 5V, und Sie können entweder über " +"eine mitgelieferte Überbrückungskappe anschließen." + +#: ../1.3.1_motor.rst:74 +msgid "Schematic Diagram" +msgstr "Schematische Darstellung" + +#: ../1.3.1_motor.rst:76 +msgid "" +"Plug the power supply module in breadboard, and insert the jumper cap to " +"pin of 5V, then it will output voltage of 5V. Connect pin 1 of L293D to " +"GPIO22, and set it as high level. Connect pin2 to GPIO27, and pin7 to " +"GPIO17, then set one pin high, while the other low. Thus you can change " +"the motor’s rotation direction." +msgstr "" +"Stecken Sie das Netzteilmodul in das Steckbrett und setzen Sie die " +"Überbrückungskappe auf 5V, dann wird eine Spannung von 5V ausgegeben. " +"Verbinden Sie Pin 1 des L293D mit GPIO22 und stellen Sie ihn auf Hohe " +"Niveau ein. Verbinden Sie Pin2 mit GPIO27 und Pin7 mit GPIO17 und setzen " +"Sie dann einen Pin hoch, während der andere niedrig ist. So können Sie " +"die Drehrichtung des Motors ändern." + +#: ../1.3.1_motor.rst:86 +msgid "Experimental Procedures" +msgstr "Experimentelle Verfahren" + +#: ../1.3.1_motor.rst:88 +msgid "**Step 1:** Build the circuit." +msgstr "**Schritt 1:** Bauen Sie die Schaltung auf." + +#: ../1.3.1_motor.rst:96 +msgid "" +"The power module can apply a 9V battery with the 9V Battery Buckle in the" +" kit. Insert the jumper cap of the power module into the 5V bus strips of" +" the breadboard." +msgstr "" +"Das Leistungsmodul kann eine 9-V-Batterie mit der im Kit enthaltenen 9V-" +"Batterieschnalle anlegen. Setzen Sie die Überbrückungskappe des " +"Leistungsmoduls in die 5V-Busleisten des Steckbretts ein." + +#: ../1.3.1_motor.rst:104 +msgid "For C Language Users" +msgstr "Für Benutzer in C-Sprache" + +#: ../1.3.1_motor.rst:106 ../1.3.1_motor.rst:244 +msgid "**Step 2**: Get into the folder of the code." +msgstr "**Schritt 2**: Gehen Sie in den Ordner der Kode." + +#: ../1.3.1_motor.rst:116 +msgid "**Step 3**: Compile." +msgstr "**Schritt 3**: Kompilieren." + +#: ../1.3.1_motor.rst:126 +msgid "**Step 4**: Run the executable file above." +msgstr "**Schritt 4**: Führen Sie die obige ausführbare Datei aus." + +#: ../1.3.1_motor.rst:136 ../1.3.1_motor.rst:264 +msgid "" +"As the code runs, the motor first rotates clockwise for 5s then stops for" +" 5s, after that, it rotates anticlockwise for 5s; subsequently, the motor" +" stops for 5s. This series of actions will be executed repeatedly." +msgstr "" +"Während die Kode läuft, dreht sich der Motor zuerst 5 Sekunden lang im " +"Uhrzeigersinn und stoppt dann 5 Sekunden lang. Danach dreht er sich 5 " +"Sekunden lang gegen den Uhrzeigersinn. Anschließend stoppt der Motor für " +"5S. Diese Reihe von Aktionen wird wiederholt ausgeführt." + +#: ../1.3.1_motor.rst:142 +msgid "" +"If it does not work after running, please refer to :ref:`C code is not " +"working?`" +msgstr "" +"Wenn es nach dem Ausführen nicht funktioniert, lesen Sie bitte :ref:`C " +"code is not working?`" + +#: ../1.3.1_motor.rst:144 ../1.3.1_motor.rst:268 +msgid "**Code**" +msgstr "**Code**" + +#: ../1.3.1_motor.rst:201 ../1.3.1_motor.rst:404 +msgid "**Code Explanation**" +msgstr "**Code Erklärung**" + +#: ../1.3.1_motor.rst:207 +msgid "Enable the L239D." +msgstr "Aktivieren Sie den L239D." + +#: ../1.3.1_motor.rst:214 +msgid "" +"Set a high level for 2A(pin 7); since 1,2EN(pin 1) is in high level, 2Y " +"will output high level." +msgstr "" +"Stellen Sie einen hohen Niveau für 2A ein (Pin 7); Da sich 1,2EN (Pin 1) " +"auf einem hohen Niveau befindet, gibt 2Y einen hohen Niveau aus." + +#: ../1.3.1_motor.rst:217 +msgid "" +"Set a low level for 1A, then 1Y will output low level, and the motor will" +" rotate." +msgstr "" +"Stellen Sie einen niedrigen Niveau für 1A ein, dann gibt 1Y einen " +"niedrigen Niveau aus und der Motor dreht sich." + +#: ../1.3.1_motor.rst:226 +msgid "this loop is to delay for 3*1000ms." +msgstr "Diese Schleife soll 3*1000ms verzögern." + +#: ../1.3.1_motor.rst:232 +msgid "" +"If 1,2EN (pin1) is in low level, L293D does not work. Motor stops " +"rotating." +msgstr "" +"Wenn sich 1,2EN (Pin1) auf einem niedrigen Niveau befindet, funktioniert " +"L293D nicht. Motor stoppt sich zu drehen." + +#: ../1.3.1_motor.rst:239 +msgid "" +"Reverse the current flow of the motor, then the motor will rotate " +"reversely." +msgstr "Den Stromfluss des Motors umkehren, dann dreht sich der Motor umgekehrt." + +#: ../1.3.1_motor.rst:242 +msgid "For Python Language Users" +msgstr "Für Python-Sprachbenutzer" + +#: ../1.3.1_motor.rst:254 +msgid "**Step 3**: Run." +msgstr "**Schritt 3**: Ausführen." + +#: ../1.3.1_motor.rst:272 + +msgid "" +"You can **Modify/Reset/Copy/Run/Stop** the code below. But before that, " +"you need to go to source code path like ``davinci-kit-for-raspberry-" +"pi/python``." +msgstr "" +"Sie können den folgenden Code **Ändern/Zurücksetzen/ " +"Kopieren/Ausführen/Stoppen**. Zuvor müssen Sie jedoch zu einem " +"Quellcodepfad wie ``davinci-kit-for-raspberry-pi/python`` gehen." + +#: ../1.3.1_motor.rst:419 +msgid "" +"Create a function, **motor()** whose variable is direction. As the " +"condition that direction=1 is met, the motor rotates clockwise; when " +"direction=-1, the motor rotates anticlockwise; and under the condition " +"that direction=0, it stops rotating." +msgstr "" +"Erstellen Sie eine Funktion, **motor()**, deren Variable die Richtung " +"ist. Wenn die Bedingung erfüllt ist, dass Richtung = 1 erfüllt ist, dreht" +" sich der Motor im Uhrzeigersinn. Wenn die Richtung = -1 ist, dreht sich " +"der Motor gegen den Uhrzeigersinn. und unter der Bedingung, dass Richtung" +" = 0 ist, hört es auf, sich zu drehen." + +#: ../1.3.1_motor.rst:444 +msgid "" +"In the main()function, create an array, directions[], in which CW is " +"equal to 1, the value of CCW is -1, and the number 0 refers to Stop." +msgstr "" +"In der Hauptfunktion()-erstellen Sie ein Array, Richtungen[], in dem CW " +"gleich 1 ist, der Wert von CCW -1 ist und die Nummer 0 auf Stop verweist." + +#: ../1.3.1_motor.rst:447 +msgid "" +"As the code runs, the motor first rotates clockwise for 5s then stop for " +"5s, after that, it rotates anticlockwise for 5s; subsequently, the motor " +"stops for 5s. This series of actions will be executed repeatedly." +msgstr "" +"Während die Kode läuft, dreht sich der Motor zuerst 5 Sekunden lang im " +"Uhrzeigersinn und stoppt dann 5 Sekunden lang. Danach dreht er sich 5 " +"Sekunden lang gegen den Uhrzeigersinn. Anschließend stoppt der Motor für " +"5s. Diese Reihe von Aktionen wird wiederholt ausgeführt." + +#: ../1.3.1_motor.rst:451 +msgid "Now, you should see the motor blade rotating." +msgstr "Jetzt sollte sich das Motorblatt drehen." + +#: ../1.3.1_motor.rst:454 +msgid "Phenomenon Picture" +msgstr "Phänomen Bild" + diff --git a/docs/source/locale/de/LC_MESSAGES/1.3.2_servo.po b/docs/source/locale/de/LC_MESSAGES/1.3.2_servo.po new file mode 100644 index 0000000..149b9d2 --- /dev/null +++ b/docs/source/locale/de/LC_MESSAGES/1.3.2_servo.po @@ -0,0 +1,301 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, SunFounder +# This file is distributed under the same license as the SunFounder Davinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Davinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-19 18:22+0800\n" +"PO-Revision-Date: 2021-05-31 21:20+0800\n" +"Last-Translator: \n" +"Language: de\n" +"Language-Team: \n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../1.3.2_servo.rst:2 +msgid "1.3.2 Servo" +msgstr "1.3.2 Servo" + +#: ../1.3.2_servo.rst:5 +msgid "Introduction" +msgstr "Einführung" + +#: ../1.3.2_servo.rst:7 +msgid "In this lesson, we will learn how to make the servo rotate." +msgstr "In dieser Lektion lernen wir, wie man das Servo dreht." + +#: ../1.3.2_servo.rst:10 +msgid "Components" +msgstr "Komponenten" + +#: ../1.3.2_servo.rst:16 +msgid "Principle" +msgstr "Prinzip" + +#: ../1.3.2_servo.rst:18 +msgid "**Servo**" +msgstr "**Servo**" + +#: ../1.3.2_servo.rst:20 +msgid "" +"A servo is generally composed of the following parts: case, shaft, gear " +"system, potentiometer, DC motor, and embedded board." +msgstr "" +"Ein Servo besteht im Allgemeinen aus folgenden Teilen: Gehäuse, Welle, " +"Getriebe, Potentiometer, Gleichstrommotor und eingebettete Platine." + +#: ../1.3.2_servo.rst:26 +msgid "" +"It works like this: The microcontroller sends out PWM signals to the " +"servo, and then the embedded board in the servo receives the signals " +"through the signal pin and controls the motor inside to turn. As a " +"result, the motor drives the gear system and then motivates the shaft " +"after deceleration. The shaft and potentiometer of the servo are " +"connected together. When the shaft rotates, it drives the potentiometer, " +"so the potentiometer outputs a voltage signal to the embedded board. Then" +" the board determines the direction and speed of rotation based on the " +"current position, so it can stop exactly at the right position as defined" +" and hold there." +msgstr "" +"Das funktioniert so: Der Mikrocontroller sendet PWM-Signale an das Servo," +" und dann empfängt die im Servo eingebettete Karte die Signale über den " +"Signal Pin und steuert den Motor im Inneren, um sich zu drehen. " +"Infolgedessen treibt der Motor das Zahnradsystem an und motiviert dann " +"die Welle nach dem Abbremsen. Die Welle und das Potentiometer des Servos " +"sind miteinander verbunden. Wenn sich die Welle dreht, treibt sie das " +"Potentiometer an, sodass das Potentiometer ein Spannungssignal an die " +"eingebettete Platine ausgibt. Dann bestimmt das Board die Richtung und " +"Geschwindigkeit der Drehung basierend auf der aktuellen Position, so dass" +" es genau an der richtigen Position wie definiert anhalten und dort " +"halten kann." + +#: ../1.3.2_servo.rst:40 +msgid "" +"The angle is determined by the duration of a pulse that is applied to the" +" control wire. This is called Pulse width Modulation. The servo expects " +"to see a pulse every 20 ms. The length of the pulse will determine how " +"far the motor turns. For example, a 1.5ms pulse will make the motor turn " +"to the 90 degree position (neutral position)." +msgstr "" +"Der Winkel wird durch die Dauer eines Impulses bestimmt, der an den " +"Steuerdraht angelegt wird. Dies wird als Pulsweitenmodulation bezeichnet." +" Das Servo erwartet alle 20 ms einen Impuls. Die Länge des Impulses " +"bestimmt, wie weit sich der Motor dreht. Zum Beispiel bringt ein Impuls " +"von 1,5 ms den Motor in die 90-Grad-Position (neutrale Position)." + +#: ../1.3.2_servo.rst:46 +msgid "" +"When a pulse is sent to a servo that is less than 1.5 ms, the servo " +"rotates to a position and holds its output shaft some number of degrees " +"counterclockwise from the neutral point. When the pulse is wider than 1.5" +" ms the opposite occurs. The minimal width and the maximum width of pulse" +" that will command the servo to turn to a valid position are functions of" +" each servo. Generally the minimum pulse will be about 0.5 ms wide and " +"the maximum pulse will be 2.5 ms wide." +msgstr "" +"Wenn ein Impuls an ein Servo gesendet wird, das weniger als 1,5 ms " +"beträgt, dreht sich das Servo in eine Position und hält seine " +"Ausgangswelle einige Grad gegen den Uhrzeigersinn vom Neutralpunkt " +"entfernt. Wenn der Impuls breiter als 1,5 ms ist, tritt das Gegenteil " +"auf. Die minimale Breite und die maximale Impulsbreite, die das Servo " +"anweisen, sich in eine gültige Position zu drehen, sind Funktionen jedes " +"Servos. Im Allgemeinen ist der minimale Impuls ungefähr 0,5 ms breit und " +"der maximale Impuls ist 2,5 ms breit." + +#: ../1.3.2_servo.rst:58 +msgid "Schematic Diagram" +msgstr "Schematische Darstellung" + +#: ../1.3.2_servo.rst:64 +msgid "Experimental Procedures" +msgstr "Experimentelle Verfahren" + +#: ../1.3.2_servo.rst:66 +msgid "**Step 1:** Build the circuit." +msgstr "**Schritt 1:** Bauen Sie die Schaltung auf." + +#: ../1.3.2_servo.rst:74 +msgid "For C Language Users" +msgstr "Für Benutzer in C-Sprache" + +#: ../1.3.2_servo.rst:76 ../1.3.2_servo.rst:204 +msgid "**Step 2**: Go to the folder of the code." +msgstr "**Schritt 2**: Gehen Sie zum Ordner des Codes." + +#: ../1.3.2_servo.rst:86 +msgid "**Step 3**: Compile the code." +msgstr "**Schritt 3**: Kompilieren Sie den Code." + +#: ../1.3.2_servo.rst:96 +msgid "**Step 4**: Run the executable file." +msgstr "**Schritt 4**: Führen Sie die ausführbare Datei aus." + +#: ../1.3.2_servo.rst:106 ../1.3.2_servo.rst:224 +msgid "" +"After the program is executed, the servo will rotate from 0 degrees to " +"180 degrees, and then from 180 degrees to 0 degrees, circularly." +msgstr "" +"Nachdem das Programm ausgeführt wurde, dreht sich das Servo kreisförmig " +"von 0 Grad auf 180 Grad und dann von 180 Grad auf 0 Grad." + +#: ../1.3.2_servo.rst:111 +msgid "" +"If it does not work after running, please refer to :ref:`C code is not " +"working?`" +msgstr "" +"Wenn es nach dem Ausführen nicht funktioniert, lesen Sie bitte :ref:`C " +"code is not working?`" + +#: ../1.3.2_servo.rst:113 ../1.3.2_servo.rst:227 +msgid "**Code**" +msgstr "**Code**" + +#: ../1.3.2_servo.rst:154 ../1.3.2_servo.rst:287 +msgid "**Code Explanation**" +msgstr "**Code Erklärung**" + +#: ../1.3.2_servo.rst:162 +msgid "Create a Map() function to map value in the following code." +msgstr "" +"Erstellen Sie eine Map() - Funktion, um den Wert im folgenden Kode " +"zuzuordnen." + +#: ../1.3.2_servo.rst:174 +msgid "Create a funtion, setAngle() to write angle to the servo." +msgstr "" +"Erstellen Sie eine Funktion, setAngle (), um den Winkel zum Servo zu " +"schreiben." + +#: ../1.3.2_servo.rst:180 +msgid "This function can change the duty cycle of the PWM." +msgstr "Diese Funktion kann das Einschaltdauer der PWM ändern." + +#: ../1.3.2_servo.rst:182 +msgid "" +"To make the servo rotate to 0 ~ 180 °, the pulse width should change " +"within the range of 0.5ms ~ 2.5ms when the period is 20ms; in the " +"function, softPwmCreate(), we have set that the period is 200x100us=20ms," +" thus we need to map 0 ~ 180 to 5x100us ~ 25x100us." +msgstr "" +"Damit sich das Servo auf 0 bis 180° dreht, sollte sich die Impulsbreite " +"im Bereich von 0,5 ms bis 2,5 ms ändern, wenn die Periode 20 ms beträgt. " +"In der Funktion softPwmCreate() haben wir festgelegt, dass der Zeitraum " +"200x100us = 20ms beträgt. Daher müssen wir 0 ~ 180 bis 5x100us ~ 25x100us" +" zuordnen." + +#: ../1.3.2_servo.rst:187 +msgid "The prototype of this function is shown below." +msgstr "Der Prototyp dieser Funktion ist unten dargestellt." + +#: ../1.3.2_servo.rst:194 +msgid "**Parameter pin:** Any GPIO pin of Raspberry Pi can be set as PWM pin." +msgstr "" +"**Parameter-Pin:** Jeder GPIO-Pin von Raspberry Pi kann als PWM-Pin " +"gesetzt werden." + +#: ../1.3.2_servo.rst:196 +msgid "" +"**Parameter initialValue:** The initial pulse width is that initialValue " +"times 100us." +msgstr "" +"**Parameter initialValue:** Die anfängliche Impulsbreite ist der " +"initialValue mal 100us." + +#: ../1.3.2_servo.rst:199 +msgid "**Parameter pwmRange:** the period of PWM is that pwmRange times 100us." +msgstr "**Parameter pwmRange:** Die Periode von PWM ist die pwmRange mal 100us." + +#: ../1.3.2_servo.rst:202 +msgid "For Python Language Users" +msgstr "Für Python-Sprachbenutzer" + +#: ../1.3.2_servo.rst:214 +msgid "**Step 3**: Run the executable file." +msgstr "**Schritt 3**: Führen Sie die ausführbare Datei aus." + +#: ../1.3.2_servo.rst:231 + +msgid "" +"You can **Modify/Reset/Copy/Run/Stop** the code below. But before that, " +"you need to go to source code path like ``davinci-kit-for-raspberry-" +"pi/python``." +msgstr "" +"Sie können den folgenden Code **Ändern/Zurücksetzen/ " +"Kopieren/Ausführen/Stoppen**. Zuvor müssen Sie jedoch zu einem " +"Quellcodepfad wie ``davinci-kit-for-raspberry-pi/python`` gehen." + +#: ../1.3.2_servo.rst:294 +msgid "" +"Set the servoPin to PWM pin, then the frequency to 50hz, and the period " +"to 20ms." +msgstr "" +"Stellen Sie den ServoPin auf den PWM-Pin, dann die Frequenz auf 50 Hz und" +" die Periode auf 20 ms." + +#: ../1.3.2_servo.rst:296 +msgid "p.start(0): Run the PWM function,and set the initial value to 0." +msgstr "" +"p.start (0): Führen Sie die PWM-Funktion, und setzen Sie den Anfangswert " +"auf 0." + +#: ../1.3.2_servo.rst:306 +msgid "" +"Create a function, setAngle() to write angle that ranges from 0 to 180 " +"into the servo." +msgstr "" +"Erstellen Sie eine Funktion, setAngle (), um einen Winkel von 0 bis 180 " +"in das Servo zu schreiben." + +#: ../1.3.2_servo.rst:312 +msgid "This code is used to limit the angle within the range 0-180°." +msgstr "" +"Diese Kode wird verwendet, um den Winkel im Bereich von 0 bis 180 ° zu " +"begrenzen." + +#: ../1.3.2_servo.rst:314 +msgid "" +"The min() function returns the minimum of the input values. If 180angle, then return 0, if not, return angle." +msgstr "" +"Die max () -Methode gibt das maximale Element in einem iterierbaren oder " +"größten von zwei oder mehr Parametern zurück. Wenn 0> Winkel, dann 0 " +"zurückgeben, wenn nicht, Winkel zurückgeben." + +#: ../1.3.2_servo.rst:326 +msgid "" +"To render a range 0 ~ 180 ° to the servo, the pulse width of the servo is" +" set to 0.5ms(500us)-2.5ms(2500us)." +msgstr "" +"Um einen Bereich von 0 bis 180° zum Servo zu rendern, wird die " +"Impulsbreite des Servos auf 0,5 ms (500 us) bis 2,5 ms (2500 us) " +"eingestellt." + +#: ../1.3.2_servo.rst:329 +msgid "" +"The period of PWM is 20ms(20000us), thus the duty cycle of PWM is " +"(500/20000)%-(2500/20000)%, and the range 0 ~ 180 is mapped to 2.5 ~ " +"12.5." +msgstr "" +"Die Periode der PWM beträgt 20 ms (20000us), daher beträgt das " +"Tastverhältnis der PWM (500/20000)% - (2500/20000)%, und der Bereich 0 " +"bis 180 wird auf 2.5 bis 12.5 abgebildet." + +#: ../1.3.2_servo.rst:335 +msgid "Phenomenon Picture" +msgstr "Phänomen Bild" + diff --git a/docs/source/locale/de/LC_MESSAGES/1.3.3_stepper_motor.po b/docs/source/locale/de/LC_MESSAGES/1.3.3_stepper_motor.po new file mode 100644 index 0000000..ae6b3a7 --- /dev/null +++ b/docs/source/locale/de/LC_MESSAGES/1.3.3_stepper_motor.po @@ -0,0 +1,477 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, SunFounder +# This file is distributed under the same license as the SunFounder Davinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Davinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-19 18:22+0800\n" +"PO-Revision-Date: 2021-05-31 21:26+0800\n" +"Last-Translator: \n" +"Language: de\n" +"Language-Team: \n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../1.3.3_stepper_motor.rst:2 +msgid "1.3.3 Stepper Motor" +msgstr "1.3.3 Schrittmotor" + +#: ../1.3.3_stepper_motor.rst:5 +msgid "Introduction" +msgstr "Einführung" + +#: ../1.3.3_stepper_motor.rst:7 + +msgid "" +"Stepper motors, due to their unique design, can be controlled to a high " +"degree of accuracy without any feedback mechanisms. The shaft of a " +"stepper, mounted with a series of magnets, is controlled by a series of " +"electromagnetic coils that are charged positively and negatively in a " +"specific sequence, precisely moving it forward or backward in small " +"\\\"steps\\\"." +msgstr "" +"Schrittmotoren können aufgrund ihres einzigartigen Designs ohne " +"Rückkopplungsmechanismen mit hoher Genauigkeit gesteuert werden. Die " +"Welle eines Schrittmachers, der mit einer Reihe von Magneten montiert " +"ist, wird von einer Reihe elektromagnetischer Spulen gesteuert, die in " +"einer bestimmten Reihenfolge positiv und negativ geladen werden und diese" +" in kleinen \"Schritten\" präzise vorwärts oder rückwärts bewegen." + +#: ../1.3.3_stepper_motor.rst:15 +msgid "Components" +msgstr "Komponenten" + +#: ../1.3.3_stepper_motor.rst:21 +msgid "Principle" +msgstr "Prinzip" + +#: ../1.3.3_stepper_motor.rst:23 +msgid "**Stepper Motor**" +msgstr "**Schrittmotor**" + +#: ../1.3.3_stepper_motor.rst:25 +msgid "" +"There are two types of steppers, unipolars and bipolars, and it is very " +"important to know which type you are working with. In this experiment, we" +" will use a unipolar stepper." +msgstr "" +"Es gibt zwei Typen von Steppern, Unipolare und Bipolare, und es ist sehr " +"wichtig zu wissen, mit welchem Typ Sie arbeiten. In diesem Experiment " +"verwenden wir einen unipolaren Stepper." + +#: ../1.3.3_stepper_motor.rst:29 +msgid "" +"The stepper motor is a four-phase one, which uses a unipolarity DC power " +"supply. As long as you electrify all phase windings of the motor by an " +"appropriate timing sequence, you can make it rotate step by step. The " +"schematic diagram of a four-phase reactive stepper motor:" +msgstr "" +"Der Schrittmotor ist ein Vierphasenmotor, der eine Gleichstromversorgung " +"mit Unipolarität verwendet. Solange Sie alle Phasenwicklungen des Motors " +"durch eine geeignete Zeitfolge elektrifizieren, können Sie ihn Schritt " +"für Schritt drehen lassen. Das schematische Diagramm eines vierphasigen " +"reaktiven Schrittmotors:" + +#: ../1.3.3_stepper_motor.rst:37 +msgid "" +"In the figure, in the middle of the motor is a rotor - a gear-shaped " +"permanent magnet. Around the rotor, 0 to 5 are teeth. Then more outside, " +"there are 8 magnetic poles, with each two opposite ones connected by coil" +" winding. So they form four pairs from A to D, which is called a phase. " +"It has four lead wires to be connected with switches SA, SB, SC, and SD. " +"Therefore, the four phases are in parallel in the circuit, and the two " +"magnetic poles in one phase are in series." +msgstr "" +"In der Abbildung befindet sich in der Mitte des Motors ein Rotor - ein " +"zahnradförmiger Permanentmagnet. Um den Rotor herum sind 0 bis 5 Zähne. " +"Dann weiter draußen gibt es 8 Magnetpole, wobei jeweils zwei " +"gegenüberliegende durch Spulenwicklung verbunden sind. Sie bilden also " +"vier Paare von A nach D, was als Phase bezeichnet wird. Es verfügt über " +"vier Anschlusskabel, die mit den Schaltern SA, SB, SC und SD verbunden " +"werden können. Daher sind die vier Phasen in der Schaltung parallel und " +"die zwei Magnetpole in einer Phase sind in Reihe geschaltet." + +#: ../1.3.3_stepper_motor.rst:45 +msgid "**Here's how a 4-phase stepper motor works:**" +msgstr "**So funktioniert ein 4-Phasen-Schrittmotor:**" + +#: ../1.3.3_stepper_motor.rst:47 +msgid "" +"When switch SB is power on, switch SA, SC, and SD is power off, and " +"B-phase magnetic poles align with tooth 0 and 3 of the rotor. At the same" +" time, tooth 1 and 4 generate staggered teeth with C- and D-phase poles. " +"Tooth 2 and 5 generate staggered teeth with D- and A-phase poles. When " +"switch SC is power on, switch SB, SA, and SD is power off, the rotor " +"rotates under magnetic field of C-phase winding and that between tooth 1 " +"and 4. Then tooth 1 and 4 align with the magnetic poles of C-phase " +"winding. While tooth 0 and 3 generate staggered teeth with A- and B-phase" +" poles, and tooth 2 and 5 generate staggered teeth with the magnetic " +"poles of A- and D-phase poles. The similar situation goes on and on. " +"Energize the A, B, C and D phases in turn, and the rotor will rotate in " +"the order of A, B, C and D." +msgstr "" +"Wenn der Schalter SB eingeschaltet ist, sind die Schalter SA, SC und SD " +"ausgeschaltet, und die B-Phasen-Magnetpole sind auf die Zähne 0 und 3 des" +" Rotors ausgerichtet. Gleichzeitig erzeugen Zahn 1 und 4 versetzte Zähne " +"mit C- und D-Phasenpolen. Zahn 2 und 5 erzeugen versetzte Zähne mit D- " +"und A-Phasenpolen. Wenn der Schalter SC eingeschaltet ist, die Schalter " +"SB, SA und SD ausgeschaltet sind, dreht sich der Rotor unter dem " +"Magnetfeld der C-Phasenwicklung und dem zwischen Zahn 1 und 4. Dann " +"richten sich Zahn 1 und 4 an den Magnetpolen der C-Phasenwicklung aus. " +"Während Zahn 0 und 3 versetzte Zähne mit A- und B-Phasenpolen erzeugen, " +"erzeugen Zahn 2 und 5 versetzte Zähne mit den Magnetpolen von A- und " +"D-Phasenpolen. Die ähnliche Situation geht weiter und weiter. Schalten " +"Sie die Phasen A, B, C und D nacheinander ein, und der Rotor dreht sich " +"in der Reihenfolge A, B, C und D." + +#: ../1.3.3_stepper_motor.rst:63 +msgid "" +"The four-phase stepper motor has three operating modes: single four-step," +" double four-step, and eight-step. The step angle for the single four-" +"step and double four-step are the same, but the driving torque for the " +"single four-step is smaller. The step angle of the eight-step is half " +"that of the single four-step and double four-step. Thus, the eight-step " +"operating mode can keep high driving torque and improve control accuracy." +msgstr "" +"Der Vierphasen-Schrittmotor verfügt über drei Betriebsarten: einfach " +"vierstufig, doppelt vierstufig und achtstufig. Der Schrittwinkel für den " +"einzelnen vierstufigen und den doppelten vierstufigen ist gleich, aber " +"das Antriebsmoment für den einzelnen vierstufigen ist kleiner. Der " +"Schrittwinkel des Achtstufens ist halb so groß wie der des Einzel-Vier-" +"Stufen- und des Doppel-Vier-Stufen-Winkels. Somit kann der achtstufige " +"Betriebsmodus ein hohes Antriebsmoment beibehalten und die " +"Steuergenauigkeit verbessern." + +#: ../1.3.3_stepper_motor.rst:71 +msgid "" +"The stator of Stepper Motor we use has 32 magnetic poles, so a circle " +"needs 32 steps. The output shaft of the Stepper Motor is connected with a" +" reduction gear set, and the reduction ratio is 1/64. So the final output" +" shaft rotates a circle requiring a 32*64=2048 step." +msgstr "" +"Der von uns verwendete Stator des Schrittmotors hat 32 Magnetpole, sodass" +" ein Kreis 32 Schritte benötigt. Die Abtriebswelle des Schrittmotors ist " +"mit einem Untersetzungsgetriebesatz verbunden, und das " +"Untersetzungsverhältnis beträgt 1/64. Die endgültige Abtriebswelle dreht " +"also einen Kreis, der einen Schritt von 32 * 64 = 2048 erfordert." + +#: ../1.3.3_stepper_motor.rst:76 +msgid "**ULN2003**" +msgstr "**ULN2003**" + +#: ../1.3.3_stepper_motor.rst:78 +msgid "" +"To apply the motor in the circuit, a driver board needs to be used. " +"Stepper Motor Driver-ULN2003 is a 7-channel inverter circuit. That is, " +"when the input pin is at high level, the output pin of ULN2003 is at low " +"level, and vice versa. If we supply high level to IN1, and low level to " +"IN2, IN3 and IN4, then the output end OUT1 is at low level, and all the " +"other output ends are at high level.  The internal structure of the chip " +"is shown as below." +msgstr "" +"Um den Motor in die Schaltung einzubringen, muss eine Treiberplatine " +"verwendet werden. Stepper Motor Driver-ULN2003 ist eine 7-Kanal-" +"Inverterschaltung. Das heißt, wenn der Eingangspin auf High-Pegel ist, " +"ist der Ausgangspin von ULN2003 auf Low-Pegel und umgekehrt. Wenn wir IN1" +" High-Pegel und IN2, IN3 und IN4 Low-Pegel liefern, dann ist das " +"Ausgangsende OUT1 auf Low-Pegel und alle anderen Ausgangsenden auf High-" +"Pegel. Die interne Struktur des Chips ist wie folgt dargestellt." + +#: ../1.3.3_stepper_motor.rst:84 +msgid "" +"The stepper motor driver constituted by ULN2003 chip and 4 LEDs is shown " +"as follows. On the board, IN1,IN2,IN3 and IN4 work as input and the four " +"LEDs, A, B, C, D are the indicators of input pin. In addition, OUT1,OUT2," +" OUT3 and OUT4 are connected to SA, SB, SC and SD on the stepper motor " +"driver. When the value of IN1 is set to a high level, A lights up; switch" +" SA is power on, and the stepper motor rotates one step. The similar case" +" repeats on and on. Therefore, just give the stepper motor a specific " +"timing sequence, it will rotate step by step. The ULN2003 here is used to" +" provide particular timing sequences for the stepper motor." +msgstr "" +"Der Schrittmotortreiber, der aus dem ULN2003-Chip und 4 LEDs besteht, ist" +" wie folgt dargestellt. Auf der Platine fungieren IN1, IN2, IN3 und IN4 " +"als Eingang und die vier LEDs A, B, C, D sind die Anzeigen des " +"Eingangspins. Zusätzlich sind OUT1, OUT2, OUT3 und OUT4 mit SA, SB, SC " +"und SD am Schrittmotortreiber verbunden. Wenn der Wert von IN1 auf einen " +"hohen Niveau eingestellt ist, leuchtet A auf; Schalter SA ist " +"eingeschaltet und der Schrittmotor dreht sich einen Schritt. Der ähnliche" +" Fall wiederholt sich immer weiter. Geben Sie dem Schrittmotor daher " +"einfach eine bestimmte Zeitfolge, er dreht sich Schritt für Schritt. Der " +"ULN2003 wird hier verwendet, um bestimmte Zeitabläufe für den " +"Schrittmotor bereitzustellen." + +#: ../1.3.3_stepper_motor.rst:99 +msgid "Schematic Diagram" +msgstr "Schematische Darstellung" + +#: ../1.3.3_stepper_motor.rst:106 +msgid "Experimental Procedures" +msgstr "Experimentelle Verfahren" + +#: ../1.3.3_stepper_motor.rst:108 +msgid "**Step 1:** Build the circuit." +msgstr "**Schritt 1:** Bauen Sie die Schaltung auf." + +#: ../1.3.3_stepper_motor.rst:115 +msgid "For C Language Users" +msgstr "Für Benutzer in C-Sprache" + +#: ../1.3.3_stepper_motor.rst:117 ../1.3.3_stepper_motor.rst:353 +msgid "**Step 2**: Go to the folder of the code." +msgstr "**Schritt 2**: Gehen Sie zum Ordner des Codes." + +#: ../1.3.3_stepper_motor.rst:127 +msgid "**Step 3**: Compile the code." +msgstr "**Schritt 3**: Kompilieren Sie den Code." + +#: ../1.3.3_stepper_motor.rst:137 +msgid "**Step 4**: Run the executable file." +msgstr "**Schritt 4**: Führen Sie die ausführbare Datei aus." + +#: ../1.3.3_stepper_motor.rst:147 + +msgid "" +"As the code runs, the stepper motor will rotate clockwise or " +"anticlockwise according to your input \\'a\\' or \\'c\\'." +msgstr "" +"Während der Code läuft, dreht sich der Schrittmotor entsprechend Ihrer " +"Eingabe \'a\' oder \'c\' im oder gegen den Uhrzeigersinn." + +#: ../1.3.3_stepper_motor.rst:152 +msgid "" +"If it does not work after running, please refer to :ref:`C code is not " +"working?`" +msgstr "" +"Wenn es nach dem Ausführen nicht funktioniert, lesen Sie bitte :ref:`C " +"code is not working?`" + +#: ../1.3.3_stepper_motor.rst:154 ../1.3.3_stepper_motor.rst:376 +msgid "**Code**" +msgstr "**Code**" + +#: ../1.3.3_stepper_motor.rst:230 ../1.3.3_stepper_motor.rst:439 +msgid "**Code Explanation**" +msgstr "**Code Erklärung**" + +#: ../1.3.3_stepper_motor.rst:238 ../1.3.3_stepper_motor.rst:447 +msgid "" +"**rolePerMinute:** revolutions per minute, the RPM of the stepper motor " +"used in this kit should be 0~17." +msgstr "" +"**rolePerMinute:** Umdrehungen pro Minute sollte die Drehzahl des in " +"diesem Kit verwendeten Schrittmotors 0 bis 17 betragen." + +#: ../1.3.3_stepper_motor.rst:241 ../1.3.3_stepper_motor.rst:450 +msgid "" +"**stepPerRevolution:** the number of steps for each turn, and the stepper" +" motor used in this kit needs 2048 steps per revolution." +msgstr "" +"**stepPerRevolution:** Die Anzahl der Schritte für jede Umdrehung und der" +" in diesem Kit verwendete Schrittmotor benötigen 2048 Schritte pro " +"Umdrehung." + +#: ../1.3.3_stepper_motor.rst:244 +msgid "" +"**stepSpeed:** the time used for each step, and in main(), we assign the " +"values to them:「(60000000 / rolePerMinute) / " +"stepsPerRevolution」(60,000,000 us=1minute)" +msgstr "" +"**stepSpeed:** Die für jeden Schritt verwendete Zeit. In main () weisen " +"wir ihnen die folgenden Werte zu: 「(60000000 / rolePerMinute) / " +"stepPerRevolution」 (60.000.000 us = 1 Minute)" + +#: ../1.3.3_stepper_motor.rst:278 +msgid "" +"The loop() function is roughly divided into two parts (located between " +"two while(1)) :" +msgstr "" +"Die Funktion loop () ist grob in zwei Teile unterteilt (zwischen zwei " +"während (1)):" + +#: ../1.3.3_stepper_motor.rst:280 ../1.3.3_stepper_motor.rst:475 + +msgid "" +"The first part is to get the key value. When \\'a\\' or \\'c\\' is " +"obtained, exit the loop and stop the input." +msgstr "" +"Der erste Teil besteht darin, den Schlüsselwert zu erhalten. Wenn \'a\' " +"oder \'c\' erhalten wird, verlassen Sie die Schleife und stoppen Sie die " +"Eingabe." + +#: ../1.3.3_stepper_motor.rst:282 ../1.3.3_stepper_motor.rst:478 +msgid "The second part calls rotary(direction) to make the stepper motor run." +msgstr "" +"Der zweite Teil ruft Drehung (Richtung) auf, um den Schrittmotor laufen " +"zu lassen." + +#: ../1.3.3_stepper_motor.rst:303 +msgid "" +"To make stepper motor **rotate clockwise**, level status of motorPin " +"should is shown in the table below:" +msgstr "" +"Damit sich der Schrittmotor im **Uhrzeigersinn dreht**, sollte der " +"Füllstandsstatus von motorPin in der folgenden Tabelle angezeigt werden:" + +#: ../1.3.3_stepper_motor.rst:309 ../1.3.3_stepper_motor.rst:501 +msgid "" +"Therefore, potential write of MotorPin is implemented by using a two-" +"layer of for loop." +msgstr "" +"Daher wird das potentielle Schreiben von MotorPin unter Verwendung einer " +"zweischichtigen for-Schleife implementiert." + +#: ../1.3.3_stepper_motor.rst:312 ../1.3.3_stepper_motor.rst:336 +#: ../1.3.3_stepper_motor.rst:504 ../1.3.3_stepper_motor.rst:528 +msgid "In Step1, j=0, i=0~4." +msgstr "In Schritt 1 ist j = 0, i = 0 ~ 4." + +#: ../1.3.3_stepper_motor.rst:314 ../1.3.3_stepper_motor.rst:506 +msgid "motorPin[0] will be written in the high level(10011001&00001000=1)" +msgstr "motorPin [0] wird in der hohen Ebene geschrieben (10011001 & 00001000 = 1)" + +#: ../1.3.3_stepper_motor.rst:316 ../1.3.3_stepper_motor.rst:508 +msgid "motorPin[1] will be written in the low level(10011001&00000100=0)" +msgstr "" +"motorPin [1] wird auf dem niedrigen Niveau geschrieben (10011001 & " +"00000100 = 0)" + +#: ../1.3.3_stepper_motor.rst:318 ../1.3.3_stepper_motor.rst:510 +msgid "motorPin[2] will be written in the low level(10011001&00000010=0)" +msgstr "" +"motorPin [2] wird in der niedrigen Ebene geschrieben (10011001 & 00000010" +" = 0)" + +#: ../1.3.3_stepper_motor.rst:320 ../1.3.3_stepper_motor.rst:512 +msgid "motorPin[3] will be written in the high level(10011001&00000001=1)" +msgstr "motorPin [3] wird in der hohen Ebene geschrieben (10011001 & 00000001 = 1)" + +#: ../1.3.3_stepper_motor.rst:322 ../1.3.3_stepper_motor.rst:514 +#: ../1.3.3_stepper_motor.rst:534 +msgid "In Step2, j=1, i=0~4." +msgstr "In Schritt 2 ist j = 1, i = 0 ~ 4." + +#: ../1.3.3_stepper_motor.rst:324 ../1.3.3_stepper_motor.rst:516 +msgid "motorPin[0] will be written in the high level(01001100&00001000=1)" +msgstr "motorPin [0] wird in der hohen Ebene geschrieben (01001100 & 00001000 = 1)" + +#: ../1.3.3_stepper_motor.rst:326 ../1.3.3_stepper_motor.rst:518 +msgid "motorPin[1] will be written in the low level(01001100&00000100=1)" +msgstr "" +"motorPin [1] wird auf dem niedrigen Niveau geschrieben (01001100 & " +"00000100 = 1)" + +#: ../1.3.3_stepper_motor.rst:328 ../1.3.3_stepper_motor.rst:348 +msgid "and so on." +msgstr "usw." + +#: ../1.3.3_stepper_motor.rst:330 +msgid "" +"And to make the stepper motor rotate **anti-clockwise**, the level status" +" of motorPin is shown in the following table." +msgstr "" +"Damit sich der Schrittmotor gegen den **Uhrzeigersinn dreht**, wird der " +"Füllstandsstatus von motorPin in der folgenden Tabelle angezeigt." + +#: ../1.3.3_stepper_motor.rst:338 ../1.3.3_stepper_motor.rst:530 +msgid "motorPin[0] will be written in the high level(10011001&10000000=1)" +msgstr "motorPin [0] wird in der hohen Ebene geschrieben (10011001 & 10000000 = 1)" + +#: ../1.3.3_stepper_motor.rst:340 ../1.3.3_stepper_motor.rst:532 +msgid "motorPin[1] will be written in the low level(10011001&01000000=0)" +msgstr "" +"motorPin [1] wird auf dem niedrigen Niveau geschrieben (10011001 & " +"01000000 = 0)" + +#: ../1.3.3_stepper_motor.rst:342 +msgid "In Step2,j=1, i=0~4." +msgstr "In Schritt 2 ist , j = 1, i = 0 ~ 4." + +#: ../1.3.3_stepper_motor.rst:344 ../1.3.3_stepper_motor.rst:536 +msgid "motorPin[0] will be written in the high level(00110010&10000000=0)" +msgstr "motorPin [0] wird in der hohen Ebene geschrieben (00110010 & 10000000 = 0)" + +#: ../1.3.3_stepper_motor.rst:346 ../1.3.3_stepper_motor.rst:538 +msgid "motorPin[1] will be written in the low level(00110010&01000000=0)" +msgstr "" +"motorPin [1] wird auf dem niedrigen Niveau geschrieben (00110010 & " +"01000000 = 0)" + +#: ../1.3.3_stepper_motor.rst:351 +msgid "For Python Language Users" +msgstr "Für Python-Sprachbenutzer" + +#: ../1.3.3_stepper_motor.rst:363 +msgid "**Step 3**: Run the executable file." +msgstr "**Schritt 3**: Führen Sie die ausführbare Datei aus." + +#: ../1.3.3_stepper_motor.rst:373 +msgid "" +"As the code runs, the stepper motor will turn clockwise or anti-clockwise" +" depending on your input \\'a\\' or \\'c\\'." +msgstr "" +"Während der Code läuft, dreht sich der Schrittmotor abhängig von Ihrer " +"Eingabe \'a\' oder \'a\' im oder gegen den Uhrzeigersinn." + +#: ../1.3.3_stepper_motor.rst:380 +msgid "" +"You can **Modify/Reset/Copy/Run/Stop** the code below. But before that, " +"you need to go to source code path like ``davinci-kit-for-raspberry-" +"pi/python``." +msgstr "" +"Sie können den folgenden Code **Ändern/Zurücksetzen/ " +"Kopieren/Ausführen/Stoppen**. Zuvor müssen Sie jedoch zu einem " +"Quellcodepfad wie ``davinci-kit-for-raspberry-pi/python`` gehen." + +#: ../1.3.3_stepper_motor.rst:453 +msgid "" +"**stepSpeed:** the time used for each step, and we assign the values to " +"them:「(60 / rolePerMinute) / stepsPerRevolution」(60s=1minute)." +msgstr "" +"**Schritt Geschwindigkeit:** Die Zeit, die für jeden Schritt verwendet " +"wird, und wir weisen ihnen die Werte zu: 「(60 / rolePerMinute) / " +"stepPerRevolution」 (60s = 1minute)." + +#: ../1.3.3_stepper_motor.rst:472 +msgid "" +"The loop() function is roughly divided into two parts (located in two " +"while(1)) :" +msgstr "" +"Die Funktion loop () ist grob in zwei Teile unterteilt (in zwei Teilen, " +"während (1)):" + +#: ../1.3.3_stepper_motor.rst:495 +msgid "" +"To make the stepper motor rotate clockwise, the level status of motorPin " +"is shown in the following table:" +msgstr "" +"Um den Schrittmotor im Uhrzeigersinn drehen zu lassen, wird der Niveau " +"status von motorPin in der folgenden Tabelle angezeigt:" + +#: ../1.3.3_stepper_motor.rst:520 +msgid "and so on" +msgstr "usw" + +#: ../1.3.3_stepper_motor.rst:522 +msgid "" +"And to make the stepper motor rotate anti - clockwise, the level status " +"of motorPin is shown in the following table." +msgstr "" +"Um den Schrittmotor gegen den Uhrzeigersinn drehen zu lassen, wird der " +"Füllstandsstatus von motorPin in der folgenden Tabelle angezeigt." + +#: ../1.3.3_stepper_motor.rst:540 +msgid "And so on." +msgstr "usw." + +#: ../1.3.3_stepper_motor.rst:543 +msgid "Phenomenon Picture" +msgstr "Phänomen Bild" + diff --git a/docs/source/locale/de/LC_MESSAGES/1.3.4_relay.po b/docs/source/locale/de/LC_MESSAGES/1.3.4_relay.po new file mode 100644 index 0000000..538f38b --- /dev/null +++ b/docs/source/locale/de/LC_MESSAGES/1.3.4_relay.po @@ -0,0 +1,348 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, SunFounder +# This file is distributed under the same license as the SunFounder Davinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Davinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-19 18:22+0800\n" +"PO-Revision-Date: 2021-05-31 21:31+0800\n" +"Last-Translator: \n" +"Language: de\n" +"Language-Team: \n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../1.3.4_relay.rst:2 +msgid "1.3.4 Relay" +msgstr "1.3.4 Relais" + +#: ../1.3.4_relay.rst:5 +msgid "Introduction" +msgstr "Einführung" + +#: ../1.3.4_relay.rst:7 +msgid "" +"In this lesson, we will learn to use a relay. It is one of the commonly " +"used components in automatic control system. When the voltage, current, " +"temperature, pressure, etc., reaches, exceeds or is lower than the " +"predetermined value, the relay will connect or interrupt the circuit, to " +"control and protect the equipment." +msgstr "" +"In dieser Lektion lernen wir, ein Relais zu verwenden. Es ist eine der am" +" häufigsten verwendeten Komponenten im automatischen Steuerungssystem. " +"Wenn die Spannung, der Strom, die Temperatur, der Druck usw. den " +"vorgegebenen Wert erreichen, überschreiten oder unterschreiten, wird das " +"Relais den Stromkreis anschließen oder unterbrechen, um das Gerät zu " +"steuern und zu schützen." + +#: ../1.3.4_relay.rst:14 +msgid "Components" +msgstr "Komponenten" + +#: ../1.3.4_relay.rst:20 +msgid "Principle" +msgstr "Prinzip" + +#: ../1.3.4_relay.rst:22 +msgid "**Diode**" +msgstr "**Diode**" + +#: ../1.3.4_relay.rst:24 +msgid "" +"A diode is a two-terminal component in electronics with a unidirectional " +"flow of current. It offers low resistance in the direction of current " +"flow and offers high resistance in the opposite direction. Diodes are " +"mostly used to prevent damage to components, especially due to " +"electromotive force in circuits which are usually polarized." +msgstr "" +"Eine Diode ist eine zweipolige Komponente in der Elektronik mit einem " +"unidirektionalen Stromfluss. Es bietet einen geringen Widerstand in " +"Richtung des Stromflusses und einen hohen Widerstand in der " +"entgegengesetzten Richtung. Dioden werden meistens verwendet, um Schäden " +"an Bauteilen zu vermeiden, insbesondere aufgrund elektromotorischer Kraft" +" in Schaltkreisen, die normalerweise polarisiert sind." + +#: ../1.3.4_relay.rst:33 +msgid "" +"The two terminals of a diode are polarized, with the positive end called " +"anode and the negative end called cathode. The cathode is usually made of" +" silver or has a color band. Controlling the direction of current flow is" +" one of the key features of diodes — the current in a diode flows from " +"anode to cathode. The behavior of a diode is similar to the behavior of a" +" check valve. One of the most important characteristics of a diode is the" +" non-linear current voltage. If higher voltage is connected to the anode," +" then current flows from anode to cathode, and the process is known as " +"forward bias. However, if the higher voltage is connected to the cathode," +" then the diode does not conduct electricity, and the process is called " +"reverse bias." +msgstr "" +"Die beiden Anschlüsse einer Diode sind polarisiert, wobei das positive " +"Ende als Anode und das negative Ende als Kathode bezeichnet wird. Die " +"Kathode besteht üblicherweise aus Silber oder hat ein Farbband. Die " +"Steuerung der Stromflussrichtung ist eines der Hauptmerkmale von Dioden -" +" der Strom in einer Diode fließt von Anode zu Kathode. Das Verhalten " +"einer Diode ähnelt dem Verhalten eines Rückschlagventils. Eine der " +"wichtigsten Eigenschaften einer Diode ist die nichtlineare Stromspannung." +" Wenn eine höhere Spannung an die Anode angeschlossen ist, fließt Strom " +"von Anode zu Kathode, und der Prozess wird als Vorwärtsvorspannung " +"bezeichnet. Wenn jedoch die höhere Spannung an die Kathode angeschlossen " +"ist, leitet die Diode keine Elektrizität, und der Prozess wird als " +"Sperrvorspannung bezeichnet." + +#: ../1.3.4_relay.rst:45 +msgid "**Relay**" +msgstr "**Relais**" + +#: ../1.3.4_relay.rst:47 +msgid "" +"As we may know, relay is a device which is used to provide connection " +"between two or more points or devices in response to the input signal " +"applied. In other words, relays provide isolation between the controller " +"and the device as devices may work on AC as well as on DC. However, they " +"receive signals from a microcontroller which works on DC hence requiring " +"a relay to bridge the gap. Relay is extremely useful when you need to " +"control a large amount of current or voltage with small electrical " +"signal." +msgstr "" +"Wie wir vielleicht wissen, ist Relais ein Gerät, das verwendet wird, um " +"eine Verbindung zwischen zwei oder mehr Punkten oder Geräten als Reaktion" +" auf das angelegte Eingangssignal herzustellen. Mit anderen Worten, " +"Relais stellen eine Isolation zwischen der Steuerung und dem Gerät " +"bereit, da Geräte sowohl mit Wechselstrom als auch mit Gleichstrom " +"arbeiten können. Sie empfangen jedoch Signale von einem Mikrocontroller, " +"der mit Gleichstrom arbeitet, weshalb ein Relais erforderlich ist, um die" +" Lücke zu schließen. Das Relais ist äußerst nützlich, wenn Sie eine große" +" Menge an Strom oder Spannung mit einem kleinen elektrischen Signal " +"steuern müssen." + +#: ../1.3.4_relay.rst:56 +msgid "There are 5 parts in every relay:" +msgstr "Jedes Relais besteht aus 5 Teilen:" + +#: ../1.3.4_relay.rst:58 +msgid "" +"**Electromagnet** - It consists of an iron core wounded by coil of wires." +" When electricity is passed through, it becomes magnetic. Therefore, it " +"is called electromagnet." +msgstr "" +"**Elektromagnet** - Er besteht aus einem Eisenkern, der durch eine " +"Drahtspule gewickelt ist. Wenn Elektrizität durchgelassen wird, wird sie " +"magnetisch. Daher wird es Elektromagnet genannt." + +#: ../1.3.4_relay.rst:62 +msgid "" +"**Armature** - The movable magnetic strip is known as armature. When " +"current flows through them, the coil is it energized thus producing a " +"magnetic field which is used to make or break the normally open (N/O) or " +"normally close (N/C) points. And the armature can be moved with direct " +"current (DC) as well as alternating current (AC)." +msgstr "" +"**Anker** - Der bewegliche Magnetstreifen wird als Anker bezeichnet. Wenn" +" Strom durch sie fließt, wird die Spule erregt, wodurch ein Magnetfeld " +"erzeugt wird, das verwendet wird, um die normalerweise offenen (N/O) oder" +" normalerweise geschlossenen (N/C) Punkte zu erzeugen oder zu brechen. " +"Der Anker kann sowohl mit Gleichstrom (DC) als auch mit Wechselstrom (AC)" +" bewegt werden." + +#: ../1.3.4_relay.rst:68 +msgid "" +"**Spring** - When no currents flow through the coil on the electromagnet," +" the spring pulls the armature away so the circuit cannot be completed." +msgstr "" +"**Feder** - Wenn am Elektromagneten keine Ströme durch die Spule fließen," +" zieht die Feder den Anker weg, sodass der Stromkreis nicht abgeschlossen" +" werden kann." + +#: ../1.3.4_relay.rst:72 +msgid "Set of electrical **contacts** - There are two contact points:" +msgstr "Satz elektrischer **Kontakte** - Es gibt zwei Kontaktpunkte:" + +#: ../1.3.4_relay.rst:74 +msgid "" +"Normally open - connected when the relay is activated, and disconnected " +"when it is inactive." +msgstr "" +"Normalerweise offen - verbunden, wenn das Relais aktiviert ist, und " +"getrennt, wenn es inaktiv ist." + +#: ../1.3.4_relay.rst:76 +msgid "" +"Normally close - not connected when the relay is activated, and connected" +" when it is inactive." +msgstr "" +"Normalerweise geschlossen - nicht angeschlossen, wenn das Relais " +"aktiviert ist, und angeschlossen, wenn es inaktiv ist. aktiviert ist," + +#: ../1.3.4_relay.rst:78 +msgid "**Molded frame** - Relays are covered with plastic for protection." +msgstr "**Molded frame** - Die Relais sind zum Schutz mit Kunststoff bedeckt." + +#: ../1.3.4_relay.rst:80 +msgid "**Working of Relay**" +msgstr "**Funktionieren des Relais**" + +#: ../1.3.4_relay.rst:82 +msgid "" +"The working principle of relay is simple. When power is supplied to the " +"relay, currents start flowing through the control coil; as a result, the " +"electromagnet starts energizing. Then the armature is attracted to the " +"coil, pulling down the moving contact together thus connecting with the " +"normally open contacts. So the circuit with the load is energized. Then " +"breaking the circuit would a similar case, as the moving contact will be " +"pulled up to the normally closed contacts under the force of the spring. " +"In this way, the switching on and off of the relay can control the state " +"of a load circuit." +msgstr "" +"Das Funktionsprinzip des Relais ist einfach. Wenn das Relais mit Strom " +"versorgt wird, fließen Ströme durch die Steuerspule. Infolgedessen " +"beginnt der Elektromagnet zu erregen. Dann wird der Anker von der Spule " +"angezogen, bewegliche Kontakt zusammezihen, wodurch eine Verbindung mit " +"den normalerweise offenen Kontakten hergestellt wird. Der Stromkreis mit " +"der Last wird also erregt. Ein Unterbrechen des Stromkreises wäre dann " +"ein ähnlicher Fall, da der bewegliche Kontakt unter der Kraft der Feder " +"zu den normalerweise geschlossenen Kontakten hochgezogen wird. Auf diese " +"Weise kann das Ein- und Ausschalten des Relais den Zustand eines " +"Lastkreises steuern." + +#: ../1.3.4_relay.rst:96 +msgid "Schematic Diagram" +msgstr "Schematische Darstellung" + +#: ../1.3.4_relay.rst:102 +msgid "Experimental Procedures" +msgstr "Experimentelle Verfahren" + +#: ../1.3.4_relay.rst:104 +msgid "**Step 1:** Build the circuit." +msgstr "**Schritt 1:** Bauen Sie die Schaltung auf." + +#: ../1.3.4_relay.rst:112 +msgid "For C Language Users" +msgstr "Für Benutzer in C-Sprache" + +#: ../1.3.4_relay.rst:114 +msgid "**Step 2**: Open the code file." +msgstr "**Schritt 2**: Öffnen Sie die Kodedatei." + +#: ../1.3.4_relay.rst:124 +msgid "**Step 3:** Compile the code." +msgstr "**Schritt 3:** Kompilieren Sie den Code." + +#: ../1.3.4_relay.rst:135 +msgid "**Step 4:** Run the executable file." +msgstr "**Schritt 4:** Führen Sie die ausführbare Datei aus." + +#: ../1.3.4_relay.rst:145 +msgid "" +"After the code runs, the LED will light up. In addition, you can hear a " +"ticktock caused by breaking normally close contact and closing normally " +"open contact." +msgstr "" +"Nachdem die Kode ausgeführt wurde, leuchtet die LED auf. Außerdem können " +"Sie ein Ticktock hören, das durch das Unterbrechen des normalerweise " +"geschlossenen Kontakts und das Schließen des normalerweise offenen " +"Kontakts verursacht wird." + +#: ../1.3.4_relay.rst:151 +msgid "" +"If it does not work after running, please refer to :ref:`C code is not " +"working?`" +msgstr "" +"Wenn es nach dem Ausführen nicht funktioniert, lesen Sie bitte :ref:`C " +"code is not working?`" + +#: ../1.3.4_relay.rst:153 ../1.3.4_relay.rst:229 +msgid "**Code**" +msgstr "**Code**" + +#: ../1.3.4_relay.rst:183 ../1.3.4_relay.rst:285 +msgid "**Code Explanation**" +msgstr "**Code Erklärung**" + +#: ../1.3.4_relay.rst:189 +msgid "" +"Set the I/O port as low level (0V), thus the transistor is not energized " +"and the coil is not powered. There is no electromagnetic force, so the " +"relay opens, LED does not turn on." +msgstr "" +"Stellen Sie den I/O -Anschluss auf einen niedrigen Niveau (0V) ein, damit" +" der Transistor nicht erregt und die Spule nicht mit Strom versorgt wird." +" Es gibt keine elektromagnetische Kraft, daher öffnet sich das Relais und" +" die LED leuchtet nicht." + +#: ../1.3.4_relay.rst:197 +msgid "" +"set the I/O port as high level (5V) to energize the transistor. The coil " +"of the relay is powered and generate electromagnetic force, and the relay" +" closes, LED lights up." +msgstr "" +"Stellen Sie den I/O -Anschluss auf einen hohen Niveau (5V) ein, um den " +"Transistor mit Strom zu versorgen. Die Spule des Relais wird mit Strom " +"versorgt und erzeugt elektromagnetische Kraft. Das Relais schließt, die " +"LED leuchtet auf." + +#: ../1.3.4_relay.rst:202 +msgid "For Python Language Users" +msgstr "Für Python-Benutzer" + +#: ../1.3.4_relay.rst:204 +msgid "**Step 2:** Open the code file." +msgstr "**Schritt 2:** Öffnen Sie die Codedatei." + +#: ../1.3.4_relay.rst:215 +msgid "**Step 3:** Run." +msgstr "**Schritt 3:** Ausführen." + +#: ../1.3.4_relay.rst:225 +msgid "" +"While the code is running, the LED lights up. In addition, you can hear a" +" ticktock caused by breaking normally close contact and closing normally " +"open contact." +msgstr "" +"Während der Code läuft, leuchtet die LED. Außerdem können Sie ein " +"Ticktock hören, das durch das Unterbrechen des normalerweise " +"geschlossenen Kontakts und das Schließen des normalerweise offenen " +"Kontakts verursacht wird." + +#: ../1.3.4_relay.rst:233 + +msgid "" +"You can **Modify/Reset/Copy/Run/Stop** the code below. But before that, " +"you need to go to source code path like ``davinci-kit-for-raspberry-" +"pi/python``." +msgstr "" +"Sie können den folgenden Code **Ändern/Zurücksetzen/ " +"Kopieren/Ausführen/Stoppen**. Zuvor müssen Sie jedoch zu einem " +"Quellcodepfad wie ``davinci-kit-for-raspberry-pi/python`` gehen." + +#: ../1.3.4_relay.rst:291 +msgid "" +"Set the pins of transistor as low level to let the relay open, LED does " +"not turn on." +msgstr "" +"Stellen Sie die Pins des Transistors auf einen niedrigen Niveau ein, " +"damit das Relais geöffnet wird. Die LED leuchtet nicht." + +#: ../1.3.4_relay.rst:297 +msgid "wait for 1 second." +msgstr "1 Sekunde warten." + +#: ../1.3.4_relay.rst:303 +msgid "" +"Set the pins of the transistor as low level to actuate the relay, LED " +"lights up." +msgstr "" +"Stellen Sie die Pins des Transistors auf einen niedrigen Niveau ein, um " +"das Relais zu betätigen. Die LED leuchtet auf." + +#: ../1.3.4_relay.rst:307 +msgid "Phenomenon Picture" +msgstr "Phänomen Bild" + diff --git a/docs/source/locale/de/LC_MESSAGES/1_output.po b/docs/source/locale/de/LC_MESSAGES/1_output.po new file mode 100644 index 0000000..6ca2808 --- /dev/null +++ b/docs/source/locale/de/LC_MESSAGES/1_output.po @@ -0,0 +1,35 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, SunFounder +# This file is distributed under the same license as the SunFounder Davinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Davinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-05-20 18:20+0800\n" +"PO-Revision-Date: 2021-05-26 09:45+0800\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" +"Last-Translator: \n" +"Language-Team: \n" +"X-Generator: Poedit 2.4.3\n" + +#: ../1_output.rst:2 +msgid "1 Output" +msgstr "1 Ausgabe" + +#: ../1_output.rst:4 +msgid "**1.1 Displays**" +msgstr "**1.1 Anzeigen**" + +#: ../1_output.rst:17 +msgid "**1.2 Sound**" +msgstr "**1.2 Ton**" + +#: ../1_output.rst:26 +msgid "**1.3 Drivers**" +msgstr "**1.3 Treiber**" diff --git a/docs/source/locale/de/LC_MESSAGES/2.1.1_button.po b/docs/source/locale/de/LC_MESSAGES/2.1.1_button.po new file mode 100644 index 0000000..f5a7a97 --- /dev/null +++ b/docs/source/locale/de/LC_MESSAGES/2.1.1_button.po @@ -0,0 +1,256 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, SunFounder +# This file is distributed under the same license as the SunFounder Davinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Davinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-19 18:22+0800\n" +"PO-Revision-Date: 2021-05-31 21:32+0800\n" +"Last-Translator: \n" +"Language: de\n" +"Language-Team: \n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../2.1.1_button.rst:2 +msgid "2.1.1 Button" +msgstr "2.1.1 Taste" + +#: ../2.1.1_button.rst:5 +msgid "Introduction" +msgstr "Einführung" + +#: ../2.1.1_button.rst:7 +msgid "" +"In this lesson, we will learn how to turn on or off the LED by using a " +"button." +msgstr "" +"In dieser Lektion lernen wir, wie Sie die LED mit einer Taste ein- oder " +"ausschalten." + +#: ../2.1.1_button.rst:11 +msgid "Components" +msgstr "Komponenten" + +#: ../2.1.1_button.rst:17 +msgid "Principle" +msgstr "Prinzip" + +#: ../2.1.1_button.rst:19 +msgid "**Button**" +msgstr "**Taste**" + +#: ../2.1.1_button.rst:22 +msgid "" +"Button is a common component used to control electronic devices. It is " +"usually used as switch to connect or break circuits. Although buttons " +"come in a variety of sizes and shapes, the one used here is a 6mm mini-" +"button as shown in the following pictures." +msgstr "" +"Die Taste ist eine übliche Komponente zur Steuerung elektronischer " +"Geräte. Es wird normalerweise als Schalter zum Anschließen oder " +"Unterbrechen von Stromkreisen verwendet. Obwohl die Tasten in " +"verschiedenen Größen und Formen erhältlich sind, wird hier ein 6-mm-" +"Miniknopf verwendet, wie in den folgenden Bildern gezeigt." + +#: ../2.1.1_button.rst:27 +msgid "" +"Two pins on the left are connected, and the one on the right is similar " +"to the left, which is shown below:" +msgstr "" +"Zwei Pins auf der linken Seite sind verbunden, und der eine auf der " +"rechten Seite ähnelt dem linken, der unten gezeigt wird:" + +#: ../2.1.1_button.rst:34 +msgid "" +"The symbol shown as below is usually used to represent a button in " +"circuits." +msgstr "" +"Das unten gezeigte Symbol wird normalerweise verwendet, um eine " +"Schaltfläche in Schaltkreisen darzustellen." + +#: ../2.1.1_button.rst:43 +msgid "" +"When the button is pressed, the 4 pins are connected, thus closing the " +"circuit." +msgstr "" +"Wenn die Taste gedrückt wird, werden die 4 Pins verbunden, wodurch der " +"Stromkreis geschlossen wird." + +#: ../2.1.1_button.rst:47 +msgid "Schematic Diagram" +msgstr "Schematische Darstellung" + +#: ../2.1.1_button.rst:49 +msgid "" +"Use a normally open button as the input of Raspberry Pi, the connection " +"is shown in the schematic diagram below. When the button is pressed, the " +"GPIO18 will turn into low level (0V). We can detect the state of the " +"GPIO18 through programming. That is, if the GPIO18 turns into low level, " +"it means the button is pressed. You can run the corresponding code when " +"the button is pressed, and then the LED will light up." +msgstr "" +"Verwenden Sie eine normalerweise geöffnete Taste als Eingang für " +"Raspberry Pi. Die Verbindung ist in der folgenden schematischen " +"Darstellung dargestellt. Wenn die Taste gedrückt wird, wird der GPIO18 " +"auf einen niedrigen Niveau (0V) eingestellt. Wir können den Zustand des " +"GPIO18 durch Programmierung erkennen. Das heißt, wenn der GPIO18 auf " +"einen niedrigen Niveau wechselt, bedeutet dies, dass die Taste gedrückt " +"wird. Sie können den entsprechenden Kode ausführen, wenn die Taste " +"gedrückt wird, und dann leuchtet die LED auf." + +#: ../2.1.1_button.rst:57 +msgid "The longer pin of the LED is the anode and the shorter one is the cathode." +msgstr "Der längere Pin der LED ist die Anode und der kürzere ist die Kathode." + +#: ../2.1.1_button.rst:71 +msgid "Experimental Procedures" +msgstr "Experimentelle Verfahren" + +#: ../2.1.1_button.rst:73 +msgid "**Step 1**: Build the circuit." +msgstr "**Schritt 1**: Bauen Sie die Schaltung auf." + +#: ../2.1.1_button.rst:81 +msgid "For C Language Users" +msgstr "Für Benutzer in C-Sprache" + +#: ../2.1.1_button.rst:83 ../2.1.1_button.rst:212 +msgid "**Step 2**: Open the code file." +msgstr "**Schritt 2**: Öffnen Sie die Kodedatei." + +#: ../2.1.1_button.rst:94 +msgid "Change directory to the path of the code in this experiment via **cd**." +msgstr "Wechseln Sie in diesem Experiment in den Pfad der Kode mit **cd**." + +#: ../2.1.1_button.rst:96 +msgid "**Step 3**: Compile the code." +msgstr "**Schritt 3**: Kompilieren Sie den Code." + +#: ../2.1.1_button.rst:106 +msgid "**Step 4**: Run the executable file." +msgstr "**Schritt 4**: Führen Sie die ausführbare Datei aus." + +#: ../2.1.1_button.rst:116 +msgid "" +"After the code runs, press the button, the LED lights up; otherwise, " +"turns off." +msgstr "" +"Nachdem der Code ausgeführt wurde, drücken Sie die Taste, die LED " +"leuchtet auf; andernfalls erlischt." + +#: ../2.1.1_button.rst:122 +msgid "" +"If it does not work after running, please refer to :ref:`C code is not " +"working?`" +msgstr "" +"Wenn es nach dem Ausführen nicht funktioniert, lesen Sie bitte :ref:`C " +"code is not working?`" + +#: ../2.1.1_button.rst:124 ../2.1.1_button.rst:236 +msgid "**Code**" +msgstr "**Code**" + +#: ../2.1.1_button.rst:161 ../2.1.1_button.rst:302 +msgid "**Code Explanation**" +msgstr "**Code Erklärung**" + +#: ../2.1.1_button.rst:167 +msgid "Pin GPIO17 in the T_Extension Board is equal to the GPIO0 in the wiringPi." +msgstr "Der Pin GPIO17 in der T_Extension-Karte entspricht dem GPIO0 im wiringPi." + +#: ../2.1.1_button.rst:174 +msgid "ButtonPin is connected to GPIO1." +msgstr "ButtonPin ist mit GPIO1 verbunden." + +#: ../2.1.1_button.rst:180 +msgid "Set LedPin as output to assign value to it." +msgstr "Stellen Sie LedPin als Ausgabe ein, um ihm einen Wert zuzuweisen." + +#: ../2.1.1_button.rst:186 +msgid "Set ButtonPin as input to read the value of ButtonPin." +msgstr "Legen Sie ButtonPin als Eingabe fest, um den Wert von ButtonPin zu lesen." + +#: ../2.1.1_button.rst:205 +msgid "" +"if (digitalRead (ButtonPin) == 0: check whether the button has been " +"pressed. Execute digitalWrite(LedPin, LOW) when button is pressed to " +"light up LED." +msgstr "" +"if (digitalRead (ButtonPin) == 0: Überprüfen Sie, ob die Taste gedrückt " +"wurde. Führen Sie digitalWrite (LedPin, LOW) aus, wenn die Taste gedrückt" +" wird, um die LED zu leuchten." + +#: ../2.1.1_button.rst:210 +msgid "For Python Language Users" +msgstr "Für Python-Sprachbenutzer" + +#: ../2.1.1_button.rst:222 +msgid "**Step 3**: Run the code." +msgstr "**Schritt 3**: Führen Sie die Kode aus." + +#: ../2.1.1_button.rst:232 +msgid "" +"Now, press the button, and the LED will light up; press the button again," +" and the LED will go out. At the same time, the state of the LED will be " +"printed on the screen." +msgstr "" +"Drücken Sie nun die Taste und die LED leuchtet auf. Drücken Sie die Taste" +" erneut und die LED erlischt. Gleichzeitig wird der Status der LED auf " +"dem Bildschirm gedruckt." + +#: ../2.1.1_button.rst:240 + +msgid "" +"You can **Modify/Reset/Copy/Run/Stop** the code below. But before that, " +"you need to go to source code path like ``davinci-kit-for-raspberry-" +"pi/python``." +msgstr "" +"Sie können den folgenden Code **Ändern/Zurücksetzen/ " +"Kopieren/Ausführen/Stoppen**. Zuvor müssen Sie jedoch zu einem " +"Quellcodepfad wie ``davinci-kit-for-raspberry-pi/python`` gehen." + +#: ../2.1.1_button.rst:308 +msgid "Set GPIO17 as LED pin" +msgstr "Stellen Sie GPIO17 als LED-Pin ein" + +#: ../2.1.1_button.rst:314 +msgid "Set GPIO18 as button pin" +msgstr "Stellen Sie GPIO18 als Tasten Pin ein" + +#: ../2.1.1_button.rst:320 +msgid "" +"Set up a falling detect on BtnPin, and then when the value of BtnPin " +"changes from a high level to a low level, it means that the button is " +"pressed. The next step is calling the function, swled." +msgstr "" +"Richten Sie eine Fallerkennung für BtnPin ein. Wenn sich der Wert von " +"BtnPin von einem hohen auf einen niedrigen Wert ändert, bedeutet dies, " +"dass die Taste gedrückt wird. Der nächste Schritt ist das Aufrufen der " +"Funktion swled." + +#: ../2.1.1_button.rst:332 +msgid "" +"Define a callback function as button callback. When the button is pressed" +" at the first time,and the condition, not Led_status is false, " +"GPIO.output() function is called to light up the LED. As the button is " +"pressed once again, the state of LED will be converted from false to " +"true, thus the LED will turn off." +msgstr "" +"Definieren Sie eine Rückruffunktion als Tastenrückruf. Wenn die Taste " +"beim ersten Mal gedrückt wird und die Bedingung, nicht Led_status, falsch" +" ist, wird die Funktion GPIO.output() aufgerufen, um die LED zu " +"beleuchten. Wenn die Taste erneut gedrückt wird, wird der Status der LED " +"von falsch in wahr umgewandelt, sodass die LED erlischt." + +#: ../2.1.1_button.rst:339 +msgid "Phenomenon Picture" +msgstr "Phänomen Bild" + diff --git a/docs/source/locale/de/LC_MESSAGES/2.1.2_slide Switch.po b/docs/source/locale/de/LC_MESSAGES/2.1.2_slide Switch.po new file mode 100644 index 0000000..cc5cd73 --- /dev/null +++ b/docs/source/locale/de/LC_MESSAGES/2.1.2_slide Switch.po @@ -0,0 +1,266 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, SunFounder +# This file is distributed under the same license as the SunFounder Davinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Davinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-19 18:22+0800\n" +"PO-Revision-Date: 2021-05-31 21:39+0800\n" +"Last-Translator: \n" +"Language: de\n" +"Language-Team: \n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../2.1.2_slide Switch.rst:2 +msgid "2.1.2 Slide Switch" +msgstr "2.1.2 Schiebeschalter" + +#: ../2.1.2_slide Switch.rst:5 +msgid "Introduction" +msgstr "Einführung" + +#: ../2.1.2_slide Switch.rst:7 +msgid "" +"In this lesson, we will learn how to use a slide switch. Usually,the " +"slide switch is soldered on PCB as a power switch, but here we need to " +"insert it into the breadboard, thus it may not be tightened. And we use " +"it on the breadboard to show its function." +msgstr "" +"In dieser Lektion lernen wir, wie man einen Schiebeschalter benutzt. " +"Normalerweise wird der Schiebeschalter als Netzschalter auf die " +"Leiterplatte gelötet, aber hier müssen wir ihn in das Steckbrett " +"einsetzen, damit er möglicherweise nicht festgezogen wird. Und wir " +"verwenden es auf dem Steckbrett, um seine Funktion zu zeigen." + +#: ../2.1.2_slide Switch.rst:13 +msgid "Components" +msgstr "Komponenten" + +#: ../2.1.2_slide Switch.rst:19 +msgid "Principle" +msgstr "Prinzip" + +#: ../2.1.2_slide Switch.rst:21 +msgid "**Slide Switch**" +msgstr "**Schiebeschalter**" + +#: ../2.1.2_slide Switch.rst:26 +msgid "" +"A slide switch, just as its name implies, is to slide the switch bar to " +"connect or break the circuit, and further switch circuits. The common-" +"used types are SPDT, SPTT, DPDT, DPTT etc. The slide switch is commonly " +"used in low-voltage circuit. It has the features of flexibility and " +"stability, and applies in electric instruments and electric toys widely." +msgstr "" +"Ein Schiebeschalter dient, wie der Name schon sagt, dazu, die " +"Schaltleiste zu schieben, um den Stromkreis anzuschließen oder zu " +"unterbrechen, und weitere Schaltkreise. Die am häufigsten verwendeten " +"Typen sind SPDT, SPTT, DPDT, DPTT usw. Der Schiebeschalter wird " +"üblicherweise in Niederspannungsschaltungen verwendet. Es hat die " +"Merkmale Flexibilität und Stabilität und ist in elektrischen Instrumenten" +" und elektrischem Spielzeug weit verbreitet." + +#: ../2.1.2_slide Switch.rst:33 +msgid "" +"How it works: Set the middle pin as the fixed one. When you pull the " +"slide to the left, the two pins on the left are connected; when you pull " +"it to the right, the two pins on the right are connected. Thus, it works " +"as a switch connecting or disconnecting circuits. See the figure below:" +msgstr "" +"So funktioniert es: Stellen Sie den mittleren Pin als festen Pin ein. " +"Wenn Sie den Schieber nach links ziehen, sind die beiden Pins links " +"verbunden. Wenn Sie es nach rechts ziehen, sind die beiden Pins rechts " +"verbunden. Somit funktioniert es als Schalter, der Schaltkreise verbindet" +" oder trennt. Siehe die folgende Abbildung:" + +#: ../2.1.2_slide Switch.rst:41 +msgid "" +"The circuit symbol of the slide switch is shown as below. The pin2 in the" +" figure refers to the middle pin." +msgstr "" +"Das Schaltungssymbol des Schiebeschalters ist wie folgt dargestellt. Der " +"Pin2 in der Abbildung bezieht sich auf den mittleren Pin." + +#: ../2.1.2_slide Switch.rst:47 +msgid "**Capacitor**" +msgstr "**Kondensator**" + +#: ../2.1.2_slide Switch.rst:49 +msgid "" +"The capacitor is a component that has the capacity to store energy in the" +" form of electrical charge or to produce a potential difference (Static " +"Voltage) between its plates, much like a small rechargeable battery." +msgstr "" +"Der Kondensator ist eine Komponente, die Energie in Form von elektrischer" +" Ladung speichern oder eine Potentialdifferenz (statische Spannung) " +"zwischen ihren Platten erzeugen kann, ähnlich wie eine kleine " +"wiederaufladbare Batterie." + +#: ../2.1.2_slide Switch.rst:54 +msgid "Standard Units of Capacitance" +msgstr "Standardkapazitätseinheiten" + +#: ../2.1.2_slide Switch.rst:56 +msgid "Microfarad (μF) 1μF = 1/1,000,000 = 0.000001 = :math:`10^{- 6}` F" +msgstr "Microfarad (μF) 1μF = 1/1,000,000 = 0.000001 = F" + +#: ../2.1.2_slide Switch.rst:58 +msgid "Nanofarad (nF) 1nF = 1/1,000,000,000 = 0.000000001 = :math:`10^{- 9}`\\ F" +msgstr "Nanofarad (nF) 1nF = 1/1,000,000,000 = 0.000000001 = F" + +#: ../2.1.2_slide Switch.rst:60 +msgid "" +"Picofarad (pF) 1pF = 1/1,000,000,000,000 = 0.000000000001 = :math:`10^{- " +"12}`\\ F" +msgstr "Picofarad (pF) 1pF = 1/1,000,000,000,000 = 0.000000000001 = F" + +#: ../2.1.2_slide Switch.rst:64 +msgid "" +"Here we use **104 capacitor(10 x 10\\ 4\\ PF)**. Just like the ring of " +"resistors, the numbers on the capacitors help to read the values once " +"assembled onto the board. The first two digits represent the value and " +"the last digit of the number means the multiplier. Thus 104 represents a " +"power of 10 x 10 to 4 (in pF) equal to 100 nF." +msgstr "" +"Hier verwenden wir **104 Kondensatoren (10 x 10\\ 4\\ PF)**. Genau wie " +"beim Widerstandsring helfen die Nummer auf den Kondensatoren beim Ablesen" +" der Werte, die auf der Platine montiert wurden. Die ersten beiden " +"Ziffern stellen den Wert dar und die letzte Ziffer der Nummer bedeutet " +"den Multiplikator. Somit repräsentiert 104 eine Potenz von 10 x 10 zu 4 " +"(in pF) gleich wie 100 nF." + +#: ../2.1.2_slide Switch.rst:71 +msgid "Schematic Diagram" +msgstr "Schematische Darstellung" + +#: ../2.1.2_slide Switch.rst:73 +msgid "" +"Connect the middle pin of the Slide Switch to GPIO17, and two LEDs to pin" +" GPIO22 and GPIO27 respectively. Then when you pull the slide, you can " +"see the two LEDs light up alternately." +msgstr "" +"Verbinden Sie den mittleren Pin des Schiebeschalters mit GPIO17 und zwei " +"LEDs mit Pin GPIO22 bzw. GPIO27. Wenn Sie dann an der Folie ziehen, " +"leuchten die beiden LEDs abwechselnd auf." + +#: ../2.1.2_slide Switch.rst:84 +msgid "Experimental Procedures" +msgstr "Experimentelle Verfahren" + +#: ../2.1.2_slide Switch.rst:86 +msgid "**Step 1:** Build the circuit." +msgstr "**Schritt 1:** Bauen Sie die Schaltung auf." + +#: ../2.1.2_slide Switch.rst:94 +msgid "For C Language Users" +msgstr "Für Benutzer in C-Sprache" + +#: ../2.1.2_slide Switch.rst:96 +msgid "**Step 2**: Go to the folder of the code." +msgstr "**Schritt 2**: Gehen Sie zum Ordner der Kode." + +#: ../2.1.2_slide Switch.rst:106 +msgid "**Step 3**: Compile." +msgstr "**Schritt 3**: Kompilieren." + +#: ../2.1.2_slide Switch.rst:116 +msgid "**Step 4**: Run the executable file above." +msgstr "**Schritt 4**: Führen Sie die obige ausführbare Datei aus." + +#: ../2.1.2_slide Switch.rst:126 Switch.rst:222 +msgid "" +"While the code is running, get the switch connected to the left, then the" +" yellow LED lights up; to the right, the red light turns on." +msgstr "" +"Während der Code ausgeführt wird, schalten Sie den Schalter links ein, " +"und die gelbe LED leuchtet auf. rechts leuchtet das rote Licht auf." + +#: ../2.1.2_slide Switch.rst:131 +msgid "" +"If it does not work after running, please refer to :ref:`C code is not " +"working?`" +msgstr "" +"Wenn es nach dem Ausführen nicht funktioniert, lesen Sie bitte :ref:`C " +"code is not working?`" + +#: ../2.1.2_slide Switch.rst:133 Switch.rst:225 +msgid "**Code**" +msgstr "**Code**" + +#: ../2.1.2_slide Switch.rst:172 Switch.rst:291 +msgid "**Code Explanation**" +msgstr "**Code Erklärung**" + +#: ../2.1.2_slide Switch.rst:183 +msgid "" +"When the slide is pulled to the right, the middle pin and right one are " +"connected; the Raspberry Pi reads a high level at the middle pin, so the " +"LED1 is on and LED2 off" +msgstr "" +"Wenn der Schieber nach rechts gezogen wird, sind der mittlere und der " +"rechte Stift verbunden. Der Raspberry Pi liest einen hohen Niveau am " +"mittleren Pin, sodass die LED1 an und die LED2 aus ist" + +#: ../2.1.2_slide Switch.rst:195 +msgid "" +"When the slide is pulled to the left, the middle pin and left one are " +"connected; the Raspberry Pi reads a low, so the LED2 is on and LED1 off" +msgstr "" +"Wenn der Schieber nach links gezogen wird, sind der mittlere und der " +"linke Pins verbunden. Der Raspberry Pi zeigt einen niedrigen Wert an, " +"sodass die LED2 leuchtet und die LED1 aus ist" + +#: ../2.1.2_slide Switch.rst:200 +msgid "For Python Language Users" +msgstr "Für Python-Sprachbenutzer" + +#: ../2.1.2_slide Switch.rst:202 +msgid "**Step 2**: Get into the folder of the code." +msgstr "**Schritt 2**: Gehen Sie in den Ordner der Kode." + +#: ../2.1.2_slide Switch.rst:212 +msgid "**Step 3**: Run." +msgstr "**Schritt 3**: Ausführen." + +#: ../2.1.2_slide Switch.rst:229 + +msgid "" +"You can **Modify/Reset/Copy/Run/Stop** the code below. But before that, " +"you need to go to source code path like ``davinci-kit-for-raspberry-" +"pi/python``." +msgstr "" +"Sie können den folgenden Code **Ändern/Zurücksetzen/ " +"Kopieren/Ausführen/Stoppen**. Zuvor müssen Sie jedoch zu einem " +"Quellcodepfad wie ``davinci-kit-for-raspberry-pi/python`` gehen." + +#: ../2.1.2_slide Switch.rst:299 +msgid "" +"When the slide is pulled to the right, the middle pin and right one are " +"connected; the Raspberry Pi reads a high level at the middle pin, so the " +"LED1 is on and LED2 off." +msgstr "" +"Wenn der Schieber nach rechts gezogen wird, sind der mittlere und der " +"rechte Pins verbunden. Der Raspberry Pi liest einen hohen Niveau am " +"mittleren Pin, sodass die LED1 an und die LED2 aus ist." + +#: ../2.1.2_slide Switch.rst:309 +msgid "" +"When the slide is pulled to the left, the middle pin and left one are " +"connected; the Raspberry Pi reads a low, so the LED2 is on and LED1 off." +msgstr "" +"Wenn der Schieber nach links gezogen wird, sind der mittlere und der " +"linke Pins verbunden. Der Raspberry Pi zeigt einen niedrigen Wert an, " +"sodass die LED2 leuchtet und die LED1 aus ist." + +#: ../2.1.2_slide Switch.rst:313 +msgid "Phenomenon Picture" +msgstr "Phänomen Bild" + diff --git a/docs/source/locale/de/LC_MESSAGES/2.1.3_tilt_switch.po b/docs/source/locale/de/LC_MESSAGES/2.1.3_tilt_switch.po new file mode 100644 index 0000000..342da10 --- /dev/null +++ b/docs/source/locale/de/LC_MESSAGES/2.1.3_tilt_switch.po @@ -0,0 +1,209 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, SunFounder +# This file is distributed under the same license as the SunFounder Davinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Davinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-19 18:22+0800\n" +"PO-Revision-Date: 2021-05-31 21:41+0800\n" +"Last-Translator: \n" +"Language: de\n" +"Language-Team: \n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../2.1.3_tilt_switch.rst:2 +msgid "2.1.3 Tilt Switch" +msgstr "2.1.3 Neigungsschalter" + +#: ../2.1.3_tilt_switch.rst:5 +msgid "Introduction" +msgstr "Einführung" + +#: ../2.1.3_tilt_switch.rst:7 +msgid "" +"This is a ball tilt-switch with a metal ball inside. It is used to detect" +" inclinations of a small angle." +msgstr "" +"Dies ist ein Kugelkippschalter mit einer Metallkugel im Inneren. Es wird " +"verwendet, um Neigungen eines kleinen Winkels zu erfassen." + +#: ../2.1.3_tilt_switch.rst:11 +msgid "Components" +msgstr "Komponenten" + +#: ../2.1.3_tilt_switch.rst:17 +msgid "Principle" +msgstr "Prinzip" + +#: ../2.1.3_tilt_switch.rst:19 +msgid "**Tilt**" +msgstr "**Neigung**" + +#: ../2.1.3_tilt_switch.rst:21 +msgid "" +"The principle is very simple. When the switch is tilted in a certain " +"angle, the ball inside rolls down and touches the two contacts connected " +"to the pins outside, thus triggering circuits. Otherwise the ball will " +"stay away from the contacts, thus breaking the circuits." +msgstr "" +"Das Prinzip ist sehr einfach. Wenn der Schalter in einem bestimmten " +"Winkel gekippt wird, rollt die Kugel im Inneren nach unten und berührt " +"die beiden Kontakte, die mit den Pins außen verbunden sind, wodurch " +"Schaltkreise ausgelöst werden. Andernfalls bleibt der Ball von den " +"Kontakten fern und unterbricht so die Stromkreise." + +#: ../2.1.3_tilt_switch.rst:30 +msgid "Schematic Diagram" +msgstr "Schematische Darstellung" + +#: ../2.1.3_tilt_switch.rst:39 +msgid "Experimental Procedures" +msgstr "Experimentelle Verfahren" + +#: ../2.1.3_tilt_switch.rst:41 +msgid "**Step 1:** Build the circuit." +msgstr "**Schritt 1:** Bauen Sie die Schaltung auf." + +#: ../2.1.3_tilt_switch.rst:49 +msgid "For C Language Users" +msgstr "Für Benutzer in C-Sprache" + +#: ../2.1.3_tilt_switch.rst:51 ../2.1.3_tilt_switch.rst:199 +msgid "**Step 2:** Change directory." +msgstr "**Schritt 2:** Verzeichnis wechseln." + +#: ../2.1.3_tilt_switch.rst:61 +msgid "**Step 3:** Compile." +msgstr "**Schritt 3:** Kompilieren." + +#: ../2.1.3_tilt_switch.rst:71 +msgid "**Step 4:** Run." +msgstr "**Schritt 4:** Ausführen." + +#: ../2.1.3_tilt_switch.rst:81 + +msgid "" +"Place the tilt horizontally, and the green LED will turns on. If you tilt" +" it, \\\"Tilt!\\\" will be printed on the screen and the red LED will " +"lights on. Place it horizontally again, and the green LED will turns on " +"again." +msgstr "" +"Wenn Sie die Neigung horizontal platzieren, leuchtet die grüne LED auf. " +"Wenn Sie es kippen, \"Neigung!\" wird auf dem Bildschirm gedruckt und die" +" rote LED leuchtet auf. Stellen Sie es wieder horizontal auf und die " +"grüne LED leuchtet wieder auf." + +#: ../2.1.3_tilt_switch.rst:88 +msgid "" +"If it does not work after running, please refer to :ref:`C code is not " +"working?`" +msgstr "" +"Wenn es nach dem Ausführen nicht funktioniert, lesen Sie bitte :ref:`C " +"code is not working?`" + +#: ../2.1.3_tilt_switch.rst:90 ../2.1.3_tilt_switch.rst:223 +msgid "**Code**" +msgstr "**Code**" + +#: ../2.1.3_tilt_switch.rst:148 ../2.1.3_tilt_switch.rst:359 +msgid "**Code Explanation**" +msgstr "**Code Erklärung**" + +#: ../2.1.3_tilt_switch.rst:170 +msgid "" +"Define a function LED() to turn the two LEDs on or off. If the parameter " +"color is RED, the red LED lights up; similarly, if the parameter color is" +" GREEN, the green LED will turns on." +msgstr "" +"Definieren Sie eine Funktions-LED (), um die beiden LEDs ein- oder " +"auszuschalten. Wenn die Parameterfarbe ROT ist, leuchtet die rote LED " +"auf. Wenn die Parameterfarbe GRÜN ist, leuchtet die grüne LED ebenfalls " +"auf." + +#: ../2.1.3_tilt_switch.rst:192 + +msgid "" +"If the read value of tilt switch is 0, it means that the tilt switch is " +"tilted then you write the parameter \\\"RED\\\" into function LED to get " +"the red LED lighten up; otherwise, the green LED will lit." +msgstr "" +"Wenn der Lesewert des Neigungsschalters 0 ist, bedeutet dies, dass der " +"Neigungsschalter gekippt ist. Dann schreiben Sie den Parameter \"ROT\" in " +"die Funktions-LED, damit die rote LED aufleuchtet. Andernfalls leuchtet " +"die grüne LED." + +#: ../2.1.3_tilt_switch.rst:197 +msgid "For Python Language Users" +msgstr "Für Python-Sprachbenutzer" + +#: ../2.1.3_tilt_switch.rst:209 +msgid "**Step 3:** Run." +msgstr "**Schritt 3:** Ausführen." + +#: ../2.1.3_tilt_switch.rst:219 + +msgid "" +"Place the tilt horizontally, and the green LED will turns on. If you tilt" +" it, \\\"Tilt!\\\" will be printed on the screen and the red LED will " +"turns on. Place it horizontally again, and the green LED will lights on." +msgstr "" +"Wenn Sie die Neigung horizontal platzieren, leuchtet die grüne LED auf. " +"Wenn Sie es kippen, \"Neigung!\" wird auf dem Bildschirm gedruckt und die " +"rote LED leuchtet auf. Stellen Sie es wieder horizontal auf und die grüne" +" LED leuchtet auf." + +#: ../2.1.3_tilt_switch.rst:227 + +msgid "" +"You can **Modify/Reset/Copy/Run/Stop** the code below. But before that, " +"you need to go to source code path like ``davinci-kit-for-raspberry-" +"pi/python``." +msgstr "" +"Sie können den folgenden Code **Ändern/Zurücksetzen/ " +"Kopieren/Ausführen/Stoppen**. Zuvor müssen Sie jedoch zu einem " +"Quellcodepfad wie ``davinci-kit-for-raspberry-pi/python`` gehen." + +#: ../2.1.3_tilt_switch.rst:365 +msgid "Set up a detect on TiltPin, and callback function to detect." +msgstr "" +"Richten Sie eine Erkennung auf TiltPin und eine Rückruffunktion zur " +"Erkennung ein." + +#: ../2.1.3_tilt_switch.rst:377 +msgid "" +"Define a function Led() to turn the two LEDs on or off. If x=0, the red " +"LED lights up; otherwise, the green LED will be lit." +msgstr "" +"Definieren Sie eine Funktion Led(), um die beiden LEDs ein- oder " +"auszuschalten. Wenn x = 0 ist, leuchtet die rote LED auf. Andernfalls " +"leuchtet die grüne LED." + +#: ../2.1.3_tilt_switch.rst:388 +msgid "Create a function, Print() to print the characters above on the screen." +msgstr "" +"Erstellen Sie eine Funktion, Print(), um die obigen Zeichen auf dem " +"Bildschirm zu drucken." + +#: ../2.1.3_tilt_switch.rst:396 +msgid "" +"Define a callback function for tilt callback. Get the read value of the " +"tilt switch then the function Led() controls the turning on or off of the" +" two LEDs that is depended on the read value of the tilt switch." +msgstr "" +"Definieren Sie eine Rückruffunktion für den Neigungsrückruf. Holen Sie " +"sich den Lesewert des Neigungsschalters, dann steuert die Funktion LED() " +"das Ein- oder Ausschalten der beiden LEDs, abhängig vom Lesewert des " +"Neigungsschalters." + +#: ../2.1.3_tilt_switch.rst:401 +msgid "Phenomenon Picture" +msgstr "Phänomen Bild" + diff --git a/docs/source/locale/de/LC_MESSAGES/2.1.4_potentiometer.po b/docs/source/locale/de/LC_MESSAGES/2.1.4_potentiometer.po new file mode 100644 index 0000000..5c2d4d9 --- /dev/null +++ b/docs/source/locale/de/LC_MESSAGES/2.1.4_potentiometer.po @@ -0,0 +1,459 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, SunFounder +# This file is distributed under the same license as the SunFounder Davinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Davinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-19 18:22+0800\n" +"PO-Revision-Date: 2021-05-31 21:45+0800\n" +"Last-Translator: \n" +"Language: de\n" +"Language-Team: \n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../2.1.4_potentiometer.rst:2 +msgid "2.1.4 Potentiometer" +msgstr "2.1.4 Potentiometer" + +#: ../2.1.4_potentiometer.rst:5 +msgid "Introduction" +msgstr "Einführung" + +#: ../2.1.4_potentiometer.rst:7 +msgid "" +"The ADC function can be used to convert analog signals to digital " +"signals, and in this experiment, ADC0834 is used to get the function " +"involving ADC. Here, we implement this process by using potentiometer. " +"Potentiometer changes the physical quantity -- voltage, which is " +"converted by the ADC function." +msgstr "" +"Die ADC-Funktion kann verwendet werden, um analoge Signale in digitale " +"Signale umzuwandeln, und in diesem Experiment wird ADC0834 verwendet, um " +"die Funktion zu erhalten, an der ADC beteiligt ist. Hier implementieren " +"wir diesen Prozess mithilfe eines Potentiometers. Das Potentiometer " +"ändert die physikalische Größe - Spannung, die von der ADC-Funktion " +"umgewandelt wird." + +#: ../2.1.4_potentiometer.rst:14 +msgid "Components" +msgstr "Komponenten" + +#: ../2.1.4_potentiometer.rst:20 +msgid "Principle" +msgstr "Prinzip" + +#: ../2.1.4_potentiometer.rst:22 +msgid "**ADC0834**" +msgstr "**ADC0834**" + +#: ../2.1.4_potentiometer.rst:24 +msgid "" +"ADC0834 is an 8-bit `successive approximation " +"`__ analog-to-digital converter that" +" is equipped with an input-configurable multichannel multi-plexer and " +"serial input/output. The serial input/output is configured to interface " +"with standard shift registers or microprocessors." +msgstr "" +"ADC0834 ist ein 8-Bit-der mit einem eingangskonfigurierbaren Mehrkanal-" +"Multiplexer und einem seriellen Ein- / Ausgang ausgestattet ist. Der " +"serielle Ein- / Ausgang ist für die Schnittstelle mit " +"Standardschieberegistern oder Mikroprozessoren konfiguriert." + +#: ../2.1.4_potentiometer.rst:34 +msgid "**Sequence of Operation**" +msgstr "**Betriebsablauf**" + +#: ../2.1.4_potentiometer.rst:36 +msgid "" +"A conversion is initiated by setting CS low, which enables all logic " +"circuits. CS must be held low for the complete conversion process. A " +"clock input is then received from the processor. On each low-to-high " +"transition of the clock input, the data on DI is clocked into the " +"multiplexer address shift register. The first logic high on the input is " +"the start bit. A 3- to 4-bit assignment word follows the start bit. On " +"each successive low-to-high transition of the clock input, the start bit " +"and assignment word are shifted through the shift register. When the " +"start bit is shifted into the start location of the multiplexer register," +" the input channel is selected and conversion starts. The SAR Statu " +"output (SARS) goes high to indicate that a conversion is in progress, and" +" DI to the multiplexer shift register is disabled the duration of the " +"conversion." +msgstr "" +"Eine Konvertierung wird eingeleitet, indem CS auf niedrig gesetzt wird, " +"wodurch alle Logikschaltungen aktiviert werden. CS muss für den gesamten " +"Konvertierungsprozess niedrig gehalten werden. Ein Takteingang wird dann " +"vom Prozessor empfangen. Bei jedem Übergang von niedrig nach hoch des " +"Takteingangs werden die Daten auf DI in das Multiplexer-" +"Adressschieberegister getaktet. Die erste Logik hoch am Eingang ist das " +"Startbit. Auf das Startbit folgt ein 3- bis 4-Bit-Zuweisungswort. Bei " +"jedem aufeinanderfolgenden Übergang von niedrig nach hoch des " +"Takteingangs werden das Startbit und das Zuweisungswort durch das " +"Schieberegister verschoben. Wenn das Startbit in den Startort des " +"Multiplexerregisters verschoben wird, wird der Eingangskanal ausgewählt " +"und die Umwandlung beginnt. Der SAR-Statu-Ausgang (SARS) geht auf High, " +"um anzuzeigen, dass eine Konvertierung läuft, und DI in das Multiplexer-" +"Schieberegister ist während der Konvertierungsdauer deaktiviert." + +#: ../2.1.4_potentiometer.rst:50 +msgid "" +"An interval of one clock period is automatically inserted to allow the " +"selected multiplexed channel to settle. The data output DO comes out of " +"the high-impedance state and provides a leading low for this one clock " +"period of multiplexer settling time. The SAR comparator compares " +"successive outputs from the resistive ladder with the incoming analog " +"signal. The comparator output indicates whether the analog input is " +"greater than or less than the resistive ladder output. As the conversion " +"proceeds, conversion data is simultaneously output from the DO output " +"pin, with the most significant bit (MSB) first." +msgstr "" +"Ein Intervall von einer Taktperiode wird automatisch eingefügt, damit " +"sich der ausgewählte Multiplexkanal einstellen kann. Der Datenausgang DO " +"kommt aus dem hochohmigen Zustand heraus und liefert ein führendes Tief " +"für diese Eintaktperiode der Multiplexer-Einschwingzeit. Der SAR-" +"Komparator vergleicht aufeinanderfolgende Ausgänge von der " +"Widerstandsleiter mit dem eingehenden analogen Signal. Der " +"Komparatorausgang zeigt an, ob der Analogeingang größer oder kleiner als " +"der Widerstandsleiterausgang ist. Während der Konvertierung werden die " +"Konvertierungsdaten gleichzeitig vom DO-Ausgangspin ausgegeben, wobei das" +" höchstwertige Bit (MSB) zuerst angezeigt wird." + +#: ../2.1.4_potentiometer.rst:60 +msgid "" +"After eight clock periods, the conversion is complete and the SARS output" +" goes low. Finally outputs the least-significant-bit-first data after the" +" MSB-first data stream." +msgstr "" +"Nach acht Taktperioden ist die Konvertierung abgeschlossen und der SARS-" +"Ausgang wird niedrig. Schließlich werden die niedrigstwertigen Bit-First-" +"Daten nach dem MSB-First-Datenstrom ausgegeben." + +#: ../2.1.4_potentiometer.rst:69 +msgid "**ADC0834 MUX ADDRESS CONTROL LOGIC TABLE**" +msgstr "**ADC0834 MUX ADDRESS CONTROL LOGIC TABLE**" + +#: ../2.1.4_potentiometer.rst:76 +msgid "**Potentiometer**" +msgstr "**Potentiometer**" + +#: ../2.1.4_potentiometer.rst:79 +msgid "" +"Potentiometer is also a resistance component with 3 terminals and its " +"resistance value can be adjusted according to some regular variation. " +"Potentiometer usually consists of resistor and movable brush. When the " +"brush is moving along the resistor, there is a certain resistance or " +"voltage output depending on the displacement." +msgstr "" +"Das Potentiometer ist auch eine Widerstandskomponente mit 3 Anschlüssen " +"und sein Widerstandswert kann gemäß einigen regelmäßigen Abweichungen " +"eingestellt werden. Das Potentiometer besteht normalerweise aus einem " +"Widerstand und einer beweglichen Bürste. Wenn sich die Bürste entlang des" +" Widerstands bewegt, gibt es abhängig von der Verschiebung einen " +"bestimmten Widerstand oder eine bestimmte Spannung." + +#: ../2.1.4_potentiometer.rst:90 +msgid "The functions of the potentiometer in the circuit are as follows:" +msgstr "Die Funktionen des Potentiometers in der Schaltung sind wie folgt:" + +#: ../2.1.4_potentiometer.rst:92 +msgid "Serving as a voltage divider" +msgstr "Dient als Spannungsteiler" + +#: ../2.1.4_potentiometer.rst:94 +msgid "" +"Potentiometer is a continuously adjustable resistor. When you adjust the " +"shaft or sliding handle of the potentiometer, the movable contact will " +"slide on the resistor. At this point, a voltage can be output depending " +"on the voltage applied onto the potentiometer and the angle the movable " +"arm has rotated to or the distance it moves." +msgstr "" +"Das Potentiometer ist ein stufenlos einstellbarer Widerstand. Wenn Sie " +"die Welle oder den Schiebegriff des Potentiometers einstellen, gleitet " +"der bewegliche Kontakt auf dem Widerstand. Zu diesem Zeitpunkt kann eine " +"Spannung ausgegeben werden, die von der an das Potentiometer angelegten " +"Spannung und dem Winkel abhängt, in den sich der bewegliche Arm gedreht " +"hat, oder von der Entfernung, um die er sich bewegt." + +#: ../2.1.4_potentiometer.rst:101 +msgid "Schematic Diagram" +msgstr "Schematische Darstellung" + +#: ../2.1.4_potentiometer.rst:110 +msgid "Experimental Procedures" +msgstr "Experimentelle Verfahren" + +#: ../2.1.4_potentiometer.rst:112 +msgid "**Step 1:** Build the circuit." +msgstr "**Schritt 1:** Bauen Sie die Schaltung auf." + +#: ../2.1.4_potentiometer.rst:120 +msgid "" +"Please place the chip by referring to the corresponding position depicted" +" in the picture. Note that the grooves on the chip should be on the left " +"when it is placed." +msgstr "" +"Bitte platzieren Sie den Chip unter Bezugnahme auf die entsprechende " +"Position auf dem Bild. Beachten Sie, dass sich die Rillen auf dem Chip " +"beim Platzieren links befinden sollten." + +#: ../2.1.4_potentiometer.rst:125 +msgid "For C Language Users" +msgstr "Für Benutzer in C-Sprache" + +#: ../2.1.4_potentiometer.rst:127 +msgid "**Step 2:** Open the code file." +msgstr "**Schritt 2:** Öffnen Sie die Kodedatei." + +#: ../2.1.4_potentiometer.rst:137 +msgid "**Step 3:** Compile the code." +msgstr "**Schritt 3:** Kompilieren Sie die Kode." + +#: ../2.1.4_potentiometer.rst:147 +msgid "**Step 4:** Run." +msgstr "**Schritt 4:** Ausführen." + +#: ../2.1.4_potentiometer.rst:157 ../2.1.4_potentiometer.rst:473 +msgid "" +"After the code runs, rotate the knob on the potentiometer, the intensity " +"of LED will change accordingly." +msgstr "" +"Nachdem der Kode ausgeführt wurde, drehen Sie die Taste am Potentiometer." +" Die Intensität der LED ändert sich entsprechend." + +#: ../2.1.4_potentiometer.rst:162 +msgid "" +"If it does not work after running, please refer to :ref:`C code is not " +"working?`" +msgstr "" +"Wenn es nach dem Ausführen nicht funktioniert, lesen Sie bitte :ref:`C " +"code is not working?`" + +#: ../2.1.4_potentiometer.rst:164 ../2.1.4_potentiometer.rst:476 +msgid "**Code**" +msgstr "**Code**" + +#: ../2.1.4_potentiometer.rst:252 ../2.1.4_potentiometer.rst:524 +msgid "**Code Explanation**" +msgstr "**Code Erklärung**" + +#: ../2.1.4_potentiometer.rst:261 +msgid "" +"Define CS, CLK, DIO of ADC0834, and connect them to GPIO0, GPIO1 and " +"GPIO2 respectively. Then attach LED to GPIO3." +msgstr "" +"Definieren Sie CS, CLK, DIO von ADC0834 und verbinden Sie sie mit GPIO0, " +"GPIO1 bzw. GPIO2. Schließen Sie dann die LED an GPIO3 an." + +#: ../2.1.4_potentiometer.rst:316 +msgid "" +"There is a function of ADC0834 to get Analog to Digital Conversion. The " +"specific workflow is as follows:" +msgstr "" +"Es gibt eine Funktion von ADC0834, um die Analog-Digital-Wandlung zu " +"erhalten. Der spezifische Workflow lautet wie folgt:" + +#: ../2.1.4_potentiometer.rst:323 +msgid "Set CS to low level and start enabling AD conversion." +msgstr "" +"Stellen Sie CS auf einen niedrigen Wert ein und aktivieren Sie die AD-" +"Konvertierung." + +#: ../2.1.4_potentiometer.rst:332 +msgid "" +"When the low-to-high transition of the clock input occurs at the first " +"time, set DIO to 1 as Start bit. In the following three steps, there are " +"3 assignment words." +msgstr "" +"Wenn der Übergang von niedrig zu hoch des Takteingangs zum ersten Mal " +"auftritt, setzen Sie DIO als Startbit auf 1. In den folgenden drei " +"Schritten gibt es 3 Zuweisungswörter." + +#: ../2.1.4_potentiometer.rst:343 +msgid "" +"As soon as the low-to-high transition of the clock input occurs for the " +"second time, set DIO to 1 and choose SGL mode." +msgstr "" +"Sobald der von niedrig zu hoch Übergang des Takteingangs zum zweiten Mal " +"erfolgt, setzen Sie DIO auf 1 und wählen Sie den SGL-Modus." + +#: ../2.1.4_potentiometer.rst:353 +msgid "" +"Once occurs for the third time, the value of DIO is controlled by the " +"variable **odd**." +msgstr "" +"Einmal zum dritten Mal auftritt, wird der Wert von DIO durch die Variable" +" **ungerade** gesteuert." + +#: ../2.1.4_potentiometer.rst:363 +msgid "" +"The pulse of CLK converted from low level to high level for the forth " +"time, the value of DIO is controlled by the variable **sel**." +msgstr "" +"Wenn der Impuls von CLK zum vierten Mal von einem niedrigen auf einen " +"hohen Niveau umgewandelt wird, wird der Wert von DIO durch die Variable " +"**sel** gesteuert." + +#: ../2.1.4_potentiometer.rst:366 +msgid "" +"Under the condition that channel=0, sel=0, odd=0, the operational " +"formulas concerning **sel** and **odd** are as follows:" +msgstr "" +"Unter der Bedingung, dass Kanal = 0, sel = 0, ungerade = 0 ist, lauten " +"die Betriebsformeln bezüglich **sel** und **ungerade** wie folgt:" + +#: ../2.1.4_potentiometer.rst:374 +msgid "" +"When the condition that channel=1, sel=0, odd=1 is met, please refer to " +"the following address control logic table. Here CH1 is chosen, and the " +"start bit is shifted into the start location of the multiplexer register " +"and conversion starts." +msgstr "" +"Wenn die Bedingung erfüllt ist, dass Kanal = 1, sel = 0, ungerade = 1 " +"ist, lesen Sie bitte die folgende Adresssteuerungslogiktabelle. Hier wird" +" CH1 gewählt und das Startbit wird in den Startort des " +"Multiplexerregisters verschoben und die Umwandlung beginnt." + +#: ../2.1.4_potentiometer.rst:388 +msgid "Here, set DIO to 1 twice, please ignore it." +msgstr "Hier setzen Sie DIO zweimal auf 1, bitte ignorieren Sie es." + +#: ../2.1.4_potentiometer.rst:401 +msgid "" +"In the first for() statement, as soon as the fifth pulse of CLK is " +"converted from high level to low level, set DIO to input mode. Then the " +"conversion starts and the converted value is stored in the variable dat1." +" After eight clock periods, the conversion is complete." +msgstr "" +"Stellen Sie in der ersten for() - Anweisung DIO in den Eingangsmodus, " +"sobald der fünfte Impuls von CLK von einem hohen Niveau in einen " +"niedrigen Niveau umgewandelt wurde. Dann beginnt die Konvertierung und " +"der konvertierte Wert wird in der Variablen dat1 gespeichert. Nach acht " +"Taktperioden ist die Konvertierung abgeschlossen." + +#: ../2.1.4_potentiometer.rst:415 +msgid "" +"In the second for() statement, output the converted values via DO after " +"other eight clock periods and store them in the variable dat2." +msgstr "" +"Geben Sie in der zweiten for() - Anweisung die konvertierten Werte nach " +"weiteren acht Taktperioden über DO aus und speichern Sie sie in der " +"Variablen dat2." + +#: ../2.1.4_potentiometer.rst:424 +msgid "" +"return(dat1==dat2) ? dat1 : 0 is used to compare the value gotten during " +"the conversion and the output value. If they are equal to each other, " +"output the converting value dat1; otherwise, output 0. Here, the workflow" +" of ADC0834 is complete." +msgstr "" +"return(dat1==dat2) ? dat1 : 0 wird verwendet, um den während der " +"Konvertierung erhaltenen Wert mit dem Ausgabewert zu vergleichen. Wenn " +"sie gleich sind, geben Sie den Konvertierungswert dat1 aus. Andernfalls " +"wird 0 ausgegeben. Hier ist der Workflow von ADC0834 abgeschlossen." + +#: ../2.1.4_potentiometer.rst:433 +msgid "" +"The function is to use software to create a PWM pin, LedPin, then the " +"initial pulse width is set to 0, and the period of PWM is 100 x 100us." +msgstr "" +"Die Funktion besteht darin, mithilfe von Software einen PWM-Pin, LedPin, " +"zu erstellen, dann die anfängliche Impulsbreite auf 0 zu setzen und die " +"PWM-Periode 100 x 100us zu betragen." + +#: ../2.1.4_potentiometer.rst:445 +msgid "" +"In the main program, read the value of channel 0 that has been connected " +"with a potentiometer. And store the value in the variable analogVal then " +"write it in LedPin. Now you can see the brightness of LED changing with " +"the value of the potentiometer." +msgstr "" +"Lesen Sie im Hauptprogramm den Wert von Kanal 0 ab, der mit einem " +"Potentiometer verbunden wurde. Speichern Sie den Wert in der Variablen " +"analogVal und schreiben Sie ihn in LedPin. Jetzt können Sie sehen, wie " +"sich die Helligkeit der LED mit dem Wert des Potentiometers ändert." + +#: ../2.1.4_potentiometer.rst:451 +msgid "For Python Users" +msgstr "Für Python-Benutzer" + +#: ../2.1.4_potentiometer.rst:453 +msgid "**Step 2:** Open the code file" +msgstr "**Schritt 2:** Öffnen Sie die Kodedatei" + +#: ../2.1.4_potentiometer.rst:463 +msgid "**Step 3:** Run." +msgstr "**Schritt 3:** Ausführen." + +#: ../2.1.4_potentiometer.rst:480 + +msgid "" +"You can **Modify/Reset/Copy/Run/Stop** the code below. But before that, " +"you need to go to source code path like ``davinci-kit-for-raspberry-" +"pi/python``." +msgstr "" +"Sie können den folgenden Code **Ändern/Zurücksetzen/ " +"Kopieren/Ausführen/Stoppen**. Zuvor müssen Sie jedoch zu einem " +"Quellcodepfad wie ``davinci-kit-for-raspberry-pi/python`` gehen." + +#: ../2.1.4_potentiometer.rst:530 +msgid "" +"import ADC0834 library. You can check the content of the library by " +"calling the command nano ADC0834.py." +msgstr "" +"Importieren ADC0834-Bibliothek Sie können den Inhalt der Bibliothek " +"überprüfen, indem Sie den Befehl nano ADC0834.py aufrufen." + +#: ../2.1.4_potentiometer.rst:548 +msgid "" +"In setup(), define the naming method as BCM, set LedPin as PWM channel " +"and render it a frequency of 2Khz." +msgstr "" +"Definieren Sie in setup() die Benennungsmethode als BCM, legen Sie LedPin" +" als PWM-Kanal fest und rendern Sie eine Frequenz von 2Khz." + +#: ../2.1.4_potentiometer.rst:551 +msgid "" +"**ADC0834.setup():** Initialize ADC0834, and connect the defined CS, CLK," +" DIO of ADC0834 to GPIO17, GPIO18 and GPIO27 respectively." +msgstr "" +"**ADC0834.setup():** Initialisieren Sie ADC0834 und verbinden Sie das " +"definierte CS, CLK, DIO von ADC0834 mit GPIO17, GPIO18 bzw. GPIO27." + +#: ../2.1.4_potentiometer.rst:564 +msgid "" +"The function getResult() is used to read the analog values of the four " +"channels of ADC0834. By default, the function reads the value of CH0, and" +" if you want to read other channels, please input the channel number in " +"**( )**, ex. getResult(1)." +msgstr "" +"Mit der Funktion getResult () werden die Analogwerte der vier Kanäle von " +"ADC0834 gelesen. Standardmäßig liest die Funktion den Wert von CH0. Wenn " +"Sie andere Kanäle lesen möchten, geben Sie bitte die Kanalnummer in **( " +")** ein, z. getResult(1)." + +#: ../2.1.4_potentiometer.rst:569 +msgid "" +"The function loop() first reads the value of CH0, then assign the value " +"to the variable res. After that, call the function MAP to map the read " +"value of potentiometer to 0~100. This step is used to control the duty " +"cycle of LedPin. Now, you may see that the brightness of LED is changing " +"with the value of potentiometer." +msgstr "" +"Die Funktion loop() liest zuerst den Wert von CH0 und weist ihn dann der " +"Variablen res zu. Rufen Sie danach die Funktion MAP auf, um den Lesewert " +"des Potentiometers auf 0 ~ 100 abzubilden. Dieser Schritt wird verwendet," +" um den Arbeitszyklus von LedPin zu steuern. Jetzt können Sie sehen, dass" +" sich die Helligkeit der LED mit dem Wert des Potentiometers ändert." + +#: ../2.1.4_potentiometer.rst:577 +msgid "Phenomenon Picture" +msgstr "Phänomen Bild" + diff --git a/docs/source/locale/de/LC_MESSAGES/2.1.5_keypad.po b/docs/source/locale/de/LC_MESSAGES/2.1.5_keypad.po new file mode 100644 index 0000000..322ad13 --- /dev/null +++ b/docs/source/locale/de/LC_MESSAGES/2.1.5_keypad.po @@ -0,0 +1,357 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, SunFounder +# This file is distributed under the same license as the SunFounder Davinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Davinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-19 18:22+0800\n" +"PO-Revision-Date: 2021-05-31 21:49+0800\n" +"Last-Translator: \n" +"Language: de\n" +"Language-Team: \n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../2.1.5_keypad.rst:2 +msgid "2.1.5 Keypad" +msgstr "2.1.5 Tastatur" + +#: ../2.1.5_keypad.rst:5 +msgid "Introduction" +msgstr "Einführung" + +#: ../2.1.5_keypad.rst:7 +msgid "" +"A keypad is a rectangular array of buttons. In this project, We will use " +"it input characters." +msgstr "" +"Eine Tastatur ist eine rechteckige Anordnung von Schaltflächen. In diesem" +" Projekt werden wir Eingabezeichen verwenden." + +#: ../2.1.5_keypad.rst:11 +msgid "Components" +msgstr "Komponenten" + +#: ../2.1.5_keypad.rst:17 +msgid "Principle" +msgstr "Prinzip" + +#: ../2.1.5_keypad.rst:19 +msgid "**Keypad**" +msgstr "**Tastenfeld**" + +#: ../2.1.5_keypad.rst:21 +msgid "" +"A keypad is a rectangular array of 12 or 16 OFF-(ON) buttons. Their " +"contacts are accessed via a header suitable for connection with a ribbon " +"cable or insertion into a printed circuit board. In some keypads, each " +"button connects with a separate contact in the header, while all the " +"buttons share a common ground." +msgstr "" +"Eine Tastatur ist eine rechteckige Anordnung von 12 oder 16 AUS- (EIN) " +"Tasten. Der Zugriff auf ihre Kontakte erfolgt über einen Header, der zum " +"Anschluss mit einem Flachbandkabel oder zum Einsetzen in eine " +"Leiterplatte geeignet ist. Bei einigen Tastaturen ist jede Taste mit " +"einem separaten Kontakt in der Kopfzeile verbunden, während alle Tasten " +"eine gemeinsame Masse haben." + +#: ../2.1.5_keypad.rst:30 +msgid "" +"More often, the buttons are matrix encoded, meaning that each of them " +"bridges a unique pair of conductors in a matrix. This configuration is " +"suitable for polling by a microcontroller, which can be programmed to " +"send an output pulse to each of the four horizontal wires in turn. During" +" each pulse, it checks the remaining four vertical wires in sequence, to " +"determine which one, if any, is carrying a signal. Pullup or pulldown " +"resistors should be added to the input wires to prevent the inputs of the" +" microcontroller from behaving unpredictably when no signal is present." +msgstr "" +"Häufiger sind die Tasten Matrix kodiert, was bedeutet, dass jede von " +"ihnen ein eindeutiges Leiterpaar in einer Matrix überbrückt. Diese " +"Konfiguration eignet sich zum Abfragen durch einen Mikrocontroller, der " +"so programmiert werden kann, dass er nacheinander einen Ausgangsimpuls an" +" jeden der vier horizontalen Drähte sendet. Während jedes Impulses werden" +" die verbleibenden vier vertikalen Drähte nacheinander überprüft, um " +"festzustellen, welcher, falls vorhanden, ein Signal führt. Pullup- oder " +"Pulldown-Widerstände sollten zu den Eingangsleitungen hinzugefügt werden," +" um zu verhindern, dass sich die Eingänge des Mikrocontrollers " +"unvorhersehbar verhalten, wenn kein Signal vorhanden ist." + +#: ../2.1.5_keypad.rst:41 +msgid "Schematic Diagram" +msgstr "Schematische Darstellung" + +#: ../2.1.5_keypad.rst:50 +msgid "Experimental Procedures" +msgstr "Experimentelle Verfahren" + +#: ../2.1.5_keypad.rst:52 +msgid "**Step 1:** Build the circuit." +msgstr "**Schritt 1:** Bauen Sie die Schaltung auf." + +#: ../2.1.5_keypad.rst:60 +msgid "For C Language Users" +msgstr "Für Benutzer in C-Sprache" + +#: ../2.1.5_keypad.rst:62 ../2.1.5_keypad.rst:348 +msgid "**Step 2:** Open the code file." +msgstr "**Schritt 2:** Öffnen Sie die Kodedatei." + +#: ../2.1.5_keypad.rst:72 +msgid "**Step 3:** Compile the code." +msgstr "**Schritt 3:** Kompilieren Sie die Kode." + +#: ../2.1.5_keypad.rst:82 +msgid "**Step 4:** Run." +msgstr "**Schritt 4:** Ausführen." + +#: ../2.1.5_keypad.rst:92 ../2.1.5_keypad.rst:368 +msgid "" +"After the code runs, the values of pressed buttons on keypad (button " +"Value) will be printed on the screen." +msgstr "" +"Nachdem die Kode ausgeführt wurde, werden die Werte der gedrückten Tasten" +" auf der Tastatur (Tastenwert) auf dem Bildschirm gedruckt." + +#: ../2.1.5_keypad.rst:97 +msgid "" +"If it does not work after running, please refer to :ref:`C code is not " +"working?`" +msgstr "" +"Wenn es nach dem Ausführen nicht funktioniert, lesen Sie bitte :ref:`C " +"code is not working?`" + +#: ../2.1.5_keypad.rst:99 ../2.1.5_keypad.rst:373 +msgid "**Code**" +msgstr "**Code**" + +#: ../2.1.5_keypad.rst:214 ../2.1.5_keypad.rst:442 +msgid "**Code Explanation**" +msgstr "**Code Erklärung**" + +#: ../2.1.5_keypad.rst:227 ../2.1.5_keypad.rst:457 +msgid "" +"Declare each key of the matrix keyboard to the array keys[] and define " +"the pins on each row and column." +msgstr "" +"Deklarieren Sie jede Taste der Matrixtastatur zu den Array- keys[] und " +"definieren Sie die Pins für jede Zeile und Spalte." + +#: ../2.1.5_keypad.rst:242 ../2.1.5_keypad.rst:470 +msgid "" +"This is the part of the main function that reads and prints the button " +"value." +msgstr "Dies ist der Teil der Hauptfunktion, der den Tastenwert liest und druckt." + +#: ../2.1.5_keypad.rst:245 ../2.1.5_keypad.rst:473 +msgid "The function keyRead() will read the state of every button." +msgstr "Die Funktion keys[] liest den Status jeder Taste." + +#: ../2.1.5_keypad.rst:247 +msgid "" +"KeyCompare() and keyCopy() are used to judge whether the state of a " +"button has changed (that is, a button has been pressed or released)." +msgstr "" +"Mit KeyCompare() und keyCopy () wird beurteilt, ob sich der Status einer " +"Schaltfläche geändert hat (dh eine Schaltfläche wurde gedrückt oder " +"losgelassen)." + +#: ../2.1.5_keypad.rst:250 +msgid "" +"keyPrint() will print the button value of the button whose current level " +"is high level (the button is pressed)." +msgstr "" +"keyPrint() druckt den Tastenwert der Taste, deren aktueller Niveau hoch " +"ist (die Taste wird gedrückt)." + +#: ../2.1.5_keypad.rst:273 +msgid "" +"This function assigns a high level to each row in turn, and when the key " +"in the column is pressed, the column in which the key is located gets a " +"high level. After the two-layer loop judgment, the key state compilation " +"will generate an array (reasult[])." +msgstr "" +"Diese Funktion weist jeder Zeile nacheinander eine hohe Ebene zu, und " +"wenn die Taste in der Spalte gedrückt wird, erhält die Spalte, in der " +"sich die Taste befindet, eine hohe Ebene. Nach der zweischichtigen " +"Schleifenbeurteilung generiert die Schlüsselzustandskompilierung ein " +"Array (reasult[])." + +#: ../2.1.5_keypad.rst:278 +msgid "When pressing button 3:" +msgstr "Beim Drücken von Taste 3:" + +#: ../2.1.5_keypad.rst:283 +msgid "" +"RowPin [0] writes in the high level, and colPin[2] gets the high level. " +"ColPin [0], colPin[1], colPin[3] get the low level." +msgstr "" +"RowPin [0] schreibt auf der hohen Ebene und colPin[2] erhält die hohe " +"Ebene. ColPin [0], colPin[1], colPin[3] erhalten den niedrigen Wert." + +#: ../2.1.5_keypad.rst:286 +msgid "" +"This gives us 0,0,1,0. When rowPin[1], rowPin[2] and rowPin[3] are " +"written in high level, colPin[0]~colPin[4] will get low level." +msgstr "" +"Dies gibt uns 0,0,1,0. Wenn rowPin[1], rowPi [2] und rowPin[3] auf hoher " +"Ebene geschrieben werden, wird colPin[0] ~ colPin[4] auf niedriger Ebene." + +#: ../2.1.5_keypad.rst:289 +msgid "After the loop judgment is completed, an array will be generated:" +msgstr "Nach Abschluss der Schleifenbeurteilung wird ein Array generiert:" + +#: ../2.1.5_keypad.rst:317 + +msgid "" +"These two functions are used to judge whether the key state has changed, " +"for example when you release your hand when pressing \\'3\\' or pressing " +"\\'2\\', keyCompare() returns false." +msgstr "" +"Diese beiden Funktionen werden verwendet, um zu beurteilen, ob sich der " +"Tastenstatus geändert hat. Wenn Sie beispielsweise Ihre Hand loslassen, " +"wenn Sie \'3\' oder \'2\' drücken, gibt keyCompare () false zurück." + +#: ../2.1.5_keypad.rst:321 +msgid "" +"KeyCopy() is used to re-write the current button value for the a array " +"(last_key_pressed[BUTTON_NUM]) after each comparison. So we can compare " +"them next time." +msgstr "" +"Mit KeyCopy() wird der aktuelle Schaltflächenwert für ein Array " +"(last_key_pressed[BUTTON_NUM]) nach jedem Vergleich neu geschrieben. So " +"können wir sie beim nächsten Mal vergleichen." + +#: ../2.1.5_keypad.rst:340 + +msgid "" +"This function is used to print the value of the button currently pressed." +" If the button \\'1\\' is pressed, the \\'1\\' will be printed. If the " +"button \\'1\\' is pressed and the button \\'3\\' is pressed, the \\'1, " +"3\\' will be printed." +msgstr "" +"Mit dieser Funktion wird der Wert der aktuell gedrückten Taste gedruckt. " +"Wenn die Taste \'1\' gedrückt wird, wird die \'1\' gedruckt. Wenn die Taste " +"\'1\' gedrückt wird und die Taste \'3\' gedrückt wird, wird die \'1, 3\' " +"gedruckt." + +#: ../2.1.5_keypad.rst:346 +msgid "For Python Language Users" +msgstr "Für Python-Sprachbenutzer" + +#: ../2.1.5_keypad.rst:358 +msgid "**Step 3:** Run." +msgstr "**Schritt 3:** Ausführen." + +#: ../2.1.5_keypad.rst:377 + +msgid "" +"You can **Modify/Reset/Copy/Run/Stop** the code below. But before that, " +"you need to go to source code path like ``davinci-kit-for-raspberry-" +"pi/python``." +msgstr "" +"Sie können den folgenden Code **Ändern/Zurücksetzen/ " +"Kopieren/Ausführen/Stoppen**. Zuvor müssen Sie jedoch zu einem " +"Quellcodepfad wie ``davinci-kit-for-raspberry-pi/python`` gehen." + +#: ../2.1.5_keypad.rst:475 +msgid "" +"The statement if len(pressed_keys) != 0 and last_key_pressed != " +"pressed_keys is used to judge" +msgstr "" +"Die Anweisung if len(pressed_keys) != 0 und last_key_pressed != " +"pressed_keys wird zur Beurteilung verwendet" + +#: ../2.1.5_keypad.rst:478 + +msgid "" +"whether a key is pressed and the state of the pressed button. (If you " +"press \\'3\\' when you press \\'1\\', the judgement is tenable.)" +msgstr "" +"ob eine Taste gedrückt wird und der Status der gedrückten Taste. (Wenn " +"Sie \'3\' drücken, während Sie \'1\' drücken, ist das Urteil haltbar.)" + +#: ../2.1.5_keypad.rst:481 +msgid "" +"Prints the value of the currently pressed key when the condition is " +"tenable." +msgstr "" +"Druckt den Wert der aktuell gedrückten Taste, wenn die Bedingung haltbar " +"ist." + +#: ../2.1.5_keypad.rst:484 +msgid "" +"The statement last_key_pressed = pressed_keys assigns the state of each " +"judgment to an array last_key_pressed to facilitate the next round of " +"conditional judgment." +msgstr "" +"Die Anweisung last_key_pressed = pressed_keys weist einem Array " +"last_key_pressed den Status jeder Beurteilung zu, um die nächste Runde " +"der bedingten Beurteilung zu erleichtern." + +#: ../2.1.5_keypad.rst:501 +msgid "" +"This function assigns a high level to each row in turn, and when the " +"button in the column is pressed, the column in which the key is located " +"gets a high level. After the two-layer loop is judged, the value of the " +"button whose state is 1 is stored in the array pressed_keys." +msgstr "" +"Diese Funktion weist jeder Zeile nacheinander eine hohe Ebene zu, und " +"wenn die Schaltfläche in der Spalte gedrückt wird, erhält die Spalte, in " +"der sich die Taste befindet, eine hohe Ebene. Nachdem die " +"Zweischichtschleife beurteilt wurde, wird der Wert der Schaltfläche, " +"deren Status 1 ist, im Array press_keys gespeichert." + +#: ../2.1.5_keypad.rst:506 + +msgid "If you press the key \\'3\\':" +msgstr "Wenn Sie die Taste \'3\' drücken:" + +#: ../2.1.5_keypad.rst:511 +msgid "rowPins[0] is written in high level, and colPins[2] gets high level." +msgstr "" +"rowPins[0] wird auf hoher Ebene geschrieben, und colPins[2] wird auf " +"hoher Ebene geschrieben." + +#: ../2.1.5_keypad.rst:513 +msgid "colPins[0]、colPins[1]、colPins[3] get low level." +msgstr "colPins[0] 、 colPins[1] 、 colPins[3] erhalten einen niedrigen Wert." + +#: ../2.1.5_keypad.rst:515 + +msgid "There are four states:0, 0, 1, 0; and we write \\'3\\' into pressed_keys." +msgstr "Es gibt vier Zustände: 0, 0, 1, 0; und wir schreiben \'3\' in press_keys." + +#: ../2.1.5_keypad.rst:517 +msgid "" +"When rowPins[1] , rowPins[2] , rowPins[3] are written into high level, " +"colPins[0] ~ colPins[4] get low level." +msgstr "" +"Wenn rowPins[1], rowPins[2], rowPins[3] auf eine hohe Ebene geschrieben " +"werden, erhalten colPins[0] ~ colPins[4] eine niedrige Ebene." + +#: ../2.1.5_keypad.rst:520 + +msgid "The loop stopped, there returns pressed_keys = \\'3\\'." +msgstr "Die Schleife wurde gestoppt, dort wird press_keys = \'3\' zurückgegeben." + +#: ../2.1.5_keypad.rst:522 + +msgid "" +"If you press the buttons \\'1\\' and \\'3\\', there will return " +"pressed_keys = [\\'1\\',\\'3\\']." +msgstr "" +"Wenn Sie die Tasten \'1\' und \'3\' drücken, wird pressed_keys = [\'1\',\'3\'] " +"zurückgegeben." + +#: ../2.1.5_keypad.rst:526 +msgid "Phenomenon Picture" +msgstr "Phänomen Bild" + diff --git a/docs/source/locale/de/LC_MESSAGES/2.1.6_joystick.po b/docs/source/locale/de/LC_MESSAGES/2.1.6_joystick.po new file mode 100644 index 0000000..d4774e3 --- /dev/null +++ b/docs/source/locale/de/LC_MESSAGES/2.1.6_joystick.po @@ -0,0 +1,200 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, SunFounder +# This file is distributed under the same license as the SunFounder Davinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Davinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-19 18:22+0800\n" +"PO-Revision-Date: 2021-05-31 21:50+0800\n" +"Last-Translator: \n" +"Language: de\n" +"Language-Team: \n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../2.1.6_joystick.rst:2 +msgid "2.1.6 Joystick" +msgstr "2.1.6 Joystick" + +#: ../2.1.6_joystick.rst:5 +msgid "Introduction" +msgstr "Einführung" + +#: ../2.1.6_joystick.rst:7 +msgid "" +"In this project, We're going to learn how joystick works. We manipulate " +"the Joystick and display the results on the screen." +msgstr "" +"In diesem Projekt lernen wir, wie der Joystick funktioniert. Wir " +"manipulieren den Joystick und zeigen die Ergebnisse auf dem Bildschirm " +"an." + +#: ../2.1.6_joystick.rst:11 +msgid "Components" +msgstr "Komponenten" + +#: ../2.1.6_joystick.rst:17 +msgid "Principle" +msgstr "Prinzip" + +#: ../2.1.6_joystick.rst:19 +msgid "**Joystick**" +msgstr "**Joystick**" + +#: ../2.1.6_joystick.rst:21 +msgid "" +"The basic idea of a joystick is to translate the movement of a stick into" +" electronic information that a computer can process." +msgstr "" +"Die Grundidee eines Joysticks besteht darin, die Bewegung eines Sticks in" +" elektronische Informationen umzuwandeln, die ein Computer verarbeiten " +"kann." + +#: ../2.1.6_joystick.rst:24 +msgid "" +"In order to communicate a full range of motion to the computer, a " +"joystick needs to measure the stick's position on two axes -- the X-axis " +"(left to right) and the Y-axis (up and down). Just as in basic geometry, " +"the X-Y coordinates pinpoint the stick's position exactly." +msgstr "" +"Um dem Computer einen vollständigen Bewegungsbereich zu übermitteln, muss" +" ein Joystick die Position des Sticks auf zwei Achsen messen - der " +"X-Achse (von links nach rechts) und der Y-Achse (nach oben und unten). " +"Genau wie in der Grundgeometrie bestimmen die XY-Koordinaten genau die " +"Position des Sticks." + +#: ../2.1.6_joystick.rst:29 +msgid "" +"To determine the location of the stick, the joystick control system " +"simply monitors the position of each shaft. The conventional analog " +"joystick design does this with two potentiometers, or variable resistors." +msgstr "" +"Um die Position des Steuerknüppels zu bestimmen, überwacht das Joystick-" +"Steuerungssystem einfach die Position jeder Welle. Das herkömmliche " +"analoge Joystick-Design macht dies mit zwei Potentiometern oder variablen" +" Widerständen." + +#: ../2.1.6_joystick.rst:34 +msgid "" +"The joystick also has a digital input that is actuated when the joystick " +"is pressed down." +msgstr "" +"Der Joystick verfügt außerdem über einen digitalen Eingang, der beim " +"Herunterdrücken des Joysticks betätigt wird." + +#: ../2.1.6_joystick.rst:40 +msgid "Schematic Diagram" +msgstr "Schematische Darstellung" + +#: ../2.1.6_joystick.rst:42 +msgid "" +"When the data of joystick is read, there are some differents between " +"axis: data of X and Y axis is analog, which need to use ADC0834 to " +"convert the analog value to digital value. Data of Z axis is digital, so " +"you can directly use the GPIO to read, or you can also use ADC to read." +msgstr "" +"Wenn die Daten des Joysticks gelesen werden, gibt es einige Unterschiede " +"zwischen den Achsen: Die Daten der X- und Y-Achse sind analog. Daher muss" +" ADC0834 verwendet werden, um den Analogwert in einen Digitalwert " +"umzuwandeln. Die Daten der Z-Achse sind digital, sodass Sie den GPIO " +"direkt zum Lesen oder den ADC zum Lesen verwenden können." + +#: ../2.1.6_joystick.rst:54 +msgid "Experimental Procedures" +msgstr "Experimentelle Verfahren" + +#: ../2.1.6_joystick.rst:56 +msgid "**Step 1:** Build the circuit." +msgstr "**Schritt 1:** Bauen Sie die Schaltung auf." + +#: ../2.1.6_joystick.rst:64 +msgid "For C Language Users" +msgstr "Für Benutzer in C-Sprache" + +#: ../2.1.6_joystick.rst:66 ../2.1.6_joystick.rst:232 +msgid "**Step 2:** Go to the folder of the code." +msgstr "**Schritt 2:** Gehen Sie zum Ordner der Kode." + +#: ../2.1.6_joystick.rst:76 +msgid "**Step 3:** Compile the code." +msgstr "**Schritt 3:** Kompilieren Sie die Kode." + +#: ../2.1.6_joystick.rst:86 +msgid "**Step 4:** Run the executable file." +msgstr "**Schritt 4:** Führen Sie die ausführbare Datei aus." + +#: ../2.1.6_joystick.rst:96 ../2.1.6_joystick.rst:252 +msgid "" +"After the code runs, turn the Joystick, then the corresponding values of " +"x, y, Btn are displayed on screen." +msgstr "" +"Nachdem die Kode ausgeführt wurde, drehen Sie den Joystick, und die " +"entsprechenden Werte von x, y, Btn werden auf dem Bildschirm angezeigt." + +#: ../2.1.6_joystick.rst:102 +msgid "" +"If it does not work after running, please refer to :ref:`C code is not " +"working?`" +msgstr "" +"Wenn es nach dem Ausführen nicht funktioniert, lesen Sie bitte :ref:`C " +"code is not working?`" + +#: ../2.1.6_joystick.rst:104 ../2.1.6_joystick.rst:256 +msgid "**Code**" +msgstr "**Code**" + +#: ../2.1.6_joystick.rst:188 ../2.1.6_joystick.rst:299 +msgid "**Code Explanation**" +msgstr "**Code Erklärung**" + +#: ../2.1.6_joystick.rst:210 +msgid "The working process of the function is detailed in 2.1.4 Potentiometer." +msgstr "Der Arbeitsprozess der Funktion ist in 2.1.4 Potentiometer beschrieben." + +#: ../2.1.6_joystick.rst:222 ../2.1.6_joystick.rst:311 +msgid "" +"VRX and VRY of Joystick are connected to CH0, CH1 of ADC0834 " +"respectively. So the function getResult() is called to read the values of" +" CH0 and CH1. Then the read values should be stored in the variables " +"x_val and y_val. In addition, read the value of SW of joystick and store " +"it into the variable Btn_val. Finally, the values of x_val, y_val and " +"Btn_val shall be printed with print() function." +msgstr "" +"VRX und VRY des Joysticks sind mit CH0 bzw. CH1 des ADC0834 verbunden. " +"Daher wird die Funktion getResult() aufgerufen, um die Werte von CH0 und " +"CH1 zu lesen. Dann sollten die gelesenen Werte in den Variablen x_val und" +" y_val gespeichert werden. Lesen Sie außerdem den Wert von SW des " +"Joysticks und speichern Sie ihn in der Variablen Btn_val. Schließlich " +"sollen die Werte von x_val, y_val und Btn_val mit der Funktion print() " +"gedruckt werden." + +#: ../2.1.6_joystick.rst:230 +msgid "For Python Language Users" +msgstr "Für Python-Sprachbenutzer" + +#: ../2.1.6_joystick.rst:242 +msgid "**Step 3:** Run." +msgstr "**Schritt 3:** Ausführen." + +#: ../2.1.6_joystick.rst:260 + +msgid "" +"You can **Modify/Reset/Copy/Run/Stop** the code below. But before that, " +"you need to go to source code path like ``davinci-kit-for-raspberry-" +"pi/python``." +msgstr "" +"Sie können den folgenden Code **Ändern/Zurücksetzen/ " +"Kopieren/Ausführen/Stoppen**. Zuvor müssen Sie jedoch zu einem " +"Quellcodepfad wie ``davinci-kit-for-raspberry-pi/python`` gehen." + +#: ../2.1.6_joystick.rst:319 +msgid "Phenomenon Picture" +msgstr "Phänomen Bild" + diff --git a/docs/source/locale/de/LC_MESSAGES/2.2.1_photoresistor.po b/docs/source/locale/de/LC_MESSAGES/2.2.1_photoresistor.po new file mode 100644 index 0000000..5a8e724 --- /dev/null +++ b/docs/source/locale/de/LC_MESSAGES/2.2.1_photoresistor.po @@ -0,0 +1,171 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, SunFounder +# This file is distributed under the same license as the SunFounder Davinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Davinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-19 18:22+0800\n" +"PO-Revision-Date: 2021-05-31 21:52+0800\n" +"Last-Translator: \n" +"Language: de\n" +"Language-Team: \n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../2.2.1_photoresistor.rst:2 +msgid "2.2.1 Photoresistor" +msgstr "2.2.1 Fotowiderstand" + +#: ../2.2.1_photoresistor.rst:5 +msgid "Introduction" +msgstr "Einführung" + +#: ../2.2.1_photoresistor.rst:7 +msgid "" +"Photoresistor is a commonly used component of ambient light intensity in " +"life. It helps the controller to recognize day and night and realize " +"light control functions such as night lamp. This project is very similar " +"to potentiometer, and you might think it changing the voltage to sensing " +"light." +msgstr "" +"Der Fotowiderstand ist eine häufig verwendete Komponente der " +"Umgebungslichtintensität im Leben. Es hilft dem Controller, Tag und Nacht" +" zu erkennen und Lichtsteuerungsfunktionen wie Nachtlampen zu " +"realisieren. Dieses Projekt ist dem Potentiometer sehr ähnlich, und Sie " +"könnten denken, es ändert die Spannung, um Licht zu erfassen." + +#: ../2.2.1_photoresistor.rst:14 +msgid "Components" +msgstr "Komponenten" + +#: ../2.2.1_photoresistor.rst:20 +msgid "Principle" +msgstr "Prinzip" + +#: ../2.2.1_photoresistor.rst:22 +msgid "" +"A photoresistor or photocell is a light-controlled variable resistor. The" +" resistance of a photoresistor decreases with increasing incident light " +"intensity; in other words, it exhibits photo conductivity. A " +"photoresistor can be applied in light-sensitive detector circuits, and " +"light- and darkness-activated switching circuits." +msgstr "" +"Ein Fotowiderstand oder eine Fotozelle ist ein lichtgesteuerter variabler" +" Widerstand. Der Widerstand eines Fotowiderstands nimmt mit zunehmender " +"Intensität des einfallenden Lichts ab; mit anderen Worten, es zeigt " +"Fotoleitfähigkeit. Ein Fotowiderstand kann in lichtempfindlichen " +"Detektorschaltungen sowie in licht- und dunkelheitsaktivierten " +"Schaltkreisen eingesetzt werden." + +#: ../2.2.1_photoresistor.rst:34 +msgid "Schematic Diagram" +msgstr "Schematische Darstellung" + +#: ../2.2.1_photoresistor.rst:43 +msgid "Experimental Procedures" +msgstr "Experimentelle Verfahren" + +#: ../2.2.1_photoresistor.rst:45 +msgid "**Step 1:** Build the circuit." +msgstr "**Schritt 1:** Bauen Sie die Schaltung auf." + +#: ../2.2.1_photoresistor.rst:53 +msgid "For C Language Users" +msgstr "Für Benutzer in C-Sprache" + +#: ../2.2.1_photoresistor.rst:55 ../2.2.1_photoresistor.rst:189 +msgid "**Step 2:** Go to the folder of the code." +msgstr "**Schritt 2:** Gehen Sie zum Ordner der Kode." + +#: ../2.2.1_photoresistor.rst:65 +msgid "**Step 3:** Compile the code." +msgstr "**Schritt 3:** Kompilieren Sie der Kode." + +#: ../2.2.1_photoresistor.rst:75 +msgid "**Step 4:** Run the executable file." +msgstr "**Schritt 4:** Führen Sie die ausführbare Datei aus." + +#: ../2.2.1_photoresistor.rst:85 ../2.2.1_photoresistor.rst:209 +msgid "" +"The code run, the brightness of LED will vary depending on the intensity " +"of light that the photoresistor senses." +msgstr "" +"Wenn die Kode ausgeführt wird, variiert die Helligkeit der LED in " +"Abhängigkeit von der Lichtintensität, die der Fotowiderstand erfasst." + +#: ../2.2.1_photoresistor.rst:90 +msgid "" +"If it does not work after running, please refer to :ref:`C code is not " +"working?`" +msgstr "" +"Wenn es nach dem Ausführen nicht funktioniert, lesen Sie bitte :ref:`C " +"code is not working?`" + +#: ../2.2.1_photoresistor.rst:92 ../2.2.1_photoresistor.rst:212 +msgid "**Code**" +msgstr "**Code**" + +#: ../2.2.1_photoresistor.rst:180 ../2.2.1_photoresistor.rst:263 +msgid "**Code Explanation**" +msgstr "**Code Erklärung**" + +#: ../2.2.1_photoresistor.rst:182 +msgid "" +"The codes here are the same as that in 2.1.4 Potentiometer. If you have " +"any other questions, please check the code explanation of **2.1.4 " +"Potentiometer.c** for details." +msgstr "" +"Die Koden hier sind die gleichen wie in 2.1.4 Potentiometer. Wenn Sie " +"weitere Fragen haben, lesen Sie bitte die Kode-Erklärung von **2.1.4 " +"Potentiometer.c** für Details." + +#: ../2.2.1_photoresistor.rst:187 +msgid "For Python Language Users" +msgstr "Für Python-Sprachbenutzer" + +#: ../2.2.1_photoresistor.rst:199 +msgid "**Step 3:** Run the executable file." +msgstr "**Schritt 3:** Führen Sie die ausführbare Datei aus." + +#: ../2.2.1_photoresistor.rst:216 + +msgid "" +"You can **Modify/Reset/Copy/Run/Stop** the code below. But before that, " +"you need to go to source code path like ``davinci-kit-for-raspberry-" +"pi/python``." +msgstr "" +"Sie können den folgenden Code **Ändern/Zurücksetzen/ " +"Kopieren/Ausführen/Stoppen**. Zuvor müssen Sie jedoch zu einem " +"Quellcodepfad wie ``davinci-kit-for-raspberry-pi/python`` gehen." + +#: ../2.2.1_photoresistor.rst:274 +msgid "" +"Read the analog value of CH0 of ADC0834. By default, the function " +"getResult() is used to read the value of CH0, so if you want to read " +"other channels, please input 1, 2, or 3 into () of the function " +"getResult(). Next, what you need is to print the value via the print " +"function. Because the changing element is the duty cycle of LedPin, the " +"computational formula, analogVal*100/255 is needed to convert analogVal " +"into percentage. Finally, ChangeDutyCycle() is called to write the " +"percentage into LedPin." +msgstr "" +"Lesen Sie den Analogwert von CH0 von ADC0834 ab. Standardmäßig wird mit " +"der Funktion getResult() der Wert von CH0 gelesen. Wenn Sie also andere " +"Kanäle lesen möchten, geben Sie bitte 1, 2 oder 3 in () der Funktion " +"getResult() ein. Als nächstes müssen Sie den Wert über die Druckfunktion " +"drucken. Da das sich ändernde Element das Tastverhältnis von LedPin ist, " +"wird die Berechnungsformel analogVal * 100/255 benötigt, um analogVal in " +"Prozent umzuwandeln. Schließlich wird ChangeDutyCycle() aufgerufen, um " +"den Prozentsatz in LedPin zu schreiben." + +#: ../2.2.1_photoresistor.rst:284 +msgid "Phenomenon Picture" +msgstr "Phänomen Bild" + diff --git a/docs/source/locale/de/LC_MESSAGES/2.2.2_thermistor.po b/docs/source/locale/de/LC_MESSAGES/2.2.2_thermistor.po new file mode 100644 index 0000000..b1eb266 --- /dev/null +++ b/docs/source/locale/de/LC_MESSAGES/2.2.2_thermistor.po @@ -0,0 +1,346 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, SunFounder +# This file is distributed under the same license as the SunFounder Davinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Davinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-19 18:22+0800\n" +"PO-Revision-Date: 2021-05-31 21:55+0800\n" +"Last-Translator: \n" +"Language: de\n" +"Language-Team: \n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../2.2.2_thermistor.rst:2 +msgid "2.2.2 Thermistor" +msgstr "2.2.2 Thermistor" + +#: ../2.2.2_thermistor.rst:5 +msgid "Introduction" +msgstr "Einführung" + +#: ../2.2.2_thermistor.rst:7 +msgid "" +"Just like photoresistor can sense light, thermistor is a temperature " +"sensitive electronic device that can be used for realizing functions of " +"temperature control, such as making a heat alarm." +msgstr "" +"Genau wie der Fotowiderstand Licht erfassen kann, ist der Thermistor ein " +"temperaturempfindliches elektronisches Gerät, mit dem Funktionen der " +"Temperaturregelung wie z. B. ein Wärmealarm realisiert werden können." + +#: ../2.2.2_thermistor.rst:12 +msgid "Components" +msgstr "Komponenten" + +#: ../2.2.2_thermistor.rst:18 +msgid "Principle" +msgstr "Prinzip" + +#: ../2.2.2_thermistor.rst:20 +msgid "" +"A thermistor is a thermally sensitive resistor that exhibits a precise " +"and predictable change in resistance proportional to small changes in " +"temperature. How much its resistance will change is dependent upon its " +"unique composition. Thermistors are the parts of a larger group of " +"passive components. And unlike their active component counterparts, " +"passive devices are incapable of providing power gain, or amplification " +"to a circuit." +msgstr "" +"Ein Thermistor ist ein wärmeempfindlicher Widerstand, der eine präzise " +"und vorhersagbare Widerstandsänderung proportional zu kleinen " +"Temperaturänderungen aufweist. Wie sehr sich sein Widerstand ändert, " +"hängt von seiner einzigartigen Zusammensetzung ab. Thermistoren sind " +"Teile einer größeren Gruppe passiver Komponenten. Und im Gegensatz zu " +"ihren Gegenstücken mit aktiven Komponenten können passive Geräte keine " +"Leistungsverstärkung oder Verstärkung für eine Schaltung bereitstellen." + +#: ../2.2.2_thermistor.rst:28 +msgid "" +"Thermistor is a sensitive element, and it has two types: Negative " +"Temperature Coefficient (NTC) and Positive Temperature Coefficient (PTC)," +" also known as NTC and PTC. Its resistance varies significantly with " +"temperature. The resistance of PTC thermistor increases with temperature " +",while the condition of NTC is opposite to the former In this experiment " +"we use NTC." +msgstr "" +"Der Thermistor ist ein empfindliches Element und es gibt zwei Arten: den " +"negativen Temperaturkoeffizienten (NTC) und den positiven " +"Temperaturkoeffizienten (PTC), auch bekannt als NTC und PTC. Sein " +"Widerstand variiert erheblich mit der Temperatur. Der Widerstand des PTC-" +"Thermistors steigt mit der Temperatur, während der Zustand des NTC dem " +"ersteren entgegengesetzt ist. In diesem Experiment verwenden wir NTC." + +#: ../2.2.2_thermistor.rst:38 +msgid "" +"The principle is that the resistance of the NTC thermistor changes with " +"the temperature of the outer environment. It detects the real-time " +"temperature of the environment. When the temperature gets higher, the " +"resistance of the thermistor decreases. Then the voltage data is " +"converted to digital quantities by the A/D adapter. The temperature in " +"Celsius or Fahrenheit is output via programming." +msgstr "" +"Das Prinzip ist, dass sich der Widerstand des NTC-Thermistors mit der " +"Temperatur der äußeren Umgebung ändert. Es erfasst die Echtzeit-" +"Temperatur der Umgebung. Wenn die Temperatur höher wird, nimmt der " +"Widerstand des Thermistors ab. Anschließend werden die Spannungsdaten vom" +" A / D-Adapter in digitale Größen umgewandelt. Die Temperatur in Celsius " +"oder Fahrenheit wird über die Programmierung ausgegeben." + +#: ../2.2.2_thermistor.rst:45 +msgid "" +"In this experiment, a thermistor and a 10k pull-up resistor are used. " +"Each thermistor has a normal resistance. Here it is 10k ohm, which is " +"measured under 25 degree Celsius." +msgstr "" +"In diesem Experiment werden ein Thermistor und ein 10k-Pull-up-Widerstand" +" verwendet. Jeder Thermistor hat einen normalen Widerstand. Hier sind es " +"10 kOhm, die unter 25 Grad Celsius gemessen werden." + +#: ../2.2.2_thermistor.rst:49 +msgid "Here is the relation between the resistance and temperature:" +msgstr "Hier ist die Beziehung zwischen dem Widerstand und der Temperatur:" + +#: ../2.2.2_thermistor.rst:51 +msgid "R\\ :sub:`T` =R\\ :sub:`N` exp\\ :sup:`B(1/TK – 1/TN)`" +msgstr "R\\ :sub:`T` =R\\ :sub:`N` exp\\ :sup:`B(1/TK – 1/TN)`" + +#: ../2.2.2_thermistor.rst:53 +msgid "" +"**R\\ T** is the resistance of the NTC thermistor when the temperature is" +" **T\\ K**." +msgstr "" +"**R\\ T** ist der Widerstand des NTC-Thermistors bei einer Temperatur von" +" **T\\ K**." + +#: ../2.2.2_thermistor.rst:56 +msgid "" +"**R\\ N** is the resistance of the NTC thermistor under the rated " +"temperature **T\\ N**. Here, the numerical value of **R\\ N** is 10k." +msgstr "" +"**R\\ N** ist der Widerstand des NTC-Thermistors unter der Nenntemperatur" +" **T\\ N**. Hier beträgt der numerische Wert von **R\\ N** 10k." + +#: ../2.2.2_thermistor.rst:59 +msgid "" +"**T\\ K** is a Kelvin temperature and the unit is K. Here, the numerical " +"value of **T\\ K**\\ is 273.15 + degree Celsius." +msgstr "" +"**T\\ K** ist eine Kelvin-Temperatur und die Einheit ist K. Hier beträgt " +"der numerische Wert von **T\\ K**\\ 273.15 + Grad Celsius." + +#: ../2.2.2_thermistor.rst:62 +msgid "" +"**T\\ N** is a rated Kelvin temperature; the unit is K too. Here, the " +"numerical value of **T\\ N** is 273.15+25." +msgstr "" +"**T\\ N** ist eine Kelvin-Nenntemperatur; Das Gerät ist auch K. Hier " +"beträgt der numerische Wert von **T\\ N** 273.15+25." + +#: ../2.2.2_thermistor.rst:65 +msgid "" +"And **B**\\ (beta), the material constant of NTC thermistor, is also " +"called heat sensitivity index with a numerical value 3950." +msgstr "" +"Und **B**\\ (beta), die Materialkonstante des NTC-Thermistors, wird auch " +"als Wärmeempfindlichkeitsindex mit einem numerischen Wert von 3950 " +"bezeichnet." + +#: ../2.2.2_thermistor.rst:68 +msgid "" +"**exp** is the abbreviation of exponential, and the base number e is a " +"natural number and equals 2.7 approximately." +msgstr "" +"**exp** ist die Abkürzung für exponentiell, und die Basisnummer ist eine " +"natürliche Nummer und entspricht ungefähr 2.7." + +#: ../2.2.2_thermistor.rst:71 +msgid "" +"Convert this formula T\\ :sub:`K`\\ =1/(ln(R\\ :sub:`T`/R\\ " +":sub:`N`)/B+1/T\\ :sub:`N`) to get Kelvin temperature that minus 273.15 " +"equals degree Celsius." +msgstr "" +"Konvertieren Sie diese Formel T\\ :sub:`K`\\ =1/(ln(R\\ :sub:`T`/R\\ " +":sub:`N`)/B+1/T\\ :sub:`N`), um eine Kelvin-Temperatur zu erhalten, die " +"minus 273.15 Grad Celsius entspricht." + +#: ../2.2.2_thermistor.rst:75 +msgid "" +"This relation is an empirical formula. It is accurate only when the " +"temperature and resistance are within the effective range." +msgstr "" +"Diese Beziehung ist eine empirische Formel. Sie ist nur dann genau, wenn " +"Temperatur und Widerstand im effektiven Bereich liegen." + +#: ../2.2.2_thermistor.rst:79 +msgid "Schematic Diagram" +msgstr "Schematische Darstellung" + +#: ../2.2.2_thermistor.rst:88 +msgid "Experimental Procedures" +msgstr "Experimentelle Verfahren" + +#: ../2.2.2_thermistor.rst:90 +msgid "**Step 1:** Build the circuit." +msgstr "**Schritt 1:** Bauen Sie die Schaltung auf." + +#: ../2.2.2_thermistor.rst:98 +msgid "For C Language Users" +msgstr "Für Benutzer in C-Sprache" + +#: ../2.2.2_thermistor.rst:101 ../2.2.2_thermistor.rst:296 +msgid "**Step 2:** Go to the folder of the code." +msgstr "**Schritt 2:** Gehen Sie zum Ordner der Kode." + +#: ../2.2.2_thermistor.rst:111 +msgid "**Step 3:** Compile the code." +msgstr "**Schritt 3:** Kompilieren Sie die Kode." + +#: ../2.2.2_thermistor.rst:122 +msgid "-lm is to load the library math. Do not omit, or you will make an error." +msgstr "" +"-lm dient zum Laden der Bibliotheksmathematik. Nicht weglassen, sonst " +"wird ein Fehler gemacht." + +#: ../2.2.2_thermistor.rst:125 +msgid "**Step 4:** Run the executable file." +msgstr "**Schritt 4:** Führen Sie die ausführbare Datei aus." + +#: ../2.2.2_thermistor.rst:135 ../2.2.2_thermistor.rst:316 +msgid "" +"With the code run, the thermistor detects ambient temperature which will " +"be printed on the screen once it finishes the program calculation." +msgstr "" +"Während die Kode ausgeführt wird, erkennt der Thermistor die " +"Umgebungstemperatur, die nach Abschluss der Programmberechnung auf dem " +"Bildschirm angezeigt wird." + +#: ../2.2.2_thermistor.rst:140 +msgid "" +"If it does not work after running, please refer to :ref:`C code is not " +"working?`" +msgstr "" +"Wenn es nach dem Ausführen nicht funktioniert, lesen Sie bitte :ref:`C " +"code is not working?`" + +#: ../2.2.2_thermistor.rst:143 ../2.2.2_thermistor.rst:319 +msgid "**Code**" +msgstr "**Code**" + +#: ../2.2.2_thermistor.rst:233 ../2.2.2_thermistor.rst:357 +msgid "**Code Explanation**" +msgstr "**Code Erklärung**" + +#: ../2.2.2_thermistor.rst:239 +msgid "" +"There is a C numerics library which declares a set of functions to " +"compute common mathematical operations and transformations." +msgstr "" +"Es gibt eine C-Numerik-Bibliothek, die eine Reihe von Funktionen " +"deklariert, um allgemeine mathematische Operationen und Transformationen " +"zu berechnen." + +#: ../2.2.2_thermistor.rst:246 ../2.2.2_thermistor.rst:370 +msgid "This function is used to read the value of the thermistor." +msgstr "Mit dieser Funktion wird der Wert des Thermistors abgelesen." + +#: ../2.2.2_thermistor.rst:257 +msgid "These calculations convert the thermistor values into Celsius values." +msgstr "Diese Berechnungen wandeln die Thermistorwerte in Celsiuswerte um." + +#: ../2.2.2_thermistor.rst:264 ../2.2.2_thermistor.rst:389 +msgid "" +"These two lines of codes are calculating the voltage distribution with " +"the read value analog so as to get Rt (resistance of thermistor)." +msgstr "" +"Diese beiden Kodezeilen berechnen die Spannungsverteilung mit dem " +"analogen Lesewert, um Rt (Widerstand des Thermistors) zu erhalten." + +#: ../2.2.2_thermistor.rst:271 ../2.2.2_thermistor.rst:396 +msgid "" +"This code refers to plugging Rt into the formula **T\\ K\\ =1/(ln(R\\ " +"T/R\\ N)/B+1/T\\ N)** to get Kelvin temperature." +msgstr "" +"Diese Kode bezieht sich auf das Einstecken von Rt in die Formel **T\\ K\\" +" =1/(ln(R\\ T/R\\ N)/B+1/T\\ N)**,um die Kelvin-Temperatur zu erhalten." + +#: ../2.2.2_thermistor.rst:278 +msgid "Convert Kelvin temperature into degree Celsius." +msgstr "Wandeln Sie die Kelvin-Temperatur in Grad Celsius um." + +#: ../2.2.2_thermistor.rst:284 +msgid "Convert degree Celsius into Fahrenheit." +msgstr "Konvertieren Sie Grad Celsius in Fahrenheit." + +#: ../2.2.2_thermistor.rst:290 ../2.2.2_thermistor.rst:415 +msgid "Print centigrade degree, Fahrenheit degree and their units on the display." +msgstr "Drucken Sie Celsius, Fahrenheit und ihre Einheiten auf dem Display." + +#: ../2.2.2_thermistor.rst:294 +msgid "For Python Language Users" +msgstr "Für Python-Sprachbenutzer" + +#: ../2.2.2_thermistor.rst:306 +msgid "**Step 3:** Run the executable file" +msgstr "**Schritt 3:** Führen Sie die ausführbare Datei aus" + +#: ../2.2.2_thermistor.rst:323 + +msgid "" +"You can **Modify/Reset/Copy/Run/Stop** the code below. But before that, " +"you need to go to source code path like ``davinci-kit-for-raspberry-" +"pi/python``." +msgstr "" +"Sie können den folgenden Code **Ändern/Zurücksetzen/ " +"Kopieren/Ausführen/Stoppen**. Zuvor müssen Sie jedoch zu einem " +"Quellcodepfad wie ``davinci-kit-for-raspberry-pi/python`` gehen." + +#: ../2.2.2_thermistor.rst:363 +msgid "" +"There is a numerics library which declares a set of functions to compute " +"common mathematical operations and transformations." +msgstr "" +"Es gibt eine numerische Bibliothek, die eine Reihe von Funktionen " +"deklariert, um allgemeine mathematische Operationen und Transformationen " +"zu berechnen." + +#: ../2.2.2_thermistor.rst:381 +msgid "" +"These calculations convert the thermistor values into centigrade degree " +"and Fahrenheit degree." +msgstr "" +"Diese Berechnungen wandeln die Thermistorwerte in Grad Celsius und " +"Fahrenheit um." + +#: ../2.2.2_thermistor.rst:403 +msgid "Convert Kelvin temperature into centigrade degree." +msgstr "Wandeln Sie die Kelvin-Temperatur in Grad Celsius um." + +#: ../2.2.2_thermistor.rst:409 +msgid "Convert the centigrade degree into Fahrenheit degree." +msgstr "Konvertieren Sie den Celsius-Grad in Fahrenheit-Grad." + +#: ../2.2.2_thermistor.rst:419 +msgid "Phenomenon Picture" +msgstr "Phänomen Bild" + +#~ msgid "" +#~ "With the code run, the thermistor " +#~ "detects ambient temperature which will " +#~ "be printed on the screen once it" +#~ " finishes the program calculation. **Code**" +#~ msgstr "" +#~ "Während die Kode ausgeführt wird, " +#~ "erkennt der Thermistor die " +#~ "Umgebungstemperatur, die nach Abschluss der" +#~ " Programmberechnung auf dem Bildschirm " +#~ "angezeigt wird." + diff --git a/docs/source/locale/de/LC_MESSAGES/2.2.3_dht-11.po b/docs/source/locale/de/LC_MESSAGES/2.2.3_dht-11.po new file mode 100644 index 0000000..52be3c1 --- /dev/null +++ b/docs/source/locale/de/LC_MESSAGES/2.2.3_dht-11.po @@ -0,0 +1,339 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, SunFounder +# This file is distributed under the same license as the SunFounder Davinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Davinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-19 18:22+0800\n" +"PO-Revision-Date: 2021-05-31 21:58+0800\n" +"Last-Translator: \n" +"Language: de\n" +"Language-Team: \n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../2.2.3_dht-11.rst:2 +msgid "2.2.3 DHT-11" +msgstr "2.2.3 DHT-11" + +#: ../2.2.3_dht-11.rst:5 +msgid "Introduction" +msgstr "Einführung" + +#: ../2.2.3_dht-11.rst:7 +msgid "" +"The digital temperature and humidity sensor DHT11 is a composite sensor " +"that contains a calibrated digital signal output of temperature and " +"humidity. The technology of a dedicated digital modules collection and " +"the technology of the temperature and humidity sensing are applied to " +"ensure that the product has high reliability and excellent stability." +msgstr "" +"Der digitale Temperatur- und Feuchtigkeitssensor DHT11 ist ein " +"Verbundsensor, der einen kalibrierten digitalen Signalausgang für " +"Temperatur und Luftfeuchtigkeit enthält. Die Technologie einer speziellen" +" Sammlung digitaler Module und die Technologie der Temperatur- und " +"Feuchtigkeitsmessung werden angewendet, um sicherzustellen, dass das " +"Produkt eine hohe Zuverlässigkeit und ausgezeichnete Stabilität aufweist." + +#: ../2.2.3_dht-11.rst:13 +msgid "" +"The sensors include a wet element resistive sensor and a NTC temperature " +"sensor and they are connected to a high performance 8-bit " +"microcontroller." +msgstr "" +"Die Sensoren umfassen einen Nasselement-Widerstandssensor und einen NTC-" +"Temperatursensor und sind mit einem Hochleistungs-8-Bit-Mikrocontroller " +"verbunden." + +#: ../2.2.3_dht-11.rst:18 +msgid "Components" +msgstr "Komponenten" + +#: ../2.2.3_dht-11.rst:24 +msgid "Principle" +msgstr "Prinzip" + +#: ../2.2.3_dht-11.rst:26 +msgid "" +"The DHT11 is a basic, ultra low-cost digital temperature and humidity " +"sensor. It uses a capacitive humidity sensor and a thermistor to measure " +"the surrounding air, and spits out a digital signal on the data pin (no " +"analog input pins are needed)." +msgstr "" +"Der DHT11 ist ein grundlegender, äußerst kostengünstiger digitaler " +"Temperatur- und Feuchtigkeitssensor. Es verwendet einen kapazitiven " +"Feuchtigkeitssensor und einen Thermistor, um die Umgebungsluft zu messen," +" und spuckt ein digitales Signal auf den Datenstift aus (es werden keine " +"analogen Eingangsstifte benötigt)." + +#: ../2.2.3_dht-11.rst:36 +msgid "" +"Only three pins are available: VCC, GND, and DATA. The communication " +"process begins with the DATA line sending start signals to DHT11, and " +"DHT11 receives the signals and returns an answer signal. Then the host " +"receives the answer signal and begins to receive 40-bit humiture data " +"(8-bit humidity integer + 8-bit humidity decimal + 8-bit temperature " +"integer + 8-bit temperature decimal + 8-bit checksum). For more " +"information, please refer to DHT11 datasheet." +msgstr "" +"Es sind nur drei Pins verfügbar: VCC, GND und DATA. Der " +"Kommunikationsprozess beginnt damit, dass die DATA-Leitung Startsignale " +"an DHT11 sendet, und DHT11 empfängt die Signale und gibt ein " +"Antwortsignal zurück. Dann empfängt der Host das Antwortsignal und " +"beginnt mit dem Empfang von 40-Bit-Feuchtigkeitsdaten (8-Bit-" +"Feuchtigkeits-Ganzzahl + 8-Bit-Feuchtigkeits-Dezimalzahl + 8-Bit-" +"Temperatur-Ganzzahl + 8-Bit-Temperatur-Dezimalzahl + 8-Bit-Prüfsumme). " +"Weitere Informationen finden Sie im DHT11-Datenblatt." + +#: ../2.2.3_dht-11.rst:45 +msgid "Schematic Diagram" +msgstr "Schematische Darstellung" + +#: ../2.2.3_dht-11.rst:51 +msgid "Experimental Procedures" +msgstr "Experimentelle Verfahren" + +#: ../2.2.3_dht-11.rst:53 +msgid "**Step 1:** Build the circuit." +msgstr "**Schritt 1:** Bauen Sie die Schaltung auf." + +#: ../2.2.3_dht-11.rst:61 +msgid "For C Language Users" +msgstr "Für Benutzer in C-Sprache" + +#: ../2.2.3_dht-11.rst:63 ../2.2.3_dht-11.rst:289 +msgid "**Step 2:** Go to the folder of the code." +msgstr "**Schritt 2:** Gehen Sie zum Ordner der Kode." + +#: ../2.2.3_dht-11.rst:73 +msgid "**Step 3:** Compile the code." +msgstr "**Schritt 3:** Kompilieren Sie die Kode." + +#: ../2.2.3_dht-11.rst:83 +msgid "**Step 4:** Run the executable file." +msgstr "**Schritt 4:** Führen Sie die ausführbare Datei aus." + +#: ../2.2.3_dht-11.rst:93 ../2.2.3_dht-11.rst:309 +msgid "" +"After the code runs, the program will print the temperature and humidity " +"detected by DHT11 on the computer screen." +msgstr "" +"Nachdem die Kode ausgeführt wurde, druckt das Programm die von DHT11 " +"erfasste Temperatur und Luftfeuchtigkeit auf dem Computerbildschirm." + +#: ../2.2.3_dht-11.rst:98 +msgid "" +"If it does not work after running, please refer to :ref:`C code is not " +"working?`" +msgstr "" +"Wenn es nach dem Ausführen nicht funktioniert, lesen Sie bitte :ref:`C " +"code is not working?`" + +#: ../2.2.3_dht-11.rst:101 ../2.2.3_dht-11.rst:312 +msgid "**Code**" +msgstr "**Code**" + +#: ../2.2.3_dht-11.rst:175 ../2.2.3_dht-11.rst:448 +msgid "**Code Explanation**" +msgstr "**Code Erklärung**" + +#: ../2.2.3_dht-11.rst:188 +msgid "This function is used to realize the function of DHT11." +msgstr "Diese Funktion wird verwendet, um die Funktion von DHT11 zu realisieren." + +#: ../2.2.3_dht-11.rst:190 +msgid "It generally can be divided into 3 parts:" +msgstr "Es kann im Allgemeinen in 3 Teile unterteilt werden:" + +#: ../2.2.3_dht-11.rst:192 +msgid "prepare to read the pin:" +msgstr "Bereiten Sie sich darauf vor, den Stift zu lesen:" + +#: ../2.2.3_dht-11.rst:206 +msgid "Its communication flow is determined by work timing." +msgstr "Sein Kommunikationsfluss wird durch den Arbeitszeitpunkt bestimmt." + +#: ../2.2.3_dht-11.rst:213 +msgid "" +"When DHT11 starts up, MCU will send a low level signal and then keep the " +"signal at high level for 40us. After that, the detection of the condition" +" of external environment will start." +msgstr "" +"Wenn DHT11 startet, sendet die MCU ein Signal mit niedrigem Niveau und " +"hält das Signal dann für 40us auf hohem Niveau. Danach beginnt die " +"Erkennung des Zustands der externen Umgebung." + +#: ../2.2.3_dht-11.rst:217 +msgid "read data:" +msgstr "Daten lesen:" + +#: ../2.2.3_dht-11.rst:243 +msgid "" +"The loop stores the detected data in the dht11_dat[] array. DHT11 " +"transmits data of 40 bits at a time. The first 16 bits are related to " +"humidity, the middle 16 bits are related to temperature, and the last " +"eight bits are used for verification. The data format is:" +msgstr "" +"Die Schleife speichert die erkannten Daten im Array dht11_dat []. DHT11 " +"überträgt Daten von jeweils 40 Bit. Die ersten 16 Bits beziehen sich auf " +"die Luftfeuchtigkeit, die mittleren 16 Bits auf die Temperatur und die " +"letzten acht Bits werden zur Überprüfung verwendet. Das Datenformat ist:" + +#: ../2.2.3_dht-11.rst:248 +msgid "" +"**8bit humidity integer data** + **8bit humidity decimal data** + **8bit " +"temperature integer data** + **8bit temperature decimal data** + **8bit " +"check bit**." +msgstr "" +"**8-Bit-Feuchtigkeits-Integer-Daten** + **8-Bit-Feuchtigkeits-" +"Dezimaldaten** + **8-Bit-Temperatur-Integer-Daten** + **8-Bit-Temperatur-" +"Dezimaldaten** + **8-Bit-Prüfbit**." + +#: ../2.2.3_dht-11.rst:252 +msgid "Print Humidity & Temperature." +msgstr "Luftfeuchtigkeit und Temperatur drucken." + +#: ../2.2.3_dht-11.rst:265 +msgid "" +"When the data storage is up to 40 bits, check the validity of the data " +"through the **check bit (dht11_dat[4])**, and then print the temperature " +"and humidity." +msgstr "" +"Wenn der Datenspeicher bis zu 40 Bit beträgt, überprüfen Sie die " +"Gültigkeit der Daten über das **Prüfbit (dht11_dat[4])** und drucken Sie " +"dann Temperatur und Luftfeuchtigkeit aus." + +#: ../2.2.3_dht-11.rst:269 +msgid "" +"For example, if the received data is 00101011(8-bit value of humidity " +"integer) 00000000 (8-bit value of humidity decimal) 00111100 (8-bit value" +" of temperature integer) 00000000 (8-bit value of temperature decimal) " +"01100111 (check bit)" +msgstr "" +"Wenn die empfangenen Daten beispielsweise 00101011 (8-Bit-Wert der " +"Feuchtigkeits-Ganzzahl) 00000000 (8-Bit-Wert der Feuchtigkeits-" +"Dezimalzahl) 00111100 (8-Bit-Wert der Temperatur-Ganzzahl) 00000000 (8" +"-Bit-Wert der Temperatur-Dezimalzahl) 01100111 ( Bit prüfen)" + +#: ../2.2.3_dht-11.rst:274 ../2.2.3_dht-11.rst:491 +msgid "**Calculation:**" +msgstr "**Berechnung:**" + +#: ../2.2.3_dht-11.rst:276 ../2.2.3_dht-11.rst:493 +msgid "00101011+00000000+00111100+00000000=01100111." +msgstr "00101011+00000000+00111100+00000000=01100111." + +#: ../2.2.3_dht-11.rst:278 +msgid "" +"The final result is equal to the check bit data, then the received data " +"is correct:" +msgstr "" +"Das Endergebnis ist gleich mit den Prüfbitdaten, dann sind die " +"empfangenen Daten korrekt:" + +#: ../2.2.3_dht-11.rst:281 +msgid "Humidity =43%,Temperature =60*C." +msgstr "Luftfeuchtigkeit = 43% , Temperatur = 60 * C." + +#: ../2.2.3_dht-11.rst:283 +msgid "" +"If it is not equal to the check bit data, the data transmission is not " +"normal and the data is received again." +msgstr "" +"Wenn es nicht gleich mit den Prüfbitdaten ist, ist die Datenübertragung " +"nicht normal und die Daten werden erneut empfangen." + +#: ../2.2.3_dht-11.rst:287 +msgid "For Python Language Users" +msgstr "Für Python-Sprachbenutzer" + +#: ../2.2.3_dht-11.rst:299 +msgid "**Step 3:** Run the executable file." +msgstr "**Schritt 3:** Führen Sie die ausführbare Datei aus." + +#: ../2.2.3_dht-11.rst:316 + +msgid "" +"You can **Modify/Reset/Copy/Run/Stop** the code below. But before that, " +"you need to go to source code path like ``davinci-kit-for-raspberry-" +"pi/python``." +msgstr "" +"Sie können den folgenden Code **Ändern/Zurücksetzen/ " +"Kopieren/Ausführen/Stoppen**. Zuvor müssen Sie jedoch zu einem " +"Quellcodepfad wie ``davinci-kit-for-raspberry-pi/python`` gehen." + +#: ../2.2.3_dht-11.rst:464 +msgid "" +"This function is used to implement the functions of DHT11. It stores the " +"detected data in the the_bytes[] array. DHT11 transmits data of 40 bits " +"at a time. The first 16 bits are related to humidity, the middle 16 bits " +"are related to temperature, and the last eight bits are used for " +"verification. The data format is:" +msgstr "" +"Diese Funktion wird verwendet, um die Funktionen von DHT11 zu " +"implementieren. Es speichert die erkannten Daten im Array the_bytes[]. " +"DHT11 überträgt Daten von jeweils 40 Bit. Die ersten 16 Bits beziehen " +"sich auf die Luftfeuchtigkeit, die mittleren 16 Bits auf die Temperatur " +"und die letzten acht Bits werden zur Überprüfung verwendet. Das " +"Datenformat ist:" + +#: ../2.2.3_dht-11.rst:470 +msgid "" +"**8bit humidity integer data** +\\ **8bit humidity decimal data** +\\ " +"**8bit temperature integer data** + **8bit temperature decimal data** + " +"**8bit check bit**." +msgstr "" +"**8bit feuchtigkeits integer daten** +\\ **8bit feuchtigkeits " +"dezimaldaten** +\\ **8bit temperatur integer daten** + **8bit temperatur " +"dezimaldaten** + **8bit prüfbit**." + +#: ../2.2.3_dht-11.rst:474 +msgid "" +"When the validity is detected via the check bit, the function returns two" +" results: 1. error; 2. humidity and temperature." +msgstr "" +"Wenn die Gültigkeit über das Prüfbit erkannt wird, gibt die Funktion zwei" +" Ergebnisse zurück: 1. Fehler; 2. Luftfeuchtigkeit und Temperatur." + +#: ../2.2.3_dht-11.rst:486 +msgid "" +"For example, if the received date is 00101011(8-bit value of humidity " +"integer) 00000000 (8-bit value of humidity decimal) 00111100 (8-bit value" +" of temperature integer) 00000000 (8-bit value of temperature decimal) " +"01100111 (check bit)" +msgstr "" +"Wenn das Empfangsdatum beispielsweise 00101011 (8-Bit-Wert der " +"Feuchtigkeits-Ganzzahl) 00000000 (8-Bit-Wert der Feuchtigkeits-" +"Dezimalzahl) 00111100 (8-Bit-Wert der Temperatur-Ganzzahl) 00000000 (8" +"-Bit-Wert der Temperatur-Dezimalzahl) 01100111 ( Bit prüfen)" + +#: ../2.2.3_dht-11.rst:495 +msgid "" +"If the final result is equal to the check bit data, the data transmission" +" is abnormal: return False." +msgstr "" +"Wenn das Endergebnis den Prüfbitdaten entspricht, ist die " +"Datenübertragung abnormal: return False." + +#: ../2.2.3_dht-11.rst:498 + +msgid "" +"If the final result is equal to the check bit data, the received data is " +"correct, then there will return the_bytes[0] and the_bytes[2] and output " +"\\\"Humidity =43%,Temperature =60C\\\"." +msgstr "" +"Wenn das Endergebnis den Prüfbitdaten entspricht, sind die empfangenen " +"Daten korrekt, dann werden die_Bytes [0] und die_Bytes [2] zurückgegeben " +"und \"Luftfeuchtigkeit = 43% , Temperatur = 60 ° C\" ausgegeben." + +#: ../2.2.3_dht-11.rst:503 +msgid "Phenomenon Picture" +msgstr "Phänomen Bild" + diff --git a/docs/source/locale/de/LC_MESSAGES/2.2.4_pir.po b/docs/source/locale/de/LC_MESSAGES/2.2.4_pir.po new file mode 100644 index 0000000..62756c3 --- /dev/null +++ b/docs/source/locale/de/LC_MESSAGES/2.2.4_pir.po @@ -0,0 +1,259 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, SunFounder +# This file is distributed under the same license as the SunFounder Davinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Davinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-19 18:22+0800\n" +"PO-Revision-Date: 2021-05-31 21:59+0800\n" +"Last-Translator: \n" +"Language: de\n" +"Language-Team: \n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../2.2.4_pir.rst:2 +msgid "2.2.4 PIR" +msgstr "2.2.4 PIR" + +#: ../2.2.4_pir.rst:5 +msgid "Introduction" +msgstr "Einführung" + +#: ../2.2.4_pir.rst:7 +msgid "" +"In this project, we will make a device by using the human body infrared " +"pyroelectric sensors. When someone gets closer to the LED, the LED will " +"turn on automatically. If not, the light will turn off. This infrared " +"motion sensor is a kind of sensor that can detect the infrared emitted by" +" human and animals." +msgstr "" +"In diesem Projekt werden wir ein Gerät unter Verwendung der " +"pyroelektrischen Infrarotsensoren des menschlichen Körpers herstellen. " +"Wenn sich jemand der LED nähert, leuchtet die LED automatisch auf. Wenn " +"nicht, geht das Licht aus. Dieser Infrarot-Bewegungssensor ist ein Typ " +"Sensor, der das von Mensch und Tier emittierte Infrarot erfassen kann." + +#: ../2.2.4_pir.rst:14 +msgid "Components" +msgstr "Komponenten" + +#: ../2.2.4_pir.rst:20 +msgid "Principle" +msgstr "Prinzip" + +#: ../2.2.4_pir.rst:22 +msgid "" +"The PIR sensor detects infrared heat radiation that can be used to detect" +" the presence of organisms that emit infrared heat radiation." +msgstr "" +"Der PIR-Sensor erfasst Infrarot-Wärmestrahlung, mit der das Vorhandensein" +" von Organismen erfasst werden kann, die Infrarot-Wärmestrahlung " +"emittieren." + +#: ../2.2.4_pir.rst:25 +msgid "" +"The PIR sensor is split into two slots that are connected to a " +"differential amplifier. Whenever a stationary object is in front of the " +"sensor, the two slots receive the same amount of radiation and the output" +" is zero. Whenever a moving object is in front of the sensor, one of the " +"slots receives more radiation than the other , which makes the output " +"fluctuate high or low. This change in output voltage is a result of " +"detection of motion." +msgstr "" +"Der PIR-Sensor ist in zwei Steckplätze unterteilt, die an einen " +"Differenzverstärker angeschlossen sind. Wenn sich ein stationäres Objekt " +"vor dem Sensor befindet, empfangen die beiden Schlitze die gleiche " +"Strahlungsmenge und der Ausgang ist Null. Wenn sich ein sich bewegendes " +"Objekt vor dem Sensor befindet, empfängt einer der Schlitze mehr " +"Strahlung als der andere, wodurch der Ausgang stark oder niedrig " +"schwankt. Diese Änderung der Ausgangsspannung ist ein Ergebnis der " +"Bewegungserkennung." + +#: ../2.2.4_pir.rst:38 +msgid "" +"After the sensing module is wired, there is a one-minute initialization. " +"During the initialization, module will output for 0~3 times at intervals." +" Then the module will be in the standby mode. Please keep the " +"interference of light source and other sources away from the surface of " +"the module so as to avoid the misoperation caused by the interfering " +"signal. Even you'd better use the module without too much wind, because " +"the wind can also interfere with the sensor." +msgstr "" +"Nach dem Verdrahten des Sensormoduls erfolgt eine einminütige " +"Initialisierung. Während der Initialisierung wird das Modul in " +"Intervallen 0 bis 3 Mal ausgegeben. Dann befindet sich das Modul im " +"Standby-Modus. Bitte halten Sie die Interferenz von Lichtquellen und " +"anderen Quellen von der Oberfläche des Moduls fern, um Fehlfunktionen " +"durch das Störsignal zu vermeiden. Und Sie sollten das Modul besser ohne " +"zu viel Wind verwenden, da der Wind auch den Sensor stören kann." + +#: ../2.2.4_pir.rst:51 +msgid "**Distance Adjustment**" +msgstr "**Abstandseinstellung**" + +#: ../2.2.4_pir.rst:54 +msgid "" +"Turning the knob of the distance adjustment potentiometer clockwise, the " +"range of sensing distance increases, and the maximum sensing distance " +"range is about 0-7 meters. If turn it anticlockwise, the range of sensing" +" distance is reduced, and the minimum sensing distance range is about 0-3" +" meters." +msgstr "" +"Durch Drehen des Knopfes des Potentiometers zur Entfernungseinstellung im" +" Uhrzeigersinn vergrößert sich der Bereich der Erfassungsentfernung und " +"der maximale Erfassungsentfernungsbereich beträgt etwa 0 bis 7 Meter. " +"Wenn Sie ihn gegen den Uhrzeigersinn drehen, verringert sich die " +"Reichweite der Erfassungsentfernung, und die minimale Reichweite der " +"Erfassungsentfernung beträgt etwa 0 bis 3 Meter." + +#: ../2.2.4_pir.rst:60 +msgid "**Delay adjustment**" +msgstr "**Verzögerungseinstellung**" + +#: ../2.2.4_pir.rst:63 +msgid "" +"Rotate the knob of the delay adjustment potentiometer clockwise, you can " +"also see the sensing delay increasing. The maximum of the sensing elay " +"can reach up to 300s. On the contrary, if rotate it anticlockwise, you " +"can shorten the delay with a minimum of 5s." +msgstr "" +"Drehen Sie die Taste des Potentiometers für die Verzögerungseinstellung " +"im Uhrzeigersinn. Sie können auch sehen, wie die Erfassungsverzögerung " +"zunimmt. Das Maximum der Erfassungsverzögerung kann bis zu 300 s " +"erreichen. Im Gegenteil, wenn Sie es gegen den Uhrzeigersinn drehen, " +"können Sie die Verzögerung um mindestens 5 Sekunden verkürzen." + +#: ../2.2.4_pir.rst:68 +msgid "Two trigger modes: (choosing different modes by using the jumper cap)." +msgstr "" +"Zwei Triggermodus: (Auswahl verschiedener Modus mit der " +"Überbrückungskappe)." + +#: ../2.2.4_pir.rst:70 +msgid "" +"**H:** **Repeatable trigger mode**, after sensing the human body, the " +"module outputs high level. During the subsequent delay period, if " +"somebody enters the sensing range,the output will keep being the high " +"level." +msgstr "" +"**H:** **Wiederholbarer Triggermodus**, nachdem der menschliche Körper " +"erfasst wurde, gibt das Modul einen hohen Niveau aus. Wenn während der " +"nachfolgenden Verzögerungszeit jemand den Erfassungsbereich betritt, " +"bleibt der Ausgang auf dem hohen Niveau." + +#: ../2.2.4_pir.rst:75 +msgid "" +"**L:** **Non-repeatable trigger mode**, outputs high level when it senses" +" the human body. After the delay, the output will change from high level " +"into low level automatically." +msgstr "" +"**L:** **Nicht wiederholbarer Triggermodus**, gibt einen hohen Pegel aus," +" wenn der menschliche Körper erfasst wird. Nach der Verzögerung wechselt " +"der Ausgang automatisch von High- auf Low-Pegel." + +#: ../2.2.4_pir.rst:80 +msgid "Schematic Diagram" +msgstr "Schematische Darstellung" + +#: ../2.2.4_pir.rst:86 +msgid "Experimental Procedures" +msgstr "Experimentelle Verfahren" + +#: ../2.2.4_pir.rst:88 +msgid "**Step 1:** Build the circuit." +msgstr "**Schritt 1:** Bauen Sie die Schaltung auf." + +#: ../2.2.4_pir.rst:96 +msgid "For C Language Users" +msgstr "Für Benutzer in C-Sprache" + +#: ../2.2.4_pir.rst:98 ../2.2.4_pir.rst:219 +msgid "**Step 2:** Go to the folder of the code." +msgstr "**Schritt 2:** Gehen Sie zum Ordner der Kode." + +#: ../2.2.4_pir.rst:108 +msgid "**Step 3:** Compile the code." +msgstr "**Schritt 3:** Kompilieren Sie die Kode." + +#: ../2.2.4_pir.rst:118 +msgid "**Step 4:** Run the executable file." +msgstr "**Schritt 4:** Führen Sie die ausführbare Datei aus." + +#: ../2.2.4_pir.rst:128 ../2.2.4_pir.rst:239 +msgid "" +"After the code runs, PIR detects surroundings and let RGB LED glow yellow" +" if it senses someone walking by. There are two potentiometers on the PIR" +" module: one is to adjust sensitivity and the other is to adjust the " +"detection distance. In order to make the PIR module work better, you need" +" to try to adjust these two potentiometers." +msgstr "" +"Nachdem die Kode ausgeführt wurde, erkennt PIR die Umgebung und lässt die" +" RGB-LED gelb leuchten, wenn sie erkennt, dass jemand vorbeigeht. Das " +"PIR-Modul verfügt über zwei Potentiometer: Das eine dient zum Einstellen " +"der Empfindlichkeit und das andere zum Einstellen des Erfassungsabstands." +" Damit das PIR-Modul besser funktioniert, müssen Sie versuchen, diese " +"beiden Potentiometer einzustellen." + +#: ../2.2.4_pir.rst:136 +msgid "" +"If it does not work after running, please refer to :ref:`C code is not " +"working?`" +msgstr "" +"Wenn es nach dem Ausführen nicht funktioniert, lesen Sie bitte :ref:`C " +"code is not working?`" + +#: ../2.2.4_pir.rst:139 ../2.2.4_pir.rst:245 +msgid "**Code**" +msgstr "**Code**" + +#: ../2.2.4_pir.rst:184 ../2.2.4_pir.rst:324 +msgid "**Code Explanation**" +msgstr "**Code Erklärung**" + +#: ../2.2.4_pir.rst:191 ../2.2.4_pir.rst:349 +msgid "" +"These codes are used to set the color of the RGB LED, and please refer to" +" :ref:`1.1.2 RGB LED` for more details." +msgstr "" +"Mit dieser Kode wird die Farbe der RGB-LED eingestellt. Weitere " +"Informationen finden Sie unter :ref:`1.1.2 RGB LED`." + +#: ../2.2.4_pir.rst:213 ../2.2.4_pir.rst:362 +msgid "" +"When PIR detects the human infrared spectrum, RGB LED emits the yellow " +"light; if not, emits the blue light." +msgstr "" +"Wenn PIR das menschliche Infrarotspektrum erkennt, sendet die RGB-LED das" +" gelbe Licht aus. Wenn nicht, wird das blaue Licht ausgesendet." + +#: ../2.2.4_pir.rst:217 +msgid "For Python Language Users" +msgstr "Für Python-Sprachbenutzer" + +#: ../2.2.4_pir.rst:229 +msgid "**Step 3:** Run the executable file." +msgstr "**Schritt 3:** Führen Sie die ausführbare Datei aus." + +#: ../2.2.4_pir.rst:249 + +msgid "" +"You can **Modify/Reset/Copy/Run/Stop** the code below. But before that, " +"you need to go to source code path like ``davinci-kit-for-raspberry-" +"pi/python``." +msgstr "" +"Sie können den folgenden Code **Ändern/Zurücksetzen/ " +"Kopieren/Ausführen/Stoppen**. Zuvor müssen Sie jedoch zu einem " +"Quellcodepfad wie ``davinci-kit-for-raspberry-pi/python`` gehen." + +#: ../2.2.4_pir.rst:366 +msgid "Phenomenon Picture" +msgstr "Phänomen Bild" + diff --git a/docs/source/locale/de/LC_MESSAGES/2.2.5_ultrasonic_sensor_module.po b/docs/source/locale/de/LC_MESSAGES/2.2.5_ultrasonic_sensor_module.po new file mode 100644 index 0000000..09c3ff0 --- /dev/null +++ b/docs/source/locale/de/LC_MESSAGES/2.2.5_ultrasonic_sensor_module.po @@ -0,0 +1,296 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, SunFounder +# This file is distributed under the same license as the SunFounder Davinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Davinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-19 18:22+0800\n" +"PO-Revision-Date: 2021-06-01 10:15+0800\n" +"Last-Translator: \n" +"Language: de\n" +"Language-Team: \n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../2.2.5_ultrasonic_sensor_module.rst:2 +msgid "2.2.5 Ultrasonic Sensor Module" +msgstr "2.2.5 Ultraschallsensormodul" + +#: ../2.2.5_ultrasonic_sensor_module.rst:5 +msgid "Introduction" +msgstr "Einführung" + +#: ../2.2.5_ultrasonic_sensor_module.rst:7 +msgid "" +"The ultrasonic sensor uses ultrasonic to accurately detect objects and " +"measure distances. It sends out ultrasonic waves and converts them into " +"electronic signals." +msgstr "" +"Der Ultraschallsensor verwendet Ultraschall, um Objekte genau zu erfassen" +" und die Entfernungen zu messen. Es sendet Ultraschallwellen aus und " +"wandelt sie in elektronische Signale um." + +#: ../2.2.5_ultrasonic_sensor_module.rst:12 +msgid "Components" +msgstr "Komponenten" + +#: ../2.2.5_ultrasonic_sensor_module.rst:18 +msgid "Principle" +msgstr "Prinzip" + +#: ../2.2.5_ultrasonic_sensor_module.rst:20 +msgid "**Ultrasonic**" +msgstr "**Ultraschall**" + +#: ../2.2.5_ultrasonic_sensor_module.rst:22 +msgid "" +"Ultrasonic ranging module provides 2cm - 400cm non-contact measurement " +"function, and the ranging accuracy can reach to 3mm. It can ensure that " +"the signal is stable within 5m, and the signal is gradually weakened " +"after 5m, till the 7m position disappears." +msgstr "" +"Das Ultraschall-Entfernungsmessmodul bietet eine berührungslose " +"Messfunktion von 2cm bis 400 cm, und die Entfernungsgenauigkeit kann bis " +"zu 3mm betragen. Es kann sicherstellen, dass das Signal innerhalb von 5m " +"stabil ist und das Signal nach 5m allmählich geschwächt wird, bis die 7m-" +"Position verschwindet." + +#: ../2.2.5_ultrasonic_sensor_module.rst:27 +msgid "" +"The module includes ultrasonic transmitters, receiver and control " +"circuit. The basic principles are as follows:" +msgstr "" +"Das Modul enthält Ultraschallsender, Empfänger und Steuerschaltung. Die " +"Grundprinzipien sind wie folgt:" + +#: ../2.2.5_ultrasonic_sensor_module.rst:30 +msgid "(1)Use an IO flip-flop to process a high level signal of at least 10us." +msgstr "" +"(1) Verwenden Sie ein IO -Flipflop, um ein Signal mit hohem Niveau von " +"mindestens 10us zu verarbeiten." + +#: ../2.2.5_ultrasonic_sensor_module.rst:32 +msgid "" +"(2)The module automatically sends eight 40khz and detects if there is a " +"pulse signal return." +msgstr "" +"(2) Das Modul sendet automatisch acht 40kHz und erkennt, ob ein " +"Impulssignal zurückkehrt." + +#: ../2.2.5_ultrasonic_sensor_module.rst:35 +msgid "" +"(3)If the signal returns, passing the high level, the high output IO " +"duration is the time from the transmission of the ultrasonic wave to the " +"return of it. Here, test distance = (high time x sound speed (340 m / s) " +"/ 2." +msgstr "" +"(3) Wenn das Signal zurückkehrt und den hohen Niveau überschreitet, ist " +"die IO -Dauer des hohen Ausgangs die Zeit von der Übertragung der " +"Ultraschallwelle bis zu ihrer Rückkehr. Hier Testabstand = (hohe Zeit x " +"Schallgeschwindigkeit (340 m / s) / 2." + +#: ../2.2.5_ultrasonic_sensor_module.rst:50 +msgid "" +"The timing diagram is shown below. You only need to supply a short 10us " +"pulse for the trigger input to start the ranging, and then the module " +"will send out an 8 cycle burst of ultrasound at 40 kHz and raise its " +"echo. You can calculate the range through the time interval between " +"sending trigger signal and receiving echo signal." +msgstr "" +"Das Zeitdiagramm ist unten dargestellt. Sie müssen nur einen kurzen 10us-" +"Impuls für den Triggereingang liefern, um die Entfernungsmessung zu " +"starten. Anschließend sendet das Modul einen Ultraschallstoß von 8 Zyklen" +" bei 40 kHz und erhöht sein Echo. Sie können den Bereich über das " +"Zeitintervall zwischen dem Senden des Triggersignals und dem Empfangen " +"des Echosignals berechnen." + +#: ../2.2.5_ultrasonic_sensor_module.rst:56 +msgid "" +"Formula: us / 58 = centimeters or us / 148 =inch; or: the range = high " +"level time \\* velocity (340M/S) / 2; you are suggested to use " +"measurement cycle over 60ms in order to prevent signal collisions of " +"trigger signal and the echo signal." +msgstr "" +"Formel: us / 58 = Zentimeter oder us / 148 = Zoll; oder: der Bereich = " +"hohe Niveauzeit \\* Geschwindigkeit (340M/S) / 2; Es wird empfohlen, " +"einen Messzyklus über 60ms zu verwenden, um Signalkollisionen des " +"Triggersignals und des Echosignals zu vermeiden." + +#: ../2.2.5_ultrasonic_sensor_module.rst:67 +msgid "Schematic Diagram" +msgstr "Schematische Darstellung" + +#: ../2.2.5_ultrasonic_sensor_module.rst:73 +msgid "Experimental Procedures" +msgstr "Experimentelle Verfahren" + +#: ../2.2.5_ultrasonic_sensor_module.rst:75 +msgid "**Step 1:** Build the circuit." +msgstr "**Schritt 1:** Bauen Sie die Schaltung auf." + +#: ../2.2.5_ultrasonic_sensor_module.rst:83 +msgid "For C Language Users" +msgstr "Für Benutzer in C-Sprache" + +#: ../2.2.5_ultrasonic_sensor_module.rst:85 +#: ../2.2.5_ultrasonic_sensor_module.rst:268 +msgid "**Step 2:** Go to the folder of the code." +msgstr "**Schritt 2:** Gehen Sie zum Ordner der Kode." + +#: ../2.2.5_ultrasonic_sensor_module.rst:95 +msgid "**Step 3:** Compile the code." +msgstr "**Schritt 3:** Kompilieren Sie die Kode." + +#: ../2.2.5_ultrasonic_sensor_module.rst:105 +msgid "**Step 4:** Run the executable file." +msgstr "**Schritt 4:** Führen Sie die ausführbare Datei aus." + +#: ../2.2.5_ultrasonic_sensor_module.rst:115 +#: ../2.2.5_ultrasonic_sensor_module.rst:288 +msgid "" +"With the code run, the ultrasonic sensor module detects the distance " +"between the obstacle ahead and the module itself, then the distance value" +" will be printed on the screen." +msgstr "" +"Wenn die Kode ausgeführt wird, erkennt das Ultraschallsensormodul den " +"Abstand zwischen dem vorausfahrenden Hindernis und dem Modul selbst. " +"Anschließend wird der Abstandswert auf dem Bildschirm gedruckt." + +#: ../2.2.5_ultrasonic_sensor_module.rst:121 +msgid "" +"If it does not work after running, please refer to :ref:`C code is not " +"working?`" +msgstr "" +"Wenn es nach dem Ausführen nicht funktioniert, lesen Sie bitte :ref:`C " +"code is not working?`" + +#: ../2.2.5_ultrasonic_sensor_module.rst:123 +#: ../2.2.5_ultrasonic_sensor_module.rst:294 +msgid "**Code**" +msgstr "**Code**" + +#: ../2.2.5_ultrasonic_sensor_module.rst:187 +#: ../2.2.5_ultrasonic_sensor_module.rst:352 +msgid "**Code Explanation**" +msgstr "**Code Erklärung**" + +#: ../2.2.5_ultrasonic_sensor_module.rst:197 +msgid "" +"Initialize the ultrasonic pin; meanwhile, set Echo to input, Trig to " +"output." +msgstr "" +"Initialisieren Sie den Ultraschall Pin. Stellen Sie währenddessen Echo " +"auf Eingabe und Trig auf Ausgabe." + +#: ../2.2.5_ultrasonic_sensor_module.rst:204 +#: ../2.2.5_ultrasonic_sensor_module.rst:358 +msgid "" +"This function is used to realize the function of ultrasonic sensor by " +"calculating the return detection distance." +msgstr "" +"Diese Funktion wird verwendet, um die Funktion des Ultraschallsensors " +"durch Berechnung der Rückerkennungsentfernung zu realisieren." + +#: ../2.2.5_ultrasonic_sensor_module.rst:212 +msgid "" +"Struct timeval is a structure used to store the current time. The " +"complete structure is as follows:" +msgstr "" +"Strukturzeitwert ist eine Struktur, die zum Speichern der aktuellen Zeit " +"verwendet wird. Die vollständige Struktur ist wie folgt:" + +#: ../2.2.5_ultrasonic_sensor_module.rst:223 +msgid "" +"Here, tv_sec represents the seconds that Epoch spent when creating struct" +" timeval. Tv_usec stands for microseconds or a fraction of seconds." +msgstr "" +"Hier repräsentiert tv_sec die Sekunden, die Epoch beim Erstellen des " +"Strukturzeitwerts verbracht hat. Tv_usec steht für Mikrosekunden oder " +"einen Bruchteil von Sekunden." + +#: ../2.2.5_ultrasonic_sensor_module.rst:233 +msgid "A 10us ultrasonic pulse is being sent out." +msgstr "Ein 10us Ultraschallimpuls wird gesendet." + +#: ../2.2.5_ultrasonic_sensor_module.rst:240 +#: ../2.2.5_ultrasonic_sensor_module.rst:375 +msgid "" +"This empty loop is used to ensure that when the trigger signal is sent, " +"there is no interfering echo signal and then get the current time." +msgstr "" +"Diese leere Schleife wird verwendet, um sicherzustellen, dass beim Senden" +" des Triggersignals kein störendes Echosignal vorhanden ist, und um dann " +"die aktuelle Zeit zu erhalten." + +#: ../2.2.5_ultrasonic_sensor_module.rst:248 +#: ../2.2.5_ultrasonic_sensor_module.rst:384 +msgid "" +"This empty loop is used to ensure that the next step is not performed " +"until the echo signal is received and then get the current time." +msgstr "" +"Diese leere Schleife wird verwendet, um sicherzustellen, dass der nächste" +" Schritt erst ausgeführt wird, wenn das Echosignal empfangen wird, und um" +" dann die aktuelle Zeit abzurufen." + +#: ../2.2.5_ultrasonic_sensor_module.rst:256 +msgid "Convert the time stored by struct timeval into a full microsecond time." +msgstr "" +"Konvertieren Sie die von struct timeval gespeicherte Zeit in eine volle " +"Mikrosekundenzeit." + +#: ../2.2.5_ultrasonic_sensor_module.rst:262 +msgid "" +"The distance is calculated by the time interval and the speed of sound " +"propagation. The speed of sound in the air: 34000cm/s." +msgstr "" +"Die Entfernung wird durch das Zeitintervall und die Geschwindigkeit der " +"Schallausbreitung berechnet. Die Schallgeschwindigkeit in der Luft: " +"34000cm/s." + +#: ../2.2.5_ultrasonic_sensor_module.rst:266 +msgid "For Python Language Users" +msgstr "Für Python-Sprachbenutzer" + +#: ../2.2.5_ultrasonic_sensor_module.rst:278 +msgid "**Step 3:** Run the executable file." +msgstr "**Schritt 3:** 8 Führen Sie die ausführbare Datei aus." + +#: ../2.2.5_ultrasonic_sensor_module.rst:298 + +msgid "" +"You can **Modify/Reset/Copy/Run/Stop** the code below. But before that, " +"you need to go to source code path like ``davinci-kit-for-raspberry-" +"pi/python``." +msgstr "" +"Sie können den folgenden Code **Ändern/Zurücksetzen/ " +"Kopieren/Ausführen/Stoppen**. Zuvor müssen Sie jedoch zu einem " +"Quellcodepfad wie ``davinci-kit-for-raspberry-pi/python`` gehen." + +#: ../2.2.5_ultrasonic_sensor_module.rst:367 +msgid "This is sending out a 10us ultrasonic pulse." +msgstr "Dies sendet einen 10us Ultraschallimpuls aus." + +#: ../2.2.5_ultrasonic_sensor_module.rst:391 +msgid "Execute the interval calculation." +msgstr "Führen Sie die Intervallberechnung durch." + +#: ../2.2.5_ultrasonic_sensor_module.rst:397 +msgid "" +"The distance is calculated in the light of time interval and the speed of" +" sound propagation. The speed of sound in the air: 340m/s." +msgstr "" +"Die Entfernung wird unter Berücksichtigung des Zeitintervalls und der " +"Schallausbreitungsgeschwindigkeit berechnet. Die Schallgeschwindigkeit in" +" der Luft: 340 m/s." + +#: ../2.2.5_ultrasonic_sensor_module.rst:401 +msgid "Phenomenon Picture" +msgstr "Phänomen Bild" + diff --git a/docs/source/locale/de/LC_MESSAGES/2.2.6_mpu6050_module.po b/docs/source/locale/de/LC_MESSAGES/2.2.6_mpu6050_module.po new file mode 100644 index 0000000..cf87e58 --- /dev/null +++ b/docs/source/locale/de/LC_MESSAGES/2.2.6_mpu6050_module.po @@ -0,0 +1,403 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, SunFounder +# This file is distributed under the same license as the SunFounder Davinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Davinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-19 18:22+0800\n" +"PO-Revision-Date: 2021-06-01 10:18+0800\n" +"Last-Translator: \n" +"Language: de\n" +"Language-Team: \n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../2.2.6_mpu6050_module.rst:2 +msgid "2.2.6 MPU6050 Module" +msgstr "2.2.6 MPU6050-Modul" + +#: ../2.2.6_mpu6050_module.rst:5 +msgid "Introduction" +msgstr "Einführung" + +#: ../2.2.6_mpu6050_module.rst:7 +msgid "" +"The MPU-6050 is the world’s first and only 6-axis motion tracking devices" +" (3-axis Gyroscope and 3-axis Accelerometer) designed for smartphones, " +"tablets and wearable sensors that have these features, including the low " +"power, low cost, and high performance requirements." +msgstr "" +"Die MPU-6050 ist das weltweit erste und einzige 6-Achsen-" +"Bewegungsverfolgungsgerät (3-Achsen-Gyroskop und 3-Achsen-" +"Beschleunigungsmesser), das für Smartphones, Tablets und tragbare " +"Sensoren entwickelt wurde, die diese Funktionen aufweisen, einschließlich" +" geringer Leistung, geringer Kosten und hoher Leistung " +"Leistungsanforderungen." + +#: ../2.2.6_mpu6050_module.rst:12 +msgid "" +"In this experiment, use I2C to obtain the values of the three-axis " +"acceleration sensor and three-axis gyroscope for MPU6050 and display them" +" on the screen." +msgstr "" +"Verwenden Sie in diesem Experiment I2C, um die Werte des dreiachsigen " +"Beschleunigungssensors und des dreiachsigen Gyroskops für MPU6050 zu " +"erhalten und auf dem Bildschirm anzuzeigen." + +#: ../2.2.6_mpu6050_module.rst:17 +msgid "Components" +msgstr "Komponenten" + +#: ../2.2.6_mpu6050_module.rst:23 +msgid "Principle" +msgstr "Prinzip" + +#: ../2.2.6_mpu6050_module.rst:25 +msgid "**MPU6050**" +msgstr "**MPU6050**" + +#: ../2.2.6_mpu6050_module.rst:27 +msgid "" +"The MPU-6050 is a 6-axis(combines 3-axis Gyroscope, 3-axis Accelerometer)" +" motion tracking devices." +msgstr "" +"Die MPU-6050 ist ein 6-Achsen-Bewegungsverfolgungsgerät (kombiniert 3" +"-Achsen-Gyroskop, 3-Achsen-Beschleunigungsmesser)." + +#: ../2.2.6_mpu6050_module.rst:30 +msgid "Its three coordinate systems are defined as follows:" +msgstr "Seine drei Koordinatensysteme sind wie folgt definiert:" + +#: ../2.2.6_mpu6050_module.rst:32 +msgid "" +"Put MPU6050 flat on the table, assure that the face with label is upward " +"and a dot on this surface is on the top left corner. Then the upright " +"direction upward is the z-axis of the chip. The direction from left to " +"right is regarded as the X-axis. Accordingly the direction from back to " +"front is defined as the Y-axis." +msgstr "" +"Legen Sie die MPU6050 flach auf den Tisch und stellen Sie sicher, dass " +"das Gesicht mit dem Etikett nach oben zeigt und sich ein Punkt auf dieser" +" Oberfläche in der oberen linken Ecke befindet. Dann ist die aufrechte " +"Richtung nach oben die z-Achse des Chips. Die Richtung von links nach " +"rechts wird als X-Achse angesehen. Dementsprechend ist die Richtung von " +"hinten nach vorne als Y-Achse definiert." + +#: ../2.2.6_mpu6050_module.rst:41 +msgid "**3-axis Accelerometer**" +msgstr "**3-Achsbeschleunigungsmesser**" + +#: ../2.2.6_mpu6050_module.rst:43 +msgid "" +"The accelerometer works on the principle of piezo electric effect, the " +"ability of certain materials to generate an electric charge in response " +"to applied mechanical stress." +msgstr "" +"Der Beschleunigungsmesser arbeitet nach dem Prinzip des piezoelektrischen" +" Effekts, der Fähigkeit bestimmter Materialien, als Reaktion auf " +"angelegte mechanische Beanspruchung eine elektrische Ladung zu erzeugen." + +#: ../2.2.6_mpu6050_module.rst:47 +msgid "" +"Here, imagine a cuboidal box, having a small ball inside it, like in the " +"picture above. The walls of this box are made with piezo electric " +"crystals. Whenever you tilt the box, the ball is forced to move in the " +"direction of the inclination, due to gravity. The wall with which the " +"ball collides, creates tiny piezo electric currents. There are totally, " +"three pairs of opposite walls in a cuboid. Each pair corresponds to an " +"axis in 3D space: X, Y and Z axes. Depending on the current produced from" +" the piezo electric walls, we can determine the direction of inclination " +"and its magnitude." +msgstr "" +"Stellen Sie sich hier eine quaderförmige Kisten vor, in der sich eine " +"kleine Kugel befindet, wie im obigen Bild. Die Wände dieser Kisten " +"bestehen aus piezoelektrischen Kristallen. Immer wenn Sie die Kisten " +"kippen, muss sich der Ball aufgrund der Schwerkraft in Richtung der " +"Neigung bewegen. Die Wand, mit der die Kugel kollidiert, erzeugt winzige " +"piezoelektrische Ströme. Es gibt insgesamt drei Paare gegenüberliegender " +"Wände in einem Quader. Jedes Paar entspricht einer Achse im 3D-Raum: X-, " +"Y- und Z-Achse. Abhängig vom Strom, der von den piezoelektrischen Wänden " +"erzeugt wird, können wir die Neigungsrichtung und ihre Größe bestimmen." + +#: ../2.2.6_mpu6050_module.rst:60 +msgid "" +"We can use the MPU6050 to detect its acceleration on each coordinate axis" +" (in the stationary desktop state, the Z-axis acceleration is 1 gravity " +"unit, and the X and Y axes are 0). If it is tilted or in a " +"weightless/overweight condition, the corresponding reading will change." +msgstr "" +"Wir können die MPU6050 verwenden, um ihre Beschleunigung auf jeder " +"Koordinatenachse zu erfassen (im stationären Desktop-Zustand beträgt die " +"Beschleunigung der Z-Achse 1 Schwerkrafteinheit und die X- und Y-Achse " +"0). Wenn es gekippt ist oder sich in einem schwerelosen / übergewichtigen" +" Zustand befindet, ändert sich der entsprechende Wert." + +#: ../2.2.6_mpu6050_module.rst:65 +msgid "" +"There are four kinds of measuring ranges that can be selected " +"programmatically: +/-2g, +/-4g, +/-8g, and +/-16g (2g by default) " +"corresponding to each precision. Values range from -32768 to 32767." +msgstr "" +"Es gibt vier Arten von Messbereichen, die programmgesteuert ausgewählt " +"werden können: +/-2g, +/-4g, +/-8g und +/-16g (standardmäßig 2 g), die " +"jeder Genauigkeit entsprechen. Die Werte reichen von -32768 bis 32767." + +#: ../2.2.6_mpu6050_module.rst:69 +msgid "" +"The reading of accelerometer is converted to an acceleration value by " +"mapping the reading from the reading range to the measuring range." +msgstr "" +"Der Messwert des Beschleunigungsmessers wird in einen Beschleunigungswert" +" umgewandelt, indem der Messwert vom Messbereich auf den Messbereich " +"abgebildet wird." + +#: ../2.2.6_mpu6050_module.rst:72 +msgid "" +"Acceleration = (Accelerometer axis raw data / 65536 \\* full scale " +"Acceleration range) g" +msgstr "" +"Beschleunigung = (Rohdaten der Beschleunigungsmesserachse / 65536 \\* " +"voller Beschleunigungsbereich) g" + +#: ../2.2.6_mpu6050_module.rst:75 +msgid "" +"Take the X-axis as an example, when Accelerometer X axis raw data is " +"16384 and the range is selected as +/-2g:" +msgstr "" +"Nehmen Sie als Beispiel die X-Achse, wenn die Rohdaten der X-Achse des " +"Beschleunigungsmessers 16384 sind und der Bereich als +/- 2 g ausgewählt " +"ist:" + +#: ../2.2.6_mpu6050_module.rst:78 +msgid "**Acceleration along the X axis = (16384 / 65536 \\* 4) g** **=1g**" +msgstr "**Beschleunigung entlang der X-Achse = (16384/65536 \\* 4) g = 1 g**" + +#: ../2.2.6_mpu6050_module.rst:80 +msgid "**3-axis Gyroscope**" +msgstr "**3-Achsen-Gyroskop**" + +#: ../2.2.6_mpu6050_module.rst:82 +msgid "" +"Gyroscopes work on the principle of Coriolis acceleration. Imagine that " +"there is a fork like structure, that is in constant back and forth " +"motion. It is held in place using piezo electric crystals. Whenever, you " +"try to tilt this arrangement, the crystals experience a force in the " +"direction of inclination. This is caused as a result of the inertia of " +"the moving fork. The crystals thus produce a current in consensus with " +"the piezo electric effect, and this current is amplified." +msgstr "" +"Gyroskope arbeiten nach dem Prinzip der Coriolis-Beschleunigung.. Stellen" +" Sie sich vor, es gibt eine gabelartige Struktur, die sich ständig hin " +"und her bewegt. Es wird mit piezoelektrischen Kristallen an Ort und " +"Stelle gehalten. Immer wenn Sie versuchen, diese Anordnung zu kippen, " +"erfahren die Kristalle eine Kraft in Neigungsrichtung. Dies wird durch " +"die Trägheit der beweglichen Gabel verursacht. Die Kristalle erzeugen " +"somit einen Strom, der mit dem piezoelektrischen Effekt übereinstimmt, " +"und dieser Strom wird verstärkt." + +#: ../2.2.6_mpu6050_module.rst:94 +msgid "" +"The Gyroscope also has four kinds of measuring ranges: +/- 250, +/- 500, " +"+/- 1000, +/- 2000. The calculation method and Acceleration are basically" +" consistent." +msgstr "" +"Das Gyroskop verfügt außerdem über vier Arten von Messbereichen: +/- 250," +" +/- 500, +/- 1000, +/- 2000. Die Berechnungsmethode und die " +"Beschleunigung sind grundsätzlich konsistent." + +#: ../2.2.6_mpu6050_module.rst:98 +msgid "" +"The formula for converting the reading into angular velocity is as " +"follows:" +msgstr "" +"Die Formel zum Umwandeln des Messwerts in die Winkelgeschwindigkeit " +"lautet wie folgt:" + +#: ../2.2.6_mpu6050_module.rst:101 +msgid "" +"Angular velocity = (Gyroscope axis raw data / 65536 \\* full scale " +"Gyroscope range) °/s" +msgstr "" +"Winkelgeschwindigkeit = (Rohdaten der Gyroskopachse / 65536 \\* " +"Gyroskopbereich im vollen Maßstab) °/s" + +#: ../2.2.6_mpu6050_module.rst:104 +msgid "" +"The X axis, for example, the Accelerometer X axis raw data is 16384 and " +"ranges + / - 250°/ s:" +msgstr "" +"Die X-Achse, zum Beispiel die Rohdaten der X-Achse des " +"Beschleunigungsmessers, ist 16384 und reicht von +/- 250 °/s:" + +#: ../2.2.6_mpu6050_module.rst:107 +msgid "" +"**Angular velocity along the X axis = (16384 / 65536 \\* 500)°/s** " +"**=125°/s**" +msgstr "" +"**Winkelgeschwindigkeit entlang der X-Achse = (16384/65536 \\* 500) °/s**" +" **= 125 °/s**" + +#: ../2.2.6_mpu6050_module.rst:110 +msgid "Schematic Diagram" +msgstr "Schematische Darstellung" + +#: ../2.2.6_mpu6050_module.rst:112 +msgid "" +"MPU6050 communicates with the microcontroller through the I2C bus " +"interface. The SDA1 and SCL1 need to be connected to the corresponding " +"pin." +msgstr "" +"Die MPU6050 kommuniziert mit dem Mikrocontroller über die I2C-" +"Busschnittstelle. Der SDA1 und der SCL1 müssen mit dem entsprechenden Pin" +" verbunden werden." + +#: ../2.2.6_mpu6050_module.rst:122 +msgid "Experimental Procedures" +msgstr "Experimentelle Verfahren" + +#: ../2.2.6_mpu6050_module.rst:124 +msgid "**Step 1:** Build the circuit." +msgstr "**Schritt 1:** Bauen Sie die Schaltung auf." + +#: ../2.2.6_mpu6050_module.rst:131 +msgid "**Step 2**: Setup I2C (see Appendix. If you have set I2C, skip this step.)" +msgstr "" +"**Schritt 2:** I2C einrichten (siehe Anhang. Wenn Sie I2C eingestellt " +"haben, überspringen Sie diesen Schritt.)" + +#: ../2.2.6_mpu6050_module.rst:135 +msgid "For C Language Users" +msgstr "Für Benutzer in C-Sprache" + +#: ../2.2.6_mpu6050_module.rst:137 ../2.2.6_mpu6050_module.rst:355 +msgid "**Step 3:** Go to the folder of the code." +msgstr "**Schritt 3:** Gehen Sie zum Ordner der Kode." + +#: ../2.2.6_mpu6050_module.rst:147 +msgid "**Step 4:** Compile the code." +msgstr "**Schritt 4:** Kompilieren Sie der Kode." + +#: ../2.2.6_mpu6050_module.rst:157 +msgid "**Step 5:** Run the executable file." +msgstr "**Schritt 5:** Führen Sie die ausführbare Datei aus." + +#: ../2.2.6_mpu6050_module.rst:167 +msgid "" +"With the code run, deflection angle of x axis, y axis and the " +"acceleration, angular velocity on each axis read by MPU6050 will be " +"printed on the screen after being calculating." +msgstr "" +"Wenn die Kode ausgeführt wird, werden der Ablenkwinkel der x-Achse, der " +"y-Achse und die Beschleunigung sowie die Winkelgeschwindigkeit auf jeder " +"von der MPU6050 gelesenen Achse nach der Berechnung auf dem Bildschirm " +"gedruckt." + +#: ../2.2.6_mpu6050_module.rst:173 +msgid "" +"If it does not work after running, please refer to :ref:`C code is not " +"working?`" +msgstr "" +"Wenn es nach dem Ausführen nicht funktioniert, lesen Sie bitte :ref:`C " +"code is not working?`" + +#: ../2.2.6_mpu6050_module.rst:175 ../2.2.6_mpu6050_module.rst:379 +msgid "**Code**" +msgstr "**Code**" + +#: ../2.2.6_mpu6050_module.rst:269 ../2.2.6_mpu6050_module.rst:461 +msgid "**Code Explanation**" +msgstr "**Code Erklärung**" + +#: ../2.2.6_mpu6050_module.rst:284 ../2.2.6_mpu6050_module.rst:478 +msgid "Read sensor data sent from MPU6050." +msgstr "Lesen Sie die von der MPU6050 gesendeten Sensordaten." + +#: ../2.2.6_mpu6050_module.rst:295 +msgid "We get the deflection angle on the Y-axis." +msgstr "Wir erhalten den Ablenkwinkel auf der Y-Achse." + +#: ../2.2.6_mpu6050_module.rst:306 +msgid "Calculate the deflection angle of the X-axis." +msgstr "Berechnen Sie den Ablenkwinkel der x-Achse." + +#: ../2.2.6_mpu6050_module.rst:323 ../2.2.6_mpu6050_module.rst:507 +msgid "" +"Read the values of the x axis, y axis and z axis on the gyroscope sensor," +" convert the metadata to angular velocity values, and then print them." +msgstr "" +"Lesen Sie die Werte der x-Achse, der y-Achse und der z-Achse auf dem " +"Gyroskopsensor, konvertieren Sie die Metadaten in " +"Winkelgeschwindigkeitswerte und drucken Sie sie dann aus." + +#: ../2.2.6_mpu6050_module.rst:341 +msgid "" +"Read the values of the x axis, y axis and z axis on the acceleration " +"sensor, convert the metadata to accelerated speed values (gravity unit), " +"and then print them." +msgstr "" +"Lesen Sie die Werte der x-, y- und z-Achse auf dem Beschleunigungssensor " +"ab, konvertieren Sie die Metadaten in beschleunigte Geschwindigkeitswerte" +" (Schwerkrafteinheit) und drucken Sie sie dann aus." + +#: ../2.2.6_mpu6050_module.rst:350 ../2.2.6_mpu6050_module.rst:533 +msgid "Print the deflection angles of the x-axis and y-axis." +msgstr "Drucken Sie die Ablenkwinkel der x- und y-Achse." + +#: ../2.2.6_mpu6050_module.rst:353 +msgid "For Python Language Users" +msgstr "Für Python-Sprachbenutzer" + +#: ../2.2.6_mpu6050_module.rst:365 +msgid "**Step 4:** Run the executable file." +msgstr "**Schritt 4:** Führen Sie die ausführbare Datei aus." + +#: ../2.2.6_mpu6050_module.rst:375 +msgid "" +"With the code run, the angle of deflection of the x-axis and y-axis and " +"the acceleration, angular velocity on each axis read by MPU6050 will be " +"printed on the screen after being calculating." +msgstr "" +"Wenn die Kode ausgeführt wird, werden der Ablenkwinkel der x- und y-Achse" +" sowie die Beschleunigung und Winkelgeschwindigkeit auf jeder von MPU6050" +" gelesenen Achse nach der Berechnung auf dem Bildschirm gedruckt." + +#: ../2.2.6_mpu6050_module.rst:384 + +msgid "" +"You can **Modify/Reset/Copy/Run/Stop** the code below. But before that, " +"you need to go to source code path like ``davinci-kit-for-raspberry-" +"pi/python``." +msgstr "" +"Sie können den folgenden Code **Ändern/Zurücksetzen/ " +"Kopieren/Ausführen/Stoppen**. Zuvor müssen Sie jedoch zu einem " +"Quellcodepfad wie ``davinci-kit-for-raspberry-pi/python`` gehen." + +#: ../2.2.6_mpu6050_module.rst:487 +msgid "Calculate the deflection angle of the y-axis." +msgstr "Berechnen Sie den Ablenkwinkel der y-Achse." + +#: ../2.2.6_mpu6050_module.rst:495 +msgid "Calculate the deflection angle of the x-axis." +msgstr "Berechnen Sie den Ablenkwinkel der x-Achse." + +#: ../2.2.6_mpu6050_module.rst:524 +msgid "" +"Read the values of the x axis, y axis and z axis on the acceleration " +"sensor, convert the elements to accelerated speed value (gravity unit), " +"and print them." +msgstr "" +"Lesen Sie die Werte der x-Achse, der y-Achse und der z-Achse auf dem " +"Gyroskopsensor, konvertieren Sie die Metadaten in " +"Winkelgeschwindigkeitswerte und drucken Sie sie dann aus." + +#: ../2.2.6_mpu6050_module.rst:536 +msgid "Phenomenon Picture" +msgstr "Phänomen Bild" + diff --git a/docs/source/locale/de/LC_MESSAGES/2.2.7_mfrc522_rfid_module.po b/docs/source/locale/de/LC_MESSAGES/2.2.7_mfrc522_rfid_module.po new file mode 100644 index 0000000..b2e8338 --- /dev/null +++ b/docs/source/locale/de/LC_MESSAGES/2.2.7_mfrc522_rfid_module.po @@ -0,0 +1,352 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, SunFounder +# This file is distributed under the same license as the SunFounder Davinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Davinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-19 18:22+0800\n" +"PO-Revision-Date: 2021-06-01 10:20+0800\n" +"Last-Translator: \n" +"Language: de\n" +"Language-Team: \n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../2.2.7_mfrc522_rfid_module.rst:2 +msgid "2.2.7 MFRC522 RFID Module" +msgstr "2.2.7 MFRC522 RFID-Modul" + +#: ../2.2.7_mfrc522_rfid_module.rst:5 +msgid "Introduction" +msgstr "Einführung" + +#: ../2.2.7_mfrc522_rfid_module.rst:7 +msgid "" +"Radio Frequency Identification (RFID) refers to technologies that use " +"wireless communication between an object (or tag) and interrogating " +"device (or reader) to automatically track and identify such objects." +msgstr "" +"Radio Frequency Identification (RFID) bezieht sich auf Technologien, die " +"die drahtlose Kommunikation zwischen einem Objekt (oder Tag) und einem " +"Abfragegerät (oder Lesegerät) verwenden, um solche Objekte automatisch zu" +" verfolgen und zu identifizieren." + +#: ../2.2.7_mfrc522_rfid_module.rst:11 +msgid "" +"Some of the most common applications for this technology include retail " +"supply chains, military supply chains, automated payment methods, baggage" +" tracking and management, document tracking and pharmaceutical " +"management, to name a few." +msgstr "" +"Einige der häufigsten Anwendungen für diese Technologie sind Lieferketten" +" für den Einzelhandel, militärische Lieferketten, automatisierte " +"Zahlungsmethoden, Gepäckverfolgung und -verwaltung, Dokumentenverfolgung " +"und pharmazeutische Verwaltung, um nur einige zu nennen." + +#: ../2.2.7_mfrc522_rfid_module.rst:16 +msgid "In this project, we will use RFID for reading and writing." +msgstr "In diesem Projekt werden wir RFID zum Lesen und Schreiben verwenden." + +#: ../2.2.7_mfrc522_rfid_module.rst:19 +msgid "Components" +msgstr "Komponenten" + +#: ../2.2.7_mfrc522_rfid_module.rst:25 +msgid "Principle" +msgstr "Prinzip" + +#: ../2.2.7_mfrc522_rfid_module.rst:27 +msgid "**RFID**" +msgstr "**RFID**" + +#: ../2.2.7_mfrc522_rfid_module.rst:29 +msgid "" +"Radio Frequency Identification (RFID) refers to technologies that involve" +" using wireless communication between an object (or tag) and an " +"interrogating device (or reader) to automatically track and identify such" +" objects. The tag transmission range is limited to several meters from " +"the reader. A clear line of sight between the reader and tag is not " +"necessarily required." +msgstr "" +"Radio Frequency Identification (RFID) bezieht sich auf Technologien, bei " +"denen eine drahtlose Kommunikation zwischen einem Objekt (oder Tag) und " +"einem Abfragegerät (oder Lesegerät) verwendet wird, um solche Objekte " +"automatisch zu verfolgen und zu identifizieren. Die Tag-" +"Übertragungsreichweite ist auf mehrere Meter vom Lesegerät begrenzt. Eine" +" klare Sichtlinie zwischen Lesegerät und Etikett ist nicht unbedingt " +"erforderlich." + +#: ../2.2.7_mfrc522_rfid_module.rst:36 +msgid "" +"Most tags contain at least one integrated circuit (IC) and an antenna. " +"The microchip stores information and is responsible for managing the " +"radio frequency (RF) communication with the reader. Passive tags do not " +"have an independent energy source and depend on an external " +"electromagnetic signal, provided by the reader, to power their " +"operations. Active tags contain an independent energy source, such as a " +"battery. Thus, they may have increased processing, transmission " +"capabilities and range." +msgstr "" +"Die meisten Etikette enthalten mindestens eine integrierte Schaltung (IC)" +" und eine Antenne. Der Mikrochip speichert Informationen und ist für die " +"Verwaltung der Hochfrequenzkommunikation mit dem Lesegerät " +"verantwortlich. Passive Etiketts haben keine unabhängige Energiequelle " +"und sind auf ein externes elektromagnetisches Signal angewiesen, das vom " +"Lesegerät bereitgestellt wird, um ihren Betrieb zu betreiben. Aktive " +"Etiketts enthalten eine unabhängige Energiequelle, z. B. eine Batterie. " +"Dann können sie eine erhöhte Verarbeitung, Übertragungsfähigkeit und " +"Reichweite aufweisen." + +#: ../2.2.7_mfrc522_rfid_module.rst:48 +msgid "**MFRC522**" +msgstr "**MFRC522**" + +#: ../2.2.7_mfrc522_rfid_module.rst:50 +msgid "" +"MFRC522 is a kind of integrated read and write card chip. It is commonly " +"used in the radio at 13.56MHz. Launched by the NXP Company, it is a low-" +"voltage, low-cost, and small-sized non-contact card chip, a best choice " +"of intelligent instrument and portable handheld device." +msgstr "" +"MFRC522 ist eine Art integrierter Lese- und Schreibkartenchip. Es wird " +"üblicherweise im Radio bei 13,56 MHz verwendet. Es wurde von der NXP " +"Company eingeführt und ist ein berührungsloser, kostengünstiger und " +"kleiner Niederspannungs-Kartenchip, der die beste Wahl für intelligente " +"Instrumente und tragbare Handheld-Geräte darstellt." + +#: ../2.2.7_mfrc522_rfid_module.rst:55 +msgid "" +"The MF RC522 uses advanced modulation and demodulation concept which " +"fully presented in all types of 13.56MHz passive contactless " +"communication methods and protocols. In addition, it supports rapid " +"CRYPTO1 encryption algorithm to verify MIFARE products. MFRC522 also " +"supports MIFARE series of high-speed non-contact communication, with a " +"two-way data transmission rate up to 424kbit/s. As a new member of the " +"13.56MHz highly integrated reader card series, MF RC522 is much similar " +"to the existing MF RC500 and MF RC530 but there also exists great " +"differences. It communicates with the host machine via the serial manner " +"which needs less wiring. You can choose between SPI, I2C and serial UART " +"mode (similar to RS232), which helps reduce the connection, save PCB " +"board space (smaller size), and reduce cost." +msgstr "" +"Der MF RC522 verwendet ein fortschrittliches Modulations- und " +"Demodulationskonzept, das in allen Arten von passiven kontaktlosen " +"Kommunikationsmethoden und -protokollen mit 13,56 MHz vollständig " +"dargestellt wird. Darüber hinaus unterstützt es den schnellen " +"CRYPTO1-Verschlüsselungsalgorithmus zur Überprüfung von MIFARE-Produkten." +" Der MFRC522 unterstützt auch die berührungslose " +"Hochgeschwindigkeitskommunikation der MIFARE-Serie mit einer " +"bidirektionalen Datenübertragungsrate von bis zu 424 kbit/s. Als neues " +"Mitglied der hochintegrierten 13,56-MHz-Lesekartenserie ist der MF RC522 " +"dem vorhandenen MF RC500 und MF RC530 sehr ähnlich, es gibt jedoch auch " +"große Unterschiede. Es kommuniziert mit dem Host-Computer über die " +"serielle Art und Weise, die weniger Verkabelung erfordert. Sie können " +"zwischen SPI-, I2C- und seriellem UART-Modus (ähnlich wie RS232) wählen, " +"um die Verbindung zu reduzieren, Platz auf der Leiterplatte zu sparen " +"(kleinere Größe) und Kosten zu senken." + +#: ../2.2.7_mfrc522_rfid_module.rst:69 +msgid "Schematic Diagram" +msgstr "Schematische Darstellung" + +#: ../2.2.7_mfrc522_rfid_module.rst:75 +msgid "Experimental Procedures" +msgstr "Experimentelle Verfahren" + +#: ../2.2.7_mfrc522_rfid_module.rst:77 +msgid "**Step 1:** Build the circuit." +msgstr "**Schritt 1:** Bauen Sie die Schaltung auf." + +#: ../2.2.7_mfrc522_rfid_module.rst:84 +msgid "" +"**Step 2:** Set up SPI (refer to :ref:`Appendix` for more details. If you" +" have set SPI, skip this step.)" +msgstr "" +"**Schritt 2:** SPI einrichten (weitere Informationen finden Sie in " +":ref:`Appendix`. Wenn Sie SPI festgelegt haben, überspringen Sie diesen " +"Schritt.)" + +#: ../2.2.7_mfrc522_rfid_module.rst:88 +msgid "For C Language Users" +msgstr "Für Benutzer in C-Sprache" + +#: ../2.2.7_mfrc522_rfid_module.rst:90 ../2.2.7_mfrc522_rfid_module.rst:195 +msgid "**Step 3:** Go to the folder of the code." +msgstr "**Schritt 3:** Gehen Sie zum Ordner der Kode." + +#: ../2.2.7_mfrc522_rfid_module.rst:100 +msgid "**Step 4:** Compile the code." +msgstr "**Schritt 4:** Kompilieren Sie die Kode." + +#: ../2.2.7_mfrc522_rfid_module.rst:112 +msgid "" +"There are two examples for you to read or write the card ID, and you can " +"choose one of them according to your need." +msgstr "" +"Es gibt zwei Beispiele, mit denen Sie die Karten-ID lesen oder schreiben " +"können. Sie können je nach Bedarf eines davon auswählen." + +#: ../2.2.7_mfrc522_rfid_module.rst:115 +msgid "**Step 5:** Run the executable file." +msgstr "**Schritt 5:** Führen Sie die ausführbare Datei aus." + +#: ../2.2.7_mfrc522_rfid_module.rst:135 +msgid "" +"If it does not work after running, please refer to :ref:`C code is not " +"working?`" +msgstr "" +"Wenn es nach dem Ausführen nicht funktioniert, lesen Sie bitte :ref:`C " +"code is not working?`" + +#: ../2.2.7_mfrc522_rfid_module.rst:137 ../2.2.7_mfrc522_rfid_module.rst:295 +msgid "**Code Explanation**" +msgstr "**Code Erklärung**" + +#: ../2.2.7_mfrc522_rfid_module.rst:143 +msgid "This function is used to initialize the RFID RC522 module." +msgstr "Mit dieser Funktion wird das RFID RC522-Modul initialisiert." + +#: ../2.2.7_mfrc522_rfid_module.rst:149 +msgid "" +"This function is used to read the data of the card, and if the read is " +"successful, it will return \"1\"." +msgstr "" +"Diese Funktion wird zum Lesen der Daten der Karte verwendet. Wenn der " +"Lesevorgang erfolgreich ist, wird \"1\" zurückgegeben." + +#: ../2.2.7_mfrc522_rfid_module.rst:156 +msgid "" +"This function is used to write the data of card and returns \"1\" if the " +"write is successful. \\*data is the information that will be written to " +"the card." +msgstr "" +"Diese Funktion wird verwendet, um die Daten der Karte zu schreiben und " +"gibt \"1\" zurück, wenn das Schreiben erfolgreich war. \\*Daten sind die " +"Informationen, die auf die Karte geschrieben werden." + +#: ../2.2.7_mfrc522_rfid_module.rst:163 +msgid "For Python Language Users" +msgstr "Für Python-Sprachbenutzer" + +#: ../2.2.7_mfrc522_rfid_module.rst:164 +msgid "**Step 2:** Install the libraries." +msgstr "**Schritt 2:** Installieren Sie die Bibliotheken." + +#: ../2.2.7_mfrc522_rfid_module.rst:166 +msgid "" +"The ``spidev`` library helps handle interactions with the SPI and is a " +"key component to this tutorial as we need it for the Raspberry Pi to " +"interact with the RFID RC522." +msgstr "" +"Die ``spidev``-Bibliothek hilft bei der Handhabung von Interaktionen mit " +"dem SPI und ist eine Schlüsselkomponente für dieses Tutorial, da wir sie " +"für die Interaktion des Raspberry Pi mit dem RFID RC522 benötigen." + +#: ../2.2.7_mfrc522_rfid_module.rst:168 +msgid "" +"Run the following command to install ``spidev`` to your Raspberry Pi via " +"``pip``." +msgstr "" +"Führen Sie den folgenden Befehl aus, um ``spidev`` über ``pip`` auf Ihrem" +" Raspberry Pi zu installieren." + +#: ../2.2.7_mfrc522_rfid_module.rst:179 +msgid "" +"Continue to install the MFRC522 library. The MFRC522 library contains two" +" files: ``MFRC522.py`` and ``SimpleMFRC522.py``." +msgstr "" +"Fahren Sie mit der Installation der MFRC522-Bibliothek fort. Die " +"MFRC522-Bibliothek enthält zwei Dateien: ``MFRC522.py`` und " +"``SimpleMFRC522.py``." + +#: ../2.2.7_mfrc522_rfid_module.rst:181 +msgid "" +"Among them ``MFRC522.py`` is the realization of RFID RC522 interface, " +"this library handles all the heavy work of communicating with RFID " +"through Pi's SPI interface." +msgstr "" +"Unter ihnen ist ``MFRC522.py`` die Realisierung der RFID-" +"RC522-Schnittstelle, diese Bibliothek übernimmt die gesamte schwere " +"Arbeit der Kommunikation mit RFID über die SPI-Schnittstelle von Pi." + +#: ../2.2.7_mfrc522_rfid_module.rst:183 +msgid "" +"``SimpleMFRC522.py`` takes the ``MFRC522.py`` file and greatly simplifies" +" it by allowing you to deal with only a few functions instead of a few " +"functions." +msgstr "" +"``SimpleMFRC522.py`` nimmt die Datei ``MFRC522.py`` und vereinfacht sie " +"stark, indem es Ihnen erlaubt, nur wenige Funktionen anstelle von wenigen" +" Funktionen zu bearbeiten." + +#: ../2.2.7_mfrc522_rfid_module.rst:205 +msgid "**Step 4:** Run the executable file." +msgstr "**Schritt 4:** Führen Sie die ausführbare Datei aus." + +#: ../2.2.7_mfrc522_rfid_module.rst:225 +msgid "" +"After running ``2.2.7_read.py``, it will print the ``id`` and ``text`` of" +" your card in the shell." +msgstr "" +"Nach dem Ausführen von ``2.2.7_read.py`` werden die ``id`` und der " +"``text`` Ihrer Karte in der Shell ausgegeben." + +#: ../2.2.7_mfrc522_rfid_module.rst:226 +msgid "" +"After running ``2.2.7_write.py``, you need to write a message first, " +"press ``Enter`` to confirm, and finally put your card on the MFRC522 RFID" +" module to finish writing." +msgstr "" +"Nachdem Sie ``2.2.7_write.py`` ausgeführt haben, müssen Sie zuerst eine " +"Nachricht schreiben, zur Bestätigung ``Enter`` drücken und schließlich " +"Ihre Karte auf das MFRC522 RFID-Modul legen, um das Schreiben " +"abzuschließen." + +#: ../2.2.7_mfrc522_rfid_module.rst:229 +msgid "**code**" +msgstr "**code**" + +#: ../2.2.7_mfrc522_rfid_module.rst:233 + +msgid "" +"You can **Modify/Reset/Copy/Run/Stop** the code below. But before that, " +"you need to go to source code path like ``davinci-kit-for-raspberry-" +"pi/python``." +msgstr "" +"Sie können den folgenden Code **Ändern/Zurücksetzen/ " +"Kopieren/Ausführen/Stoppen**. Zuvor müssen Sie jedoch zu einem " +"Quellcodepfad wie ``davinci-kit-for-raspberry-pi/python`` gehen." + +#: ../2.2.7_mfrc522_rfid_module.rst:301 +msgid "Instantiate ``SimpleMFRC522()`` class." +msgstr "Instanziieren Sie die Klasse ``SimpleMFRC522()``." + +#: ../2.2.7_mfrc522_rfid_module.rst:307 +msgid "" +"This function is used to read card data. If the reading is successful, id" +" and text will be returned." +msgstr "" +"Diese Funktion dient zum Auslesen von Kartendaten. Wenn das Lesen " +"erfolgreich ist, werden ID und Text zurückgegeben." + +#: ../2.2.7_mfrc522_rfid_module.rst:313 +msgid "" +"This function is used to write information to the card, press ``Enter`` " +"key to finish writing. ``text`` is the information to be written to the " +"card." +msgstr "" +"Diese Funktion wird verwendet, um Informationen auf die Karte zu " +"schreiben. Drücken Sie die Taste ``Enter``, um das Schreiben zu beenden. " +"``Text`` ist die Information, die auf die Karte geschrieben werden soll." + +#: ../2.2.7_mfrc522_rfid_module.rst:316 +msgid "Phenomenon Picture" +msgstr "Phänomen Bild" + diff --git a/docs/source/locale/de/LC_MESSAGES/2_input.po b/docs/source/locale/de/LC_MESSAGES/2_input.po new file mode 100644 index 0000000..f8b9c60 --- /dev/null +++ b/docs/source/locale/de/LC_MESSAGES/2_input.po @@ -0,0 +1,31 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, SunFounder +# This file is distributed under the same license as the SunFounder Davinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Davinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-05-20 18:20+0800\n" +"PO-Revision-Date: 2021-05-27 08:08+0800\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" +"Last-Translator: \n" +"Language-Team: \n" +"X-Generator: Poedit 2.4.3\n" + +#: ../2_input.rst:2 +msgid "2 Input" +msgstr "2 Eingabe" + +#: ../2_input.rst:4 +msgid "**2.1 Controllers**" +msgstr "**2.1 Steuerungen**" + +#: ../2_input.rst:16 +msgid "**2.2 Sensors**" +msgstr "**2.2 Sensoren**" diff --git a/docs/source/locale/de/LC_MESSAGES/3.1.10_alarm_bell.po b/docs/source/locale/de/LC_MESSAGES/3.1.10_alarm_bell.po new file mode 100644 index 0000000..3f506c8 --- /dev/null +++ b/docs/source/locale/de/LC_MESSAGES/3.1.10_alarm_bell.po @@ -0,0 +1,405 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, SunFounder +# This file is distributed under the same license as the SunFounder Davinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Davinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-19 18:22+0800\n" +"PO-Revision-Date: 2021-06-01 10:41+0800\n" +"Last-Translator: \n" +"Language: de\n" +"Language-Team: \n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../3.1.10_alarm_bell.rst:2 +msgid "3.1.10 Alarm Bell" +msgstr "3.1.10 Alarmglocke" + +#: ../3.1.10_alarm_bell.rst:5 +msgid "Introduction" +msgstr "Einführung" + +#: ../3.1.10_alarm_bell.rst:7 +msgid "" +"In this course, we will make a manual alarm device. You can replace the " +"toggle switch with a thermistor or a photosensitive sensor to make a " +"temperature alarm or a light alarm." +msgstr "" +"In diesem Kurs erstellen wir ein manuelles Alarmgerät. Sie können den " +"Kippschalter durch einen Thermistor oder einen lichtempfindlichen Sensor " +"ersetzen, um einen Temperaturalarm oder einen Lichtalarm auszulösen." + +#: ../3.1.10_alarm_bell.rst:12 +msgid "Components" +msgstr "Komponenten" + +#: ../3.1.10_alarm_bell.rst:18 +msgid "Schematic Diagram" +msgstr "Schematische Darstellung" + +#: ../3.1.10_alarm_bell.rst:21 +msgid "T-Board Name" +msgstr "T-Karte Name" + +#: ../3.1.10_alarm_bell.rst:21 +msgid "physical" +msgstr "physisch" + +#: ../3.1.10_alarm_bell.rst:21 +msgid "wiringPi" +msgstr "wiringPi" + +#: ../3.1.10_alarm_bell.rst:21 +msgid "BCM" +msgstr "BCM" + +#: ../3.1.10_alarm_bell.rst:22 +msgid "GPIO17" +msgstr "GPIO17" + +#: ../3.1.10_alarm_bell.rst:22 +msgid "Pin 11" +msgstr "Pin 11" + +#: ../3.1.10_alarm_bell.rst:22 +msgid "0" +msgstr "0" + +#: ../3.1.10_alarm_bell.rst:22 +msgid "17" +msgstr "17" + +#: ../3.1.10_alarm_bell.rst:23 +msgid "GPIO18" +msgstr "GPIO18" + +#: ../3.1.10_alarm_bell.rst:23 +msgid "Pin 12" +msgstr "Pin 12" + +#: ../3.1.10_alarm_bell.rst:23 +msgid "1" +msgstr "1" + +#: ../3.1.10_alarm_bell.rst:23 +msgid "18" +msgstr "18" + +#: ../3.1.10_alarm_bell.rst:24 +msgid "GPIO27" +msgstr "GPIO27" + +#: ../3.1.10_alarm_bell.rst:24 +msgid "Pin 13" +msgstr "Pin 13" + +#: ../3.1.10_alarm_bell.rst:24 +msgid "2" +msgstr "2" + +#: ../3.1.10_alarm_bell.rst:24 +msgid "27" +msgstr "27" + +#: ../3.1.10_alarm_bell.rst:25 +msgid "GPIO22" +msgstr "GPIO22" + +#: ../3.1.10_alarm_bell.rst:25 +msgid "Pin 15" +msgstr "Pin 15" + +#: ../3.1.10_alarm_bell.rst:25 +msgid "3" +msgstr "3" + +#: ../3.1.10_alarm_bell.rst:25 +msgid "22" +msgstr "22" + +#: ../3.1.10_alarm_bell.rst:32 +msgid "Experimental Procedures" +msgstr "Experimentelle Verfahren" + +#: ../3.1.10_alarm_bell.rst:34 +msgid "**Step 1**: Build the circuit." +msgstr "**Schritt 1:** Bauen Sie die Schaltung auf." + +msgid "Alarm Bell_bb" +msgstr "Alarm Bell_bb" + +#: ../3.1.10_alarm_bell.rst:41 +msgid "**For C Language Users**" +msgstr "**Für Benutzer in C-Sprache**" + +#: ../3.1.10_alarm_bell.rst:43 +msgid "**Step 2**: Change directory." +msgstr "**Schritt 2:** Verzeichnis wechseln." + +#: ../3.1.10_alarm_bell.rst:53 +msgid "**Step 3**: Compile." +msgstr "**Schritt 3:** Kompilieren." + +#: ../3.1.10_alarm_bell.rst:63 +msgid "**Step 4**: Run." +msgstr "**Schritt 4:** Ausführen." + +#: ../3.1.10_alarm_bell.rst:73 ../3.1.10_alarm_bell.rst:239 +msgid "" +"After the program starts, the toggle switch will be toggled to the right," +" and the buzzer will give out alarm sounds. At the same time, the red and" +" green LEDs will flash at a certain frequency." +msgstr "" +"Nach dem Start des Programms wird der Kippschalter nach rechts " +"umgeschaltet und der Summer gibt Alarmtöne aus. Gleichzeitig blinken die " +"roten und grünen LEDs mit einer bestimmten Frequenz." + +#: ../3.1.10_alarm_bell.rst:79 +msgid "" +"If it does not work after running, please refer to :ref:`C code is not " +"working?`" +msgstr "" +"Wenn es nach dem Ausführen nicht funktioniert, lesen Sie bitte :ref:`C " +"code is not working?`" + +#: ../3.1.10_alarm_bell.rst:82 ../3.1.10_alarm_bell.rst:338 +msgid "**Code Explanation**" +msgstr "**Code Erklärung**" + +#: ../3.1.10_alarm_bell.rst:88 +msgid "" +"In this code, you'll use a new library, pthread.h, which is a set of " +"common thread libraries and can realize multithreading. We add the " +"**-lpthread** parameter at compile time for the independent working of " +"the LED and the buzzer." +msgstr "" +"In dieser Kode verwenden Sie eine neue Bibliothek, pthread.h, die aus " +"einer Reihe allgemeiner Thread-Bibliotheken besteht und Multithreading " +"realisieren kann. Wir fügen den Parameter **-lpthread** zur " +"Kompilierungszeit hinzu, damit die LED und der Summer unabhängig " +"voneinander arbeiten können." + +#: ../3.1.10_alarm_bell.rst:110 ../3.1.10_alarm_bell.rst:360 +msgid "" +"The function ledWork() helps to set the working state of these 2 LEDs: it" +" keeps the green LED lighting up for 0.5s and then turns off; similarly, " +"keeps the red LED lighting up for 0.5s and then turns off." +msgstr "" +"Die Funktion ledWork() hilft beim Einstellen des Arbeitszustands dieser " +"beiden LEDs: Sie leuchtet die grüne LED 0,5 Sekunden lang auf und " +"erlischt dann. In ähnlicher Weise leuchtet die rote LED 0,5 Sekunden lang" +" auf und erlischt dann." + +#: ../3.1.10_alarm_bell.rst:131 ../3.1.10_alarm_bell.rst:376 +msgid "" +"The function buzzWork() is used to set the working state of the buzzer. " +"Here we set the frequency as between 130 and 800, to accumulate or decay " +"at an interval of 20." +msgstr "" +"Mit der Funktion summWork() wird der Arbeitszustand des Summers " +"eingestellt. Hier stellen wir die Frequenz zwischen 130 und 800 ein, um " +"sie in einem Intervall von 20 zu akkumulieren oder abzunehmen." + +#: ../3.1.10_alarm_bell.rst:149 ../3.1.10_alarm_bell.rst:391 +msgid "In the function on():" +msgstr "In der Funktion on ():" + +#: ../3.1.10_alarm_bell.rst:151 ../3.1.10_alarm_bell.rst:393 + +msgid "" +"Define the mark \\\"flag=1\\\", indicating the ending of the control " +"thread." +msgstr "" +"Definieren Sie die Markierung \"flag = 1\", die das Ende des " +"Kontrollthreads angibt." + +#: ../3.1.10_alarm_bell.rst:154 +msgid "Create a software-controlled tone pin **BeepPin**." +msgstr "Erstellen Sie einen softwaregesteuerten Ton-Pin **BeepPin**." + +#: ../3.1.10_alarm_bell.rst:156 +msgid "" +"Create two separate threads so that the LED and the buzzer can work at " +"the same time." +msgstr "" +"Erstellen Sie zwei separate Threads, damit die LED und der Summer " +"gleichzeitig arbeiten können." + +#: ../3.1.10_alarm_bell.rst:159 +msgid "**pthread_t tLed:** Declare a thread **tLed**." +msgstr "**pthread_t tLed:** Deklariert einen Thread **tLed**." + +#: ../3.1.10_alarm_bell.rst:161 + +msgid "" +"**pthread_create(&tLed,NULL,ledWork,NULL):** Create the thread and its " +"prototype is as follows:" +msgstr "" +"**pthread_create(&tLed,NULL,ledWork,NULL):** Erstellen Sie den Thread " +"und sein Prototyp lautet wie folgt:" + +#: ../3.1.10_alarm_bell.rst:164 +msgid "" +"int pthread_create(pthread_t \\*restrict tidp,const pthread_attr_t " +"\\*restrict_attr,void*(*start_rtn)(void*),void \\*restrict arg);" +msgstr "" +"int pthread_create(pthread_t \\*restrict tidp,const pthread_attr_t " +"\\*restrict_attr,void*(*start_rtn)(void*),void \\*restrict " +"arg);einschränken);" + +#: ../3.1.10_alarm_bell.rst:167 +msgid "**Return the Value**" +msgstr "**Geben Sie den Wert zurück**" + +#: ../3.1.10_alarm_bell.rst:169 + +msgid "" +"If successful, return \\\"**0**\\\";otherwise, return the **fall number**" +" \\\"**-1**\\\"." +msgstr "" +"Wenn dies erfolgreich ist, geben Sie \"**0**\" zurück. Andernfalls " +"geben Sie **die Fallzahl** \"**-1**\" zurück." + +#: ../3.1.10_alarm_bell.rst:172 +msgid "**Parameter**" +msgstr "**Parameter**" + +#: ../3.1.10_alarm_bell.rst:174 +msgid "The first parameter is a pointer to the thread identifier." +msgstr "Der erste Parameter ist ein Zeiger auf die Thread-ID." + +#: ../3.1.10_alarm_bell.rst:175 +msgid "The second one is used to set the thread attribute." +msgstr "Der zweite wird verwendet, um das Thread-Attribut festzulegen." + +#: ../3.1.10_alarm_bell.rst:176 +msgid "The third one is the starting address of the thread running function." +msgstr "Die dritte ist die Startadresse der Thread-Running-Funktion." + +#: ../3.1.10_alarm_bell.rst:177 +msgid "The last one is the one that runs the function." +msgstr "Der letzte ist derjenige, der die Funktion ausführt." + +#: ../3.1.10_alarm_bell.rst:189 ../3.1.10_alarm_bell.rst:423 + +msgid "" +"The function Off() defines \\\"flag=0\\\" so as to exit the threads " +"**ledWork** and **BuzzWork** and then turn off the buzzer and the LED." +msgstr "" +"Die Funktion Off() definiert \"flag=0\", um die Threads **ledWork** und " +"**BuzzWork** zu verlassen und dann den Summer und die LED auszuschalten." + +#: ../3.1.10_alarm_bell.rst:210 ../3.1.10_alarm_bell.rst:438 +msgid "" +"Main() contains the whole process of the program: firstly read the value " +"of the slide switch; if the toggle switch is toggled to the right (the " +"reading is 1), the function on() is called, the buzzer is driven to emit " +"sounds and the the red and the green LEDs blink. Otherwise, the buzzer " +"and the LED don’t work." +msgstr "" +"Main() enthält den gesamten Prozess des Programms: Lesen Sie zuerst den " +"Wert des Schiebeschalters; Wenn der Kippschalter nach rechts umgeschaltet" +" ist (der Messwert ist 1), wird die Funktion on () aufgerufen, der Summer" +" wird zur Ausgabe von Tönen angesteuert und die rote und die grüne LED " +"blinken. Andernfalls funktionieren der Summer und die LED nicht." + +#: ../3.1.10_alarm_bell.rst:217 +msgid "**For Python Language Users**" +msgstr "**Für Python-Sprachbenutzer**" + +#: ../3.1.10_alarm_bell.rst:219 +msgid "**Step 2:** Change directory." +msgstr "**Schritt 2:** Verzeichnis wechseln." + +#: ../3.1.10_alarm_bell.rst:229 +msgid "**Step 3:** Run." +msgstr "**Schritt 3:** Ausführen." + +#: ../3.1.10_alarm_bell.rst:243 +msgid "**Code**" +msgstr "**Code**" + +#: ../3.1.10_alarm_bell.rst:247 + +msgid "" +"You can **Modify/Reset/Copy/Run/Stop** the code below. But before that, " +"you need to go to source code path like ``davinci-kit-for-raspberry-" +"pi/python``." +msgstr "" +"Sie können den folgenden Code **Ändern/Zurücksetzen/ " +"Kopieren/Ausführen/Stoppen**. Zuvor müssen Sie jedoch zu einem " +"Quellcodepfad wie ``davinci-kit-for-raspberry-pi/python`` gehen." + +#: ../3.1.10_alarm_bell.rst:344 +msgid "" +"Here, we import the **Threading** module and it allows you to do multiple" +" things at once, while normal programs can only execute code from top to " +"bottom. With **Threading** modules, the LED and the buzzer can work " +"separately." +msgstr "" +"Hier importieren wir das **Threading**-Modul und es ermöglicht Ihnen, " +"mehrere Dinge gleichzeitig zu tun, während normale Programme Kode nur von" +" oben nach unten ausführen können. Bei **Threading**-Modulen können die " +"LED und der Summer separat arbeiten." + +#: ../3.1.10_alarm_bell.rst:396 +msgid "Start the Buzz, and set the duty cycle to 50%." +msgstr "Starten Sie den Buzz und stellen Sie den Arbeitszyklus auf 50% ein." + +#: ../3.1.10_alarm_bell.rst:398 +msgid "" +"Create **2** separate threads so that the LED and the buzzer can work at " +"the same time." +msgstr "" +"Erstellen Sie **2** separate Threads, damit die LED und der Summer " +"gleichzeitig arbeiten können." + +#: ../3.1.10_alarm_bell.rst:401 + +msgid "" +"tBuzz = threading.Thread(target=buzzerWork) **:** Create the thread and " +"its prototype is as follows:" +msgstr "" +"tBuzz = threading.Thread (target = buzzerWork) **:** Erstellen Sie den" +" Thread und sein Prototyp lautet wie folgt:" + +#: ../3.1.10_alarm_bell.rst:405 +msgid "" +"class threading.Thread(group=None, target=None, name=None, args=(), " +"kwargs={}, \\*, daemon=None)" +msgstr "" +"class threading.Thread(group=None, target=None, name=None, args=(), " +"kwargs={}, \\*, daemon=None)" + +#: ../3.1.10_alarm_bell.rst:407 + +msgid "" +"Among the construction methods, the principal parameter is **target**, we" +" need to assign a callable object (here are the functions **ledWork** and" +" **BuzzWork** ) to **target**." +msgstr "" +"Unter den Konstruktionsmethoden ist der Hauptparameter **target**. Wir " +"müssen dem Ziel ein aufrufbares Objekt zuweisen (hier sind die Funktionen" +" **ledWork** und **BuzzWork**)." + +#: ../3.1.10_alarm_bell.rst:411 +msgid "" +"Next **start()** is called to start the thread object, ex., tBuzz.start()" +" is used to start the newly installed tBuzz thread." +msgstr "" +"Next **start()** wird aufgerufen, um das Thread-Objekt zu starten. " +"Beispiel: tBuzz.start () wird verwendet, um den neu installierten tBuzz-" +"Thread zu starten." + +#: ../3.1.10_alarm_bell.rst:445 +msgid "Phenomenon Picture" +msgstr "Phänomen Bild" + diff --git a/docs/source/locale/de/LC_MESSAGES/3.1.11_morse_code_generator.po b/docs/source/locale/de/LC_MESSAGES/3.1.11_morse_code_generator.po new file mode 100644 index 0000000..e02737e --- /dev/null +++ b/docs/source/locale/de/LC_MESSAGES/3.1.11_morse_code_generator.po @@ -0,0 +1,288 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, SunFounder +# This file is distributed under the same license as the SunFounder Davinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Davinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-19 18:22+0800\n" +"PO-Revision-Date: 2021-06-01 10:44+0800\n" +"Last-Translator: \n" +"Language: de\n" +"Language-Team: \n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../3.1.11_morse_code_generator.rst:2 +msgid "3.1.11 Morse Code Generator" +msgstr "3.1.11 Morsekode-Generator" + +#: ../3.1.11_morse_code_generator.rst:5 +msgid "Introduction" +msgstr "Einführung" + +#: ../3.1.11_morse_code_generator.rst:7 +msgid "" +"In this lesson, we'll make a Morse code generator, where you type in a " +"series of English letters in the Raspberry Pi to make it appear as Morse " +"code." +msgstr "" +"In dieser Lektion erstellen wir einen Morsekode-Generator, in den Sie " +"eine Reihe englischer Buchstaben in den Raspberry Pi eingeben, damit er " +"als Morsekode angezeigt wird." + +#: ../3.1.11_morse_code_generator.rst:12 +msgid "Components" +msgstr "Komponenten" + +#: ../3.1.11_morse_code_generator.rst:18 +msgid "Schematic Diagram" +msgstr "Schematische Darstellung" + +#: ../3.1.11_morse_code_generator.rst:21 +msgid "T-Board Name" +msgstr "T-Karte Name" + +#: ../3.1.11_morse_code_generator.rst:21 +msgid "physical" +msgstr "physisch" + +#: ../3.1.11_morse_code_generator.rst:21 +msgid "wiringPi" +msgstr "wiringPi" + +#: ../3.1.11_morse_code_generator.rst:21 +msgid "BCM" +msgstr "BCM" + +#: ../3.1.11_morse_code_generator.rst:22 +msgid "GPIO17" +msgstr "GPIO17" + +#: ../3.1.11_morse_code_generator.rst:22 +msgid "Pin 11" +msgstr "Pin 11" + +#: ../3.1.11_morse_code_generator.rst:22 +msgid "0" +msgstr "0" + +#: ../3.1.11_morse_code_generator.rst:22 +msgid "17" +msgstr "17" + +#: ../3.1.11_morse_code_generator.rst:23 +msgid "GPIO22" +msgstr "GPIO22" + +#: ../3.1.11_morse_code_generator.rst:23 +msgid "Pin 15" +msgstr "Pin 15" + +#: ../3.1.11_morse_code_generator.rst:23 +msgid "3" +msgstr "3" + +#: ../3.1.11_morse_code_generator.rst:23 +msgid "22" +msgstr "22" + +#: ../3.1.11_morse_code_generator.rst:30 +msgid "Experimental Procedures" +msgstr "Experimentelle Verfahren" + +#: ../3.1.11_morse_code_generator.rst:32 +msgid "" +"**Step 1:** Build the circuit. (Pay attention to poles of the buzzer: The" +" one with + label is the positive pole and the other is the negative.)" +msgstr "" +"**Schritt 1:** Bauen Sie die Schaltung auf. (Achten Sie auf die Pole des " +"Summers: Der mit dem + Etikett ist der positive Pol und der andere der " +"negative.)" + +msgid "Morse_bb" +msgstr "Morse_bb" + +#: ../3.1.11_morse_code_generator.rst:41 +msgid "**For C Language Users**" +msgstr "**Für Benutzer in C-Sprache**" + +#: ../3.1.11_morse_code_generator.rst:43 ../3.1.11_morse_code_generator.rst:229 +msgid "**Step 2**: Open the code file." +msgstr "**Schritt 2:** Öffnen Sie die Kodedatei." + +#: ../3.1.11_morse_code_generator.rst:53 +msgid "**Step 3**: Compile the code." +msgstr "**Schritt 3:** Kompilieren Sie den Kode." + +#: ../3.1.11_morse_code_generator.rst:63 +msgid "**Step 4**: Run the executable file above." +msgstr "**Schritt 4:** Führen Sie die obige ausführbare Datei aus." + +#: ../3.1.11_morse_code_generator.rst:73 ../3.1.11_morse_code_generator.rst:249 +msgid "" +"After the program runs, type a series of characters, and the buzzer and " +"the LED will send the corresponding Morse code signals." +msgstr "" +"Geben Sie nach dem Ausführen des Programms eine Reihe von Zeichen ein, " +"und der Summer und die LED senden die entsprechenden Morsekodesignale." + +#: ../3.1.11_morse_code_generator.rst:78 +msgid "" +"If it does not work after running, please refer to :ref:`C code is not " +"working?`" +msgstr "" +"Wenn es nach dem Ausführen nicht funktioniert, lesen Sie bitte :ref:`C " +"code is not working?`" + +#: ../3.1.11_morse_code_generator.rst:81 ../3.1.11_morse_code_generator.rst:327 +msgid "**Code Explanation**" +msgstr "**Code Erklärung**" + +#: ../3.1.11_morse_code_generator.rst:103 +#: ../3.1.11_morse_code_generator.rst:342 + +msgid "" +"This structure MORSE is the dictionary of the Morse code, containing " +"characters A-Z, numbers 0-9 and marks \\\"?\\\" \\\"/\\\" \\\":\\\" " +"\\\",\\\" \\\".\\\" \\\";\\\" \\\"!\\\" \\\"@\\\" ." +msgstr "" +"Diese Struktur MORSE ist das Wörterbuch des Morsecodes und enthält die Zeichen A-Z, die Zahlen 0-9 und die Zeichen \"?\" \"/\" \":\" \" \" \",\" \".\" \";\" \"!\" \"@\"." + +#: ../3.1.11_morse_code_generator.rst:118 + +msgid "" +"The function **lookup()** works by \\\"checking the dictionary\\\". " +"Define a **key,** search the same words as **key** in the structure " +"**morseDict** and return the corresponding information— \\\"**code**\\\" " +"of the certain word." +msgstr "" +"Die Funktion **lookup()** funktioniert durch \"Überprüfen des " +"Wörterbuchs\". Definieren Sie **einen Schlüssel**, suchen Sie die gleichen" +" Wörter wie **den Schlüssel** in der Struktur **morseDict** und geben Sie" +" die entsprechenden Informationen zurück - \"**kode**\" des " +"bestimmten Wortes." + +#: ../3.1.11_morse_code_generator.rst:130 +msgid "Create a function on() to start the buzzer and the LED." +msgstr "Erstellen Sie eine Funktion auf(), um den Summer und die LED zu starten." + +#: ../3.1.11_morse_code_generator.rst:139 +msgid "The function off() turns off the buzzer and the LED." +msgstr "Die Funktion off () schaltet den Summer und die LED aus." + +#: ../3.1.11_morse_code_generator.rst:150 +#: ../3.1.11_morse_code_generator.rst:369 +msgid "" +"Define a function beep() to make the buzzer and the LED emit sounds and " +"blink in a certain interval of **dt**." +msgstr "" +"Definieren Sie einen Funktionston (), damit der Summer und die LED in " +"einem bestimmten Intervall von **dt** ertönen und blinken." + +#: ../3.1.11_morse_code_generator.rst:175 +#: ../3.1.11_morse_code_generator.rst:384 + +msgid "" +"The function morsecode() is used to process the Morse code of input " +"characters by making the \\\"1\\\" of the code keep emitting sounds or " +"lights and the \\\"0\\\"shortly emit sounds or lights, ex., input " +"\\\"SOS\\\", and there will be a signal containing three short three long" +" and then three short segments \\\" · · · - - - · · · \\\"." +msgstr "" +"Die Funktion morsecode() wird verwendet, um den Morsecode von " +"Eingabezeichen zu verarbeiten, indem die \"1\" der Kode weiterhin Töne oder" +" Lichter aussendet und die \"0\" in Kürze Töne oder Lichter aussendet, z. " +"B. \"SOS\" eingibt und dort wird ein Signal sein, das drei kurze, drei " +"lange und dann drei kurze Segmente \"· · · - - - · · ·\" enthält." + +#: ../3.1.11_morse_code_generator.rst:197 +msgid "Before coding, you need to unify the letters into capital letters." +msgstr "" +"Vor dem Codieren müssen Sie die Buchstaben in Großbuchstaben " +"vereinheitlichen." + +#: ../3.1.11_morse_code_generator.rst:217 +msgid "" +"When you type the relevant characters with the keyboard, " +"code=strupr(code) will convert the input letters to their capital form." +msgstr "" +"Wenn Sie die relevanten Zeichen mit der Tastatur eingeben, konvertiert " +"code = strupr (code) die Eingabebuchstaben in ihre Großbuchstaben." + +#: ../3.1.11_morse_code_generator.rst:220 +msgid "" +"Printf() then prints the clear text on the computer screen, and the " +"morsecod() function causes the buzzer and the LED to emit Morse code." +msgstr "" +"Printf() druckt dann den Klartext auf dem Computerbildschirm, und die " +"Funktion morsecod() bewirkt, dass der Summer und die LED Morsecode " +"ausgeben." + +#: ../3.1.11_morse_code_generator.rst:223 +msgid "" +"Note that the length of the input character mustn’t exceed the **length**" +" (can be revised)." +msgstr "" +"Beachten Sie, die Länge des Eingabezeichens darf **die Länge** nicht " +"überschreiten(kann überarbeitet werden)." + +#: ../3.1.11_morse_code_generator.rst:227 +msgid "**For Python Language Users**" +msgstr "**Für Python-Sprachbenutzer**" + +#: ../3.1.11_morse_code_generator.rst:239 +msgid "**Step 3**: Run." +msgstr "**Schritt 3:** Ausführen." + +#: ../3.1.11_morse_code_generator.rst:252 +msgid "**Code**" +msgstr "**Code**" + +#: ../3.1.11_morse_code_generator.rst:256 + +msgid "" +"You can **Modify/Reset/Copy/Run/Stop** the code below. But before that, " +"you need to go to source code path like ``davinci-kit-for-raspberry-" +"pi/python``." +msgstr "" +"Sie können den folgenden Code " +"**Ändern/Zurücksetzen/Kopieren/Ausführen/Stoppen**. Zuvor müssen Sie " +"jedoch zu einem Quellcodepfad wie ``davinci-kit-for-raspberry-" +"pi/python`` gehen." + +#: ../3.1.11_morse_code_generator.rst:351 +msgid "The function on() starts the buzzer and the LED." +msgstr "Die Funktion on() startet den Summer und die LED." + +#: ../3.1.11_morse_code_generator.rst:359 +msgid "The function off() is used to turn off the buzzer and the LED." +msgstr "Mit der Funktion off () werden der Summer und die LED ausgeschaltet." + +#: ../3.1.11_morse_code_generator.rst:399 +msgid "" +"When you type the relevant characters with the keyboard, upper() will " +"convert the input letters to their capital form." +msgstr "" +"Wenn Sie die relevanten Zeichen mit der Tastatur eingeben, konvertiert " +"Upper() die Eingabebuchstaben in ihre Großbuchstaben." + +#: ../3.1.11_morse_code_generator.rst:402 +msgid "" +"Printf () then prints the clear text on the computer screen, and the " +"morsecod() function causes the buzzer and the LED to emit Morse code." +msgstr "" +"Printf() druckt dann den Klartext auf dem Computerbildschirm, und die " +"Funktion morsecod() bewirkt, dass der Summer und die LED Morsecode " +"ausgeben." + +#: ../3.1.11_morse_code_generator.rst:407 +msgid "Phenomenon Picture" +msgstr "Phänomen Bild" + diff --git a/docs/source/locale/de/LC_MESSAGES/3.1.12_game_guess_number.po b/docs/source/locale/de/LC_MESSAGES/3.1.12_game_guess_number.po new file mode 100644 index 0000000..a470c53 --- /dev/null +++ b/docs/source/locale/de/LC_MESSAGES/3.1.12_game_guess_number.po @@ -0,0 +1,505 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, SunFounder +# This file is distributed under the same license as the SunFounder Davinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Davinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-19 18:22+0800\n" +"PO-Revision-Date: 2021-06-01 10:50+0800\n" +"Last-Translator: \n" +"Language: de\n" +"Language-Team: \n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../3.1.12_game_guess_number.rst:2 +msgid "3.1.12 GAME– Guess Number" +msgstr "3.1.12 SPIEL – Nummer Vermutung" + +#: ../3.1.12_game_guess_number.rst:5 +msgid "Introduction" +msgstr "Einführung" + +#: ../3.1.12_game_guess_number.rst:7 +msgid "" +"Guessing Numbers is a fun party game where you and your friends take " +"turns inputting a number (0~99). The range will be smaller with the " +"inputting of the number till a player answers the riddle correctly. Then " +"the player is defeated and punished. For example, if the lucky number is " +"51 which the players cannot see, and the player ① inputs 50, the prompt " +"of number range changes to 50~99; if the player ② inputs 70, the range of" +" number can be 50~70; if the player ③ inputs 51, this player is the " +"unlucky one. Here, we use keypad to input numbers and use LCD to output " +"outcomes." +msgstr "" +"Nummer Vermutung ist ein lustiges Partyspiel, bei dem Sie und Ihre " +"Freunde abwechselnd eine Nummer eingeben (0~99). Die Reichweite wird mit " +"der Eingabe der Nummer kleiner, bis ein Spieler das Rätsel richtig " +"beantwortet. Dann wird der Spieler besiegt und bestraft. Wenn zum " +"Beispiel die Glücksnummer 51 ist, die die Spieler nicht sehen können, und" +" der Spieler ① 50 eingibt, ändert sich die Eingabeaufforderung des " +"Nummernbereichs auf 50~99; Wenn der Spieler ② 70 eingibt, kann der " +"Nummerbereich zwischen 50 und 70 liegen. Wenn der Spieler ③ 51 eingibt, " +"ist dieser Spieler der Unglückliche. Hier verwenden wir die Tastatur zur " +"Eingabe von Nummer und das LCD zur Ausgabe der Ergebnisse." + +#: ../3.1.12_game_guess_number.rst:18 +msgid "Components" +msgstr "Komponenten" + +#: ../3.1.12_game_guess_number.rst:24 +msgid "Schematic Diagram" +msgstr "Schematische Darstellung" + +#: ../3.1.12_game_guess_number.rst:27 +msgid "T-Board Name" +msgstr "T-Karte Name" + +#: ../3.1.12_game_guess_number.rst:27 +msgid "physical" +msgstr "physisch" + +#: ../3.1.12_game_guess_number.rst:27 +msgid "wiringPi" +msgstr "wiringPi" + +#: ../3.1.12_game_guess_number.rst:27 +msgid "BCM" +msgstr "BCM" + +#: ../3.1.12_game_guess_number.rst:28 +msgid "GPIO18" +msgstr "GPIO18" + +#: ../3.1.12_game_guess_number.rst:28 +msgid "Pin 12" +msgstr "Pin 12" + +#: ../3.1.12_game_guess_number.rst:28 +msgid "1" +msgstr "1" + +#: ../3.1.12_game_guess_number.rst:28 +msgid "18" +msgstr "18" + +#: ../3.1.12_game_guess_number.rst:29 +msgid "GPIO23" +msgstr "GPIO23" + +#: ../3.1.12_game_guess_number.rst:29 +msgid "Pin 16" +msgstr "Pin 16" + +#: ../3.1.12_game_guess_number.rst:29 +msgid "4" +msgstr "4" + +#: ../3.1.12_game_guess_number.rst:29 +msgid "23" +msgstr "23" + +#: ../3.1.12_game_guess_number.rst:30 +msgid "GPIO24" +msgstr "GPIO24" + +#: ../3.1.12_game_guess_number.rst:30 +msgid "Pin 18" +msgstr "Pin 18" + +#: ../3.1.12_game_guess_number.rst:30 +msgid "5" +msgstr "5" + +#: ../3.1.12_game_guess_number.rst:30 +msgid "24" +msgstr "24" + +#: ../3.1.12_game_guess_number.rst:31 +msgid "GPIO25" +msgstr "GPIO25" + +#: ../3.1.12_game_guess_number.rst:31 +msgid "Pin 22" +msgstr "Pin 22" + +#: ../3.1.12_game_guess_number.rst:31 +msgid "6" +msgstr "6" + +#: ../3.1.12_game_guess_number.rst:31 +msgid "25" +msgstr "25" + +#: ../3.1.12_game_guess_number.rst:32 +msgid "SPIMOSI" +msgstr "SPIMOSI" + +#: ../3.1.12_game_guess_number.rst:32 +msgid "Pin 19" +msgstr "Pin 19" + +#: ../3.1.12_game_guess_number.rst:32 +msgid "12" +msgstr "12" + +#: ../3.1.12_game_guess_number.rst:32 +msgid "10" +msgstr "10" + +#: ../3.1.12_game_guess_number.rst:33 +msgid "GPIO22" +msgstr "GPIO22" + +#: ../3.1.12_game_guess_number.rst:33 +msgid "Pin 15" +msgstr "Pin 15" + +#: ../3.1.12_game_guess_number.rst:33 +msgid "3" +msgstr "3" + +#: ../3.1.12_game_guess_number.rst:33 +msgid "22" +msgstr "22" + +#: ../3.1.12_game_guess_number.rst:34 +msgid "GPIO27" +msgstr "GPIO27" + +#: ../3.1.12_game_guess_number.rst:34 +msgid "Pin 13" +msgstr "Pin 13" + +#: ../3.1.12_game_guess_number.rst:34 +msgid "2" +msgstr "2" + +#: ../3.1.12_game_guess_number.rst:34 +msgid "27" +msgstr "27" + +#: ../3.1.12_game_guess_number.rst:35 +msgid "GPIO17" +msgstr "GPIO17" + +#: ../3.1.12_game_guess_number.rst:35 +msgid "Pin 11" +msgstr "Pin 11" + +#: ../3.1.12_game_guess_number.rst:35 +msgid "0" +msgstr "0" + +#: ../3.1.12_game_guess_number.rst:35 +msgid "17" +msgstr "17" + +#: ../3.1.12_game_guess_number.rst:36 +msgid "SDA1" +msgstr "SDA1" + +#: ../3.1.12_game_guess_number.rst:36 +msgid "Pin 3" +msgstr "Pin 3" + +#: ../3.1.12_game_guess_number.rst:36 +msgid "SDA1(8)" +msgstr "SDA1(8)" + +#: ../3.1.12_game_guess_number.rst:36 +msgid "SDA1(2)" +msgstr "SDA1(2)" + +#: ../3.1.12_game_guess_number.rst:37 +msgid "SCL1" +msgstr "SCL1" + +#: ../3.1.12_game_guess_number.rst:37 +msgid "Pin 5" +msgstr "Pin 5" + +#: ../3.1.12_game_guess_number.rst:37 +msgid "SCL1(9)" +msgstr "SCL1(9)" + +#: ../3.1.12_game_guess_number.rst:37 +msgid "SDA1(3)" +msgstr "SDA1(3)" + +#: ../3.1.12_game_guess_number.rst:44 +msgid "Experimental Procedures" +msgstr "Experimentelle Verfahren" + +#: ../3.1.12_game_guess_number.rst:46 +msgid "**Step 1:** Build the circuit." +msgstr "**Schritt 1:** Bauen Sie die Schaltung auf." + +msgid "Guess Number_bb" +msgstr "Guess Number_bb" + +#: ../3.1.12_game_guess_number.rst:52 +msgid "**Step 2**: Setup I2C (see Appendix. If you have set I2C, skip this step.)" +msgstr "" +"**Schritt 2:** I2C einrichten (siehe Anhang. Wenn Sie I2C eingestellt " +"haben, überspringen Sie diesen Schritt.)" + +#: ../3.1.12_game_guess_number.rst:56 +msgid "**For C Language Users**" +msgstr "**Für Benutzer in C-Sprache**" + +#: ../3.1.12_game_guess_number.rst:58 ../3.1.12_game_guess_number.rst:285 +msgid "**Step 3**: Change directory." +msgstr "**Schritt 3:** Verzeichnis wechseln." + +#: ../3.1.12_game_guess_number.rst:68 +msgid "**Step 4**: Compile." +msgstr "**Schritt 4:** Kompilieren." + +#: ../3.1.12_game_guess_number.rst:78 +msgid "**Step 5**: Run." +msgstr "**Schritt 5:** Ausführen." + +#: ../3.1.12_game_guess_number.rst:88 ../3.1.12_game_guess_number.rst:305 +msgid "After the program runs, there displays the initial page on the LCD:" +msgstr "" +"Nachdem das Programm ausgeführt wurde, wird die erste Seite auf dem LCD " +"angezeigt:" + +#: ../3.1.12_game_guess_number.rst:95 ../3.1.12_game_guess_number.rst:312 + +msgid "" +"Press \\'A\\', and the game will start and the game page will appear on " +"the LCD." +msgstr "" +"Drücken Sie \'A\' und das Spiel startet und die Spieleseite erscheint auf " +"dem LCD." + +#: ../3.1.12_game_guess_number.rst:105 +msgid "" +"If it does not work after running, please refer to :ref:`C code is not " +"working?`" +msgstr "" +"Wenn es nach dem Ausführen nicht funktioniert, lesen Sie bitte :ref:`C " +"code is not working?`" + +#: ../3.1.12_game_guess_number.rst:108 ../3.1.12_game_guess_number.rst:320 +msgid "" +"A random number \\'**point**\\' is produced but not displayed on the LCD " +"when the game starts, and what you need to do is to guess it. The number " +"you have typed appears at the end of the first line till the final " +"calculation is finished. (Press \\'D\\' to start the comparation, and if " +"the input number is larger than **10**, the automatic comparation will " +"start.)" +msgstr "" +"Zu Beginn des Spiels wird eine Zufallsnummer \'**Punkt**\' erzeugt, " +"die jedoch nicht auf dem LCD angezeigt wird. Sie müssen sie nur erraten. " +"Die eingegebene Nummer wird am Ende der ersten Zeile angezeigt, bis die " +"endgültige Berechnung abgeschlossen ist. (Drücken Sie \'D\', um den " +"Vergleich zu starten. Wenn die Eingangsnummer größer als **10** ist, wird" +" der automatische Vergleich gestartet.)" + +#: ../3.1.12_game_guess_number.rst:115 ../3.1.12_game_guess_number.rst:327 + +msgid "" +"The number range of \\'point\\' is displayed on the second line. And you " +"must type the number within the range. When you type a number, the range " +"narrows; if you got the lucky number luckily or unluckily, there will " +"appear \\\"You've got it!\\\"" +msgstr "" +"Der Nummernkreis von \'Punkt\' wird in der zweiten Zeile angezeigt. Und Sie" +" müssen die Nummer innerhalb des Bereichs eingeben. Wenn Sie eine Nummer " +"eingeben, wird der Bereich enger. Wenn Sie die Glücksnummer " +"glücklicherweise oder unglücklicherweise erhalten haben, wird \"Sie haben " +"sie!\" angezeigt." + +#: ../3.1.12_game_guess_number.rst:120 ../3.1.12_game_guess_number.rst:470 +msgid "**Code Explanation**" +msgstr "**Code Erklärung**" + +#: ../3.1.12_game_guess_number.rst:122 ../3.1.12_game_guess_number.rst:472 +msgid "" +"At the beginning part of the code are the functional functions of " +"**keypad** and **I2C LCD1602**. You can learning more details about them " +"in **1.1.7 I2C LCD1602** and **2.1.5 Keypad.**" +msgstr "" +"Am Anfang des Codes stehen die Funktionsfunktionen der **Tastatur** und " +"des **I2C LCD1602**. Weitere Informationen hierzu finden Sie in den " +"Tasten **1.1.7 I2C LCD1602** und **2.1.5 Tastatur.**" + +#: ../3.1.12_game_guess_number.rst:126 ../3.1.12_game_guess_number.rst:476 +msgid "Here, what we need to know is as follows:" +msgstr "Hier müssen wir Folgendes wissen:" + +#: ../3.1.12_game_guess_number.rst:146 + +msgid "" +"This function is used to initially define **I2C LCD1602** and **Keypad** " +"and to display \\\"Welcome!\\\" and \\\"Press A to go!\\\"." +msgstr "" +"Diese Funktion wird verwendet, um zunächst **I2C LCD1602** und " +"**Tastatur** zu definieren und \"Willkommen!\" und \"Drücken Sie A, um zu " +"gehen!\" anzuzeigen." + +#: ../3.1.12_game_guess_number.rst:160 ../3.1.12_game_guess_number.rst:488 + +msgid "" +"The function produces the random number \\'**point**\\' and resets the " +"range hint of the point." +msgstr "" +"Die Funktion erzeugt die Zufallsnummer \"**Punkt**\" und setzt den " +"Bereichshinweis des Punktes zurück." + +#: ../3.1.12_game_guess_number.rst:184 + +msgid "" +"detect_point() compares the input number with the produced \\\"point\\\"." +" If the comparing outcome is that they are not same, **count** will " +"assign values to **upper** and **lower** and return \\'**0**\\'; " +"otherwise, if the outcome indicates they are same, there returns " +"\\'**1**\\'." +msgstr "" +"detect_point() vergleicht die Eingabenummer mit dem erzeugten \"point\". " +"Wenn das Ergebnis des Vergleichs ist, dass sie nicht gleich sind, " +"weist **count** **upper** und **lower** Werte zu und gibt \"**0**\" zurück; " +"andernfalls, wenn das Ergebnis anzeigt, dass sie gleich sind, wird \"**1**\" zurückgegeben." + +#: ../3.1.12_game_guess_number.rst:212 +msgid "" +"This function works for displaying the game page. Pay attention to the " +"function **Int2Str(str,count)**, it converts these variables **count**, " +"**lower**, and **upper** from **integer** to **character string** for the" +" correct display of **lcd**." +msgstr "" +"Diese Funktion dient zum Anzeigen der Spieleseite. Beachten Sie die " +"Funktion **Int2Str(str,count)**, die diese Variablen **count**, **lower**" +" und **superior** von **Integer** in **Character String** konvertiert, um" +" die korrekte Anzeige von **lcd** zu gewährleisten." + +#: ../3.1.12_game_guess_number.rst:259 ../3.1.12_game_guess_number.rst:562 +msgid "Main() contains the whole process of the program, as show below:" +msgstr "Main () enthält den gesamten Prozess des Programms, wie unten gezeigt:" + +#: ../3.1.12_game_guess_number.rst:261 ../3.1.12_game_guess_number.rst:564 +msgid "Initialize **I2C LCD1602** and **Keypad**." +msgstr "Initialisieren Sie **I2C LCD1602** und **Tastatur**." + +#: ../3.1.12_game_guess_number.rst:263 +msgid "Use **init_new_value()** to create a random number **0-99**." +msgstr "" +"Verwenden Sie **init_new_value()**, um eine Zufallsnummer **0-99** zu " +"erstellen." + +#: ../3.1.12_game_guess_number.rst:265 ../3.1.12_game_guess_number.rst:566 +msgid "Judge whether the button is pressed and get the button reading." +msgstr "" +"Beurteilen Sie, ob die Taste gedrückt wurde, und lassen Sie die Taste " +"ablesen." + +#: ../3.1.12_game_guess_number.rst:267 ../3.1.12_game_guess_number.rst:568 + +msgid "" +"If the button \\'**A**\\' is pressed, a random number **0-99** will " +"appear then the game starts." +msgstr "" +"Wenn die Taste \"**A**\" gedrückt wird, erscheint eine Zufallsnummer " +"**0-99** und das Spiel beginnt." + +#: ../3.1.12_game_guess_number.rst:270 + +msgid "" +"If the button \\'**D**\\' is detected to have been pressed, the program " +"will enter into the outcome judgement and will display the outcome on the" +" LCD. This step helps that you can also judge the outcome when you press " +"only one number and then the button \\'**D**\\'." +msgstr "" +"Wenn festgestellt wird, dass die Taste \"**D**\" gedrückt wurde, geht" +" das Programm in die Ergebnisbeurteilung ein und zeigt das Ergebnis auf " +"dem LCD an. Dieser Schritt hilft Ihnen, das Ergebnis auch zu beurteilen, " +"wenn Sie nur eine Nummer und dann die Taste \"**D**\" drücken." + +#: ../3.1.12_game_guess_number.rst:276 ../3.1.12_game_guess_number.rst:574 +msgid "" +"If the button **0-9** is pressed, the value of **count** will be changed;" +" if the **count** is larger than **10**, then the judgement starts." +msgstr "" +"Wenn die Taste **0-9** gedrückt wird, wird der **Zählwert** geändert. " +"Wenn die **Anzahl** größer als **10** ist, beginnt das Urteil." + +#: ../3.1.12_game_guess_number.rst:280 ../3.1.12_game_guess_number.rst:578 +msgid "The changes of the game and its values are displayed on **LCD1602**." +msgstr "" +"Die Änderungen des Spiels und seiner Werte werden auf dem **LCD1602** " +"angezeigt." + +#: ../3.1.12_game_guess_number.rst:283 +msgid "**For Python Language Users**" +msgstr "**Für Python-Sprachbenutzer**" + +#: ../3.1.12_game_guess_number.rst:295 +msgid "**Step 4**: Run." +msgstr "**Schritt 4:** Ausführen." + +#: ../3.1.12_game_guess_number.rst:332 +msgid "**Code**" +msgstr "**Code**" + +#: ../3.1.12_game_guess_number.rst:336 + +msgid "" +"You can **Modify/Reset/Copy/Run/Stop** the code below. But before that, " +"you need to go to source code path like ``davinci-kit-for-raspberry-" +"pi/python``." +msgstr "" +"Sie können den folgenden Code **Ändern/Zurücksetzen/ " +"Kopieren/Ausführen/Stoppen**. Zuvor müssen Sie jedoch zu einem " +"Quellcodepfad wie ``davinci-kit-for-raspberry-pi/python`` gehen." + +#: ../3.1.12_game_guess_number.rst:507 + +msgid "" +"detect_point() compares the input number (**count**) with the produced " +"\\\"**point**\\\". If the comparing outcome is that they are not same, " +"**count** will assign values to **upper** and **lower** and return " +"\\'**0**\\'; otherwise, if the outcome indicates they are same, there " +"returns \\'**1**\\'." +msgstr "" +"detect_point() vergleicht die eingegebene Zahl (**count**) mit dem erzeugten \"**point**\". " +"Wenn das Ergebnis des Vergleichs ist, dass sie nicht gleich sind, " +"weist **count** **upper** und **lower** Werte zu und gibt \'**0**\' zurück; " +"andernfalls, wenn das Ergebnis anzeigt, dass sie gleich sind, wird \'**1**\' zurückgegeben." + +#: ../3.1.12_game_guess_number.rst:529 +msgid "This function works for displaying the game page." +msgstr "Diese Funktion dient zum Anzeigen der Spieleseite." + +#: ../3.1.12_game_guess_number.rst:531 +msgid "" +"str(count): Because **write()** can only support the data type — " +"**character string**, **str()** is needed to convert the **number** into " +"**string**." +msgstr "" +"str(count): Da **write()** nur den Datentyp - **Zeichenfolge** - " +"unterstützen kann, wird **str ()** benötigt, um die **Nummer** in eine " +"**Zeichenfolge** umzuwandeln." + +#: ../3.1.12_game_guess_number.rst:571 + +msgid "" +"If the button \\'**D**\\' is detected to have been pressed, the program " +"will enter into the outcome judgement." +msgstr "" +"Wenn festgestellt wird, dass die Taste \'**D**\' gedrückt wurde, geht" +" das Programm in die Ergebnisbeurteilung ein." + +#: ../3.1.12_game_guess_number.rst:581 +msgid "Phenomenon Picture" +msgstr "Phänomen Bild" + diff --git a/docs/source/locale/de/LC_MESSAGES/3.1.13_game_10_second.po b/docs/source/locale/de/LC_MESSAGES/3.1.13_game_10_second.po new file mode 100644 index 0000000..4b79980 --- /dev/null +++ b/docs/source/locale/de/LC_MESSAGES/3.1.13_game_10_second.po @@ -0,0 +1,324 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, SunFounder +# This file is distributed under the same license as the SunFounder Davinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Davinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-19 18:22+0800\n" +"PO-Revision-Date: 2021-06-01 10:51+0800\n" +"Last-Translator: \n" +"Language: de\n" +"Language-Team: \n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../3.1.13_game_10_second.rst:2 +msgid "3.1.13 GAME– 10 Second" +msgstr "3.1.13 SPIEL - 10 Sekunden" + +#: ../3.1.13_game_10_second.rst:5 +msgid "Introduction" +msgstr "Einführung" + +#: ../3.1.13_game_10_second.rst:7 +msgid "" +"Next, follow me to make a game device to challenge your concentration. " +"Tie the tilt switch to a stick to make a magic wand. Shake the wand, the " +"4-digit segment display will start counting, shake again will let it stop" +" counting. If you succeed in keeping the displayed count at **10.00**, " +"then you win. You can play the game with your friends to see who is the " +"time wizard." +msgstr "" +"Als nächstes folge mir, um ein Spielgerät zu bauen, das deine " +"Konzentration herausfordert. Binden Sie den Neigungsschalter an einen " +"Stock, um einen Zauberstab herzustellen. Schütteln Sie den Stab, die " +"4-stellige Segmentanzeige beginnt zu zählen. Durch erneutes Schütteln " +"wird die Zählung beendet. Wenn es Ihnen gelingt, die angezeigte Anzahl " +"bei **10,00** zu halten, gewinnen Sie. Sie können das Spiel mit Ihren " +"Freunden spielen, um zu sehen, wer der Zeitassistent ist." + +#: ../3.1.13_game_10_second.rst:15 +msgid "Components" +msgstr "Komponenten" + +#: ../3.1.13_game_10_second.rst:21 +msgid "Schematic Diagram" +msgstr "Schematische Darstellung" + +#: ../3.1.13_game_10_second.rst:24 +msgid "T-Board Name" +msgstr "T-Karte Name" + +#: ../3.1.13_game_10_second.rst:24 +msgid "physical" +msgstr "physisch" + +#: ../3.1.13_game_10_second.rst:24 +msgid "wiringPi" +msgstr "wiringPi" + +#: ../3.1.13_game_10_second.rst:24 +msgid "BCM" +msgstr "BCM" + +#: ../3.1.13_game_10_second.rst:25 +msgid "GPIO17" +msgstr "GPIO17" + +#: ../3.1.13_game_10_second.rst:25 +msgid "Pin 11" +msgstr "Pin 11" + +#: ../3.1.13_game_10_second.rst:25 +msgid "0" +msgstr "0" + +#: ../3.1.13_game_10_second.rst:25 +msgid "17" +msgstr "17" + +#: ../3.1.13_game_10_second.rst:26 +msgid "GPIO27" +msgstr "GPIO27" + +#: ../3.1.13_game_10_second.rst:26 +msgid "Pin 13" +msgstr "Pin 13" + +#: ../3.1.13_game_10_second.rst:26 +msgid "2" +msgstr "2" + +#: ../3.1.13_game_10_second.rst:26 +msgid "27" +msgstr "27" + +#: ../3.1.13_game_10_second.rst:27 +msgid "GPIO22" +msgstr "GPIO22" + +#: ../3.1.13_game_10_second.rst:27 +msgid "Pin 15" +msgstr "Pin 15" + +#: ../3.1.13_game_10_second.rst:27 +msgid "3" +msgstr "3" + +#: ../3.1.13_game_10_second.rst:27 +msgid "22" +msgstr "22" + +#: ../3.1.13_game_10_second.rst:28 +msgid "SPIMOSI" +msgstr "SPIMOSI" + +#: ../3.1.13_game_10_second.rst:28 +msgid "Pin 19" +msgstr "Pin 19" + +#: ../3.1.13_game_10_second.rst:28 +msgid "12" +msgstr "12" + +#: ../3.1.13_game_10_second.rst:28 +msgid "10" +msgstr "10" + +#: ../3.1.13_game_10_second.rst:29 +msgid "GPIO18" +msgstr "GPIO18" + +#: ../3.1.13_game_10_second.rst:29 +msgid "Pin 12" +msgstr "Pin 12" + +#: ../3.1.13_game_10_second.rst:29 +msgid "1" +msgstr "1" + +#: ../3.1.13_game_10_second.rst:29 +msgid "18" +msgstr "18" + +#: ../3.1.13_game_10_second.rst:30 +msgid "GPIO23" +msgstr "GPIO23" + +#: ../3.1.13_game_10_second.rst:30 +msgid "Pin 16" +msgstr "Pin 16" + +#: ../3.1.13_game_10_second.rst:30 +msgid "4" +msgstr "4" + +#: ../3.1.13_game_10_second.rst:30 +msgid "23" +msgstr "23" + +#: ../3.1.13_game_10_second.rst:31 +msgid "GPIO24" +msgstr "GPIO24" + +#: ../3.1.13_game_10_second.rst:31 +msgid "Pin 18" +msgstr "Pin 18" + +#: ../3.1.13_game_10_second.rst:31 +msgid "5" +msgstr "5" + +#: ../3.1.13_game_10_second.rst:31 +msgid "24" +msgstr "24" + +#: ../3.1.13_game_10_second.rst:32 +msgid "GPIO26" +msgstr "GPIO26" + +#: ../3.1.13_game_10_second.rst:32 +msgid "Pin 37" +msgstr "Pin 37" + +#: ../3.1.13_game_10_second.rst:32 +msgid "25" +msgstr "25" + +#: ../3.1.13_game_10_second.rst:32 +msgid "26" +msgstr "26" + +#: ../3.1.13_game_10_second.rst:39 +msgid "Experimental Procedures" +msgstr "Experimentelle Verfahren" + +#: ../3.1.13_game_10_second.rst:41 +msgid "**Step 1**: Build the circuit." +msgstr "**Schritt 1:** Bauen Sie die Schaltung auf." + +msgid "10 second_bb" +msgstr "10 second_bb" + +#: ../3.1.13_game_10_second.rst:48 +msgid "**For C Language Users**" +msgstr "**Für Benutzer in C-Sprache**" + +#: ../3.1.13_game_10_second.rst:50 ../3.1.13_game_10_second.rst:138 +msgid "**Step 2**: Go to the folder of the code." +msgstr "**Schritt 2:** Gehen Sie zum Ordner der Kode." + +#: ../3.1.13_game_10_second.rst:60 +msgid "**Step 3**: Compile the code." +msgstr "**Schritt 3:** Kompilieren Sie die Kode." + +#: ../3.1.13_game_10_second.rst:70 +msgid "**Step 4**: Run the executable file." +msgstr "**Schritt 4:** Führen Sie die ausführbare Datei aus." + +#: ../3.1.13_game_10_second.rst:80 ../3.1.13_game_10_second.rst:158 +msgid "" +"Shake the wand, the 4-digit segment display will start counting, shake " +"again will let it stop counting. If you succeed in keeping the displayed " +"count at **10.00**, then you win. Shake it one more time to start the " +"next round of the game." +msgstr "" +"Schütteln Sie den Stab, die 4-stellige Segmentanzeige beginnt zu zählen. " +"Durch erneutes Schütteln wird die Zählung beendet. Wenn es Ihnen gelingt," +" die angezeigte Anzahl bei **10,00** zu halten, gewinnen Sie. Schütteln " +"Sie es noch einmal, um die nächste Runde des Spiels zu starten." + +#: ../3.1.13_game_10_second.rst:87 +msgid "" +"If it does not work after running, please refer to :ref:`C code is not " +"working?`" +msgstr "" +"Wenn es nach dem Ausführen nicht funktioniert, lesen Sie bitte :ref:`C " +"code is not working?`" + +#: ../3.1.13_game_10_second.rst:90 ../3.1.13_game_10_second.rst:283 +msgid "**Code Explanation**" +msgstr "**Code Erklärung**" + +#: ../3.1.13_game_10_second.rst:106 ../3.1.13_game_10_second.rst:300 +msgid "The game is divided into two modes:" +msgstr "Das Spiel ist in zwei Modi unterteilt:" + +#: ../3.1.13_game_10_second.rst:108 ../3.1.13_game_10_second.rst:302 + +msgid "" +"gameState=0 is the \\\"start\\\" mode, in which the time is timed and " +"displayed on the segment display, and the tilting switch is shaken to " +"enter the \\\"show\\\" mode." +msgstr "" +"gameState=0 ist der \"Start\" -Modus, in dem die Zeit zeitlich festgelegt" +" und auf der Segmentanzeige angezeigt wird und der Kippschalter " +"geschüttelt wird, um in den \"Show\" -Modus zu wechseln." + +#: ../3.1.13_game_10_second.rst:112 ../3.1.13_game_10_second.rst:306 + +msgid "" +"GameState =1 is the \\\"show\\\" mode, which stops the timing and " +"displays the time on the segment display. Shaking the tilt switch again " +"will reset the timer and restart the game." +msgstr "" +"GameState=1 ist der \"show\" -Modus, der das Timing stoppt und die Zeit " +"auf der Segmentanzeige anzeigt. Durch erneutes Schütteln des " +"Neigungsschalters wird der Timer zurückgesetzt und das Spiel neu " +"gestartet." + +#: ../3.1.13_game_10_second.rst:131 ../3.1.13_game_10_second.rst:323 +msgid "" +"Loop() is the main function. First, the time is displayed on the 4-bit " +"segment display and the value of the tilt switch is read. If the state of" +" the tilt switch has changed, stateChange() is called." +msgstr "" +"Loop() ist die Hauptfunktion. Zunächst wird die Zeit auf der 4-Bit-" +"Segmentanzeige angezeigt und der Wert des Neigungsschalters gelesen. Wenn" +" sich der Status des Neigungsschalters geändert hat, wird stateChange () " +"aufgerufen." + +#: ../3.1.13_game_10_second.rst:136 +msgid "**For Python Language Users**" +msgstr "**Für Python-Sprachbenutzer**" + +#: ../3.1.13_game_10_second.rst:148 +msgid "**Step 3**: Run the executable file." +msgstr "**Schritt 3:** Führen Sie die ausführbare Datei aus." + +#: ../3.1.13_game_10_second.rst:163 +msgid "**Code**" +msgstr "**Code**" + +#: ../3.1.13_game_10_second.rst:167 + +msgid "" +"You can **Modify/Reset/Copy/Run/Stop** the code below. But before that, " +"you need to go to source code path like ``davinci-kit-for-raspberry-" +"pi/python``." +msgstr "" +"Sie können den folgenden Code **Ändern/Zurücksetzen/ " +"Kopieren/Ausführen/Stoppen**. Zuvor müssen Sie jedoch zu einem " +"Quellcodepfad wie ``davinci-kit-for-raspberry-pi/python`` gehen." + +#: ../3.1.13_game_10_second.rst:336 +msgid "" +"After the interval reaches 0.01s, the timer function is called; add 1 to " +"counter, and the timer is used again to execute itself repeatedly every " +"0.01s." +msgstr "" +"Nachdem das Intervall 0,01 s erreicht hat, wird die Timerfunktion " +"aufgerufen. Addiere 1 zum Zähler und der Timer wird erneut verwendet, um " +"sich alle 0,01 Sekunden wiederholt auszuführen." + +#: ../3.1.13_game_10_second.rst:341 +msgid "Phenomenon Picture" +msgstr "Phänomen Bild" + diff --git a/docs/source/locale/de/LC_MESSAGES/3.1.14_game_not_not.po b/docs/source/locale/de/LC_MESSAGES/3.1.14_game_not_not.po new file mode 100644 index 0000000..f1ad5e3 --- /dev/null +++ b/docs/source/locale/de/LC_MESSAGES/3.1.14_game_not_not.po @@ -0,0 +1,629 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, SunFounder +# This file is distributed under the same license as the SunFounder Davinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Davinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-19 18:22+0800\n" +"PO-Revision-Date: 2021-06-01 11:08+0800\n" +"Last-Translator: \n" +"Language: de\n" +"Language-Team: \n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../3.1.14_game_not_not.rst:2 +msgid "3.1.14 GAME– Not Not" +msgstr "3.1.14 SPIEL - Nicht nicht" + +#: ../3.1.14_game_not_not.rst:5 +msgid "Introduction" +msgstr "Einführung" + +#: ../3.1.14_game_not_not.rst:7 + +msgid "" +"In this lesson, we will make an interesting game device, and we call it " +"\\\"Not Not\\\"." +msgstr "" +"In dieser Lektion werden wir ein interessantes Spielgerät herstellen und " +"es \"Nicht nicht\" nennen." + +#: ../3.1.14_game_not_not.rst:9 +msgid "" +"During the game, the dot matrix will refresh an arrow randomly. What you " +"need to do is to press the button in the opposite direction of the arrow " +"within a limited time. If the time is up, or if the button in the same " +"direction as the arrow is pressed, you are out." +msgstr "" +"Während des Spiels aktualisiert die Punktmatrix einen Pfeil nach dem " +"Zufallsprinzip. Sie müssen die Taste innerhalb einer begrenzten Zeit in " +"die entgegengesetzte Richtung des Pfeils drücken. Wenn die Zeit " +"abgelaufen ist oder wenn die Taste in die gleiche Richtung wie der Pfeil " +"gedrückt wird, sind Sie raus." + +#: ../3.1.14_game_not_not.rst:11 +msgid "" +"This game can really practice your reverse thinking, and now shall we " +"have a try?" +msgstr "" +"Dieses Spiel kann wirklich Ihr umgekehrtes Denken üben, und jetzt sollen " +"wir es versuchen?" + +#: ../3.1.14_game_not_not.rst:14 +msgid "Components" +msgstr "Komponenten" + +#: ../3.1.14_game_not_not.rst:20 +msgid "Schematic Diagram" +msgstr "Schematische Darstellung" + +#: ../3.1.14_game_not_not.rst:23 +msgid "T-Board Name" +msgstr "T-Karte Name" + +#: ../3.1.14_game_not_not.rst:23 +msgid "physical" +msgstr "physisch" + +#: ../3.1.14_game_not_not.rst:23 +msgid "wiringPi" +msgstr "wiringPi" + +#: ../3.1.14_game_not_not.rst:23 +msgid "BCM" +msgstr "BCM" + +#: ../3.1.14_game_not_not.rst:24 +msgid "GPIO17" +msgstr "GPIO17" + +#: ../3.1.14_game_not_not.rst:24 +msgid "Pin 11" +msgstr "Pin 11" + +#: ../3.1.14_game_not_not.rst:24 +msgid "0" +msgstr "0" + +#: ../3.1.14_game_not_not.rst:24 +msgid "17" +msgstr "17" + +#: ../3.1.14_game_not_not.rst:25 +msgid "GPIO18" +msgstr "GPIO18" + +#: ../3.1.14_game_not_not.rst:25 +msgid "Pin 12" +msgstr "Pin 12" + +#: ../3.1.14_game_not_not.rst:25 +msgid "1" +msgstr "1" + +#: ../3.1.14_game_not_not.rst:25 +msgid "18" +msgstr "18" + +#: ../3.1.14_game_not_not.rst:26 +msgid "GPIO27" +msgstr "GPIO27" + +#: ../3.1.14_game_not_not.rst:26 +msgid "Pin 13" +msgstr "Pin 13" + +#: ../3.1.14_game_not_not.rst:26 +msgid "2" +msgstr "2" + +#: ../3.1.14_game_not_not.rst:26 +msgid "27" +msgstr "27" + +#: ../3.1.14_game_not_not.rst:27 +msgid "GPIO20" +msgstr "GPIO20" + +#: ../3.1.14_game_not_not.rst:27 +msgid "Pin 38" +msgstr "Pin 38" + +#: ../3.1.14_game_not_not.rst:27 +msgid "28" +msgstr "28" + +#: ../3.1.14_game_not_not.rst:27 +msgid "20" +msgstr "20" + +#: ../3.1.14_game_not_not.rst:28 +msgid "GPIO26" +msgstr "GPIO26" + +#: ../3.1.14_game_not_not.rst:28 +msgid "Pin 37" +msgstr "Pin 37" + +#: ../3.1.14_game_not_not.rst:28 +msgid "25" +msgstr "25" + +#: ../3.1.14_game_not_not.rst:28 +msgid "26" +msgstr "26" + +#: ../3.1.14_game_not_not.rst:35 +msgid "Experimental Procedures" +msgstr "Experimentelle Verfahren" + +#: ../3.1.14_game_not_not.rst:37 +msgid "**Step 1:** Build the circuit." +msgstr "**Schritt 1:** Bauen Sie die Schaltung auf." + +#: ../3.1.14_game_not_not.rst:44 +msgid "**For C Language Users**" +msgstr "**Für Benutzer in C-Sprache**" + +#: ../3.1.14_game_not_not.rst:46 +msgid "**Step 2:** Go to the folder of code." +msgstr "**Schritt 2:** Gehen Sie zum Code-Ordner." + +#: ../3.1.14_game_not_not.rst:56 +msgid "**Step 3**: Compile." +msgstr "**Schritt 3**: Kompilieren." + +#: ../3.1.14_game_not_not.rst:66 +msgid "**Step 4**: Run." +msgstr "**Schritt 4**: Ausführen." + +#: ../3.1.14_game_not_not.rst:76 + +msgid "" +"After the program starts, a left or right arrow will be refreshed at " +"random on the dot matrix. What you need to do is to press the button in " +"the opposite direction of the arrow within a limited time. Then " +"\\\"**√**\\\" appears on the dot matrix. If the time is up, or if the " +"button in the same direction as the arrow is pressed, you are out and the" +" dot matrix displays \\\"x\\\". You can also add 2 new buttons or replace" +" them with Joystick keys for up, down, left and right— 4 directions to " +"increase the difficulty of the game." +msgstr "" +"Nach dem Start des Programms wird ein Pfeil nach links oder rechts in der" +" Punktmatrix nach dem Zufallsprinzip aktualisiert. Sie müssen die Taste " +"innerhalb einer begrenzten Zeit in die entgegengesetzte Richtung des " +"Pfeils drücken. Dann erscheint \"**√**\" auf der Punktmatrix. Wenn " +"die Zeit abgelaufen ist oder wenn die Taste in die gleiche Richtung wie " +"der Pfeil gedrückt wird, sind Sie ausgeschaltet und die Punktmatrix zeigt" +" \"x\" an. Sie können auch 2 neue Schaltflächen hinzufügen oder durch " +"Joystick-Tasten für Auf, Ab, Links und Rechts ersetzen - 4 Richtungen, um" +" die Schwierigkeit des Spiels zu erhöhen." + +#: ../3.1.14_game_not_not.rst:87 +msgid "" +"If it does not work after running, please refer to :ref:`C code is not " +"working?`" +msgstr "" +"Wenn es nach dem Ausführen nicht funktioniert, lesen Sie bitte :ref:`C " +"code is not working?`" + +#: ../3.1.14_game_not_not.rst:90 ../3.1.14_game_not_not.rst:443 +msgid "**Code Explanation**" +msgstr "**Code Erklärung**" + +#: ../3.1.14_game_not_not.rst:92 ../3.1.14_game_not_not.rst:445 +msgid "" +"Based on **1.1.6 LED Dot Matrix**, this lesson adds **2** buttons to make" +" an amusing game device. So, if you are not very familiar with the dot " +"matrix, please refer to :ref:`1.1.6 LED Dot Matrix`." +msgstr "" +"Basierend auf **1.1.6 LED Dot Matrix** fügt diese Lektion **2** Tasten " +"hinzu, um ein amüsantes Spielgerät zu erstellen. Wenn Sie mit der " +"Punktmatrix nicht sehr vertraut sind, lesen Sie bitte :ref:`1.1.6 LED Dot" +" Matrix`." + +#: ../3.1.14_game_not_not.rst:96 ../3.1.14_game_not_not.rst:449 +msgid "The whole program process is as below:" +msgstr "Der gesamte Programmprozess ist wie folgt:" + +#: ../3.1.14_game_not_not.rst:98 ../3.1.14_game_not_not.rst:454 +msgid "Randomly select an arrow direction and generate **timer 1**." +msgstr "Wählen Sie zufällig eine Pfeilrichtung und generieren Sie **Timer 1**." + +#: ../3.1.14_game_not_not.rst:100 +msgid "Display the arrow image on the dot matrix." +msgstr "Zeigen Sie das Pfeilbild auf der Punktmatrix an." + +#: ../3.1.14_game_not_not.rst:102 ../3.1.14_game_not_not.rst:458 +msgid "" +"Judge the button input. If the button is pressed or **timer 1** reminds " +"time’s up, judgement starts." +msgstr "" +"Beurteilen Sie die Tasteneingabe. Wenn die Taste gedrückt wird oder " +"**Timer 1** daran erinnert, dass die Zeit abgelaufen ist, beginnt die " +"Beurteilung." + +#: ../3.1.14_game_not_not.rst:105 ../3.1.14_game_not_not.rst:461 +msgid "" +"Display the image on the basis of a judging result; meanwhile, generate " +"**timer 2**." +msgstr "" +"Zeigen Sie das Bild anhand eines Bewertungsergebnisses an. In der " +"Zwischenzeit **Timer 2** generieren." + +#: ../3.1.14_game_not_not.rst:108 ../3.1.14_game_not_not.rst:464 +msgid "Rerun **step 1** when **timer 2** reminds time’s up." +msgstr "" +"Führen Sie **Schritt 1** erneut aus, wenn **Timer 2** daran erinnert, " +"dass die Zeit abgelaufen ist." + +#: ../3.1.14_game_not_not.rst:131 +msgid "" +"GLYPH structure works like a dictionary: the **word** attribute " +"corresponds to the **key** on the dictionary; the **code** attribute " +"corresponds to the **value**." +msgstr "" +"Die GLYPH-Struktur funktioniert wie ein Wörterbuch: Das **Wort** Attribut" +" entspricht **dem Schlüssel** im Wörterbuch. Das **Kode**-Attribut " +"entspricht dem **Wert**." + +#: ../3.1.14_game_not_not.rst:135 +msgid "" +"Here, code is used to store an array for dot matrix to display images (an" +" 8x8 bit array)." +msgstr "" +"Hier wird Kode verwendet, um ein Array für die Punktmatrix zum Anzeigen " +"von Bildern zu speichern (ein 8x8-Bit-Array)." + +#: ../3.1.14_game_not_not.rst:138 +msgid "" +"Here, the array **arrow** can be used to display the arrow pattern in up," +" down, left and right directions on the LED dot matrix." +msgstr "" +"Hier kann der Array-**Pfeil** verwendet werden, um das Pfeilmuster in " +"Aufwärts-, Abwärts-, Links- und Rechtsrichtung auf der LED-Punktmatrix " +"anzuzeigen." + +#: ../3.1.14_game_not_not.rst:141 +msgid "Now **down** and **up** are commented and uncomment them if needed." +msgstr "" +"Jetzt werden **unten** und **oben** kommentiert und bei Bedarf " +"auskommentiert." + +#: ../3.1.14_game_not_not.rst:143 + +msgid "" +"The array **check** is used to display these two images: \\\"**×**\\\" " +"and \\\"**√**\\\"." +msgstr "" +"Die Array-**Prüfung** wird verwendet, um diese beiden Bilder anzuzeigen: " +"\"**×**\" und \"**√**\"." + +#: ../3.1.14_game_not_not.rst:157 +msgid "" +"The function **lookup()** works by \\\"checking the dictionary\\\". " +"Define a **key,** search the same words as **key** in the structure " +"**GLYPH \\*glyph** and return the corresponding information— " +"\\\"**code**\\\" of the certain word." +msgstr "" +"Die Funktion **lookup()** funktioniert durch \"Überprüfen des " +"Wörterbuchs\". Definieren Sie **einen Schlüssel**, suchen Sie die gleichen" +" Wörter wie der Schlüssel in der Struktur **GLYPH \* glyph** und geben " +"Sie die entsprechenden Informationen zurück - \"**kode**\" des " +"bestimmten Wortes." + +#: ../3.1.14_game_not_not.rst:162 +msgid "" +"The function **Strcmp()** is used to compare the identity of two " +"character strings **glyph[i].word** and **key**; if the identity is " +"judged, return **glyph[i].code** ( as shown)." +msgstr "" +"Die Funktion **Strcmp()** wird verwendet, um die Identität von zwei " +"Zeichenfolgen **glyph[i].word** und **Schlüssel** zu vergleichen; Wenn " +"die Identität beurteilt wird, geben Sie den **glyph[i].code** zurück (wie" +" gezeigt)." + +#: ../3.1.14_game_not_not.rst:176 ../3.1.14_game_not_not.rst:516 +msgid "Display the specified pattern on the dot matrix." +msgstr "Zeigen Sie das angegebene Muster in der Punktmatrix an." + +#: ../3.1.14_game_not_not.rst:188 ../3.1.14_game_not_not.rst:529 + +msgid "" +"The function **createGlyph()** is used to randomly select a direction " +"(the word attribute of an element in the array **arrow[]:** " +"\\\"**left**\\\", \\\"**right**\\\"... ). Set the stage as \\\"PLAY\\\" " +"and start a 2-second alarm clock function." +msgstr "" +"Mit der Funktion **createGlyph()** wird zufällig eine Richtung ausgewählt" +" (das Wortattribut eines Elements im array **arrow[]:** \"**left**\"," +" \"**right**\"...). Stellen Sie die Bühne auf \"PLAY\" und starten Sie " +"eine 2-Sekunden-Weckerfunktion." + +#: ../3.1.14_game_not_not.rst:193 +msgid "" +"**srand(time(NULL)):** Initializes random seeds that are from the system " +"clock." +msgstr "" +"**srand(time(NULL)):** Initialisiert zufällige Seeds, die von der " +"Systemuhr stammen." + +#: ../3.1.14_game_not_not.rst:196 + +msgid "" +"**(sizeof(arrow)/sizeof(arrow[0])):** Get the length of the array, the " +"outcome is 2." +msgstr "" +"**(sizeof(arrow)/sizeof(arrow[0])):** Ermittelt die Länge des Arrays, " +"das Ergebnis ist 2." + +#: ../3.1.14_game_not_not.rst:199 + +msgid "" +"**rand()%2:** The remainder is **0** or **1,** gotten from dividing a " +"generated random number by 2." +msgstr "" +"**rand()%2:** Der Rest ist **0** oder **1**, erhalten durch Teilen einer " +"generierten Zufallsnummer durch 2." + +#: ../3.1.14_game_not_not.rst:202 + +msgid "" +"**waypoint=arrow[i].word:** The outcome should be \\\"right\\\" or " +"\\\"left\\\"." +msgstr "" +"**waypoint=arrow[i].word:** Das Ergebnis sollte \"rechts\" oder \"links\" " +"sein." + +#: ../3.1.14_game_not_not.rst:219 + +msgid "" +"checkPoint() is used to check the button input; if the button is not " +"pressed or the button in the same direction as the arrow is pressed, the " +"outcome of the waypoint is wrong and \\\"**x**\\\" appears on the dot " +"matrix. Otherwise, the waypoint is right and dot matrix displays " +"\\\"**√**\\\". Here the **stage** is **CHECK,** and there can be set a " +"1-second alarm clock function." +msgstr "" +"Mit checkPoint() wird die Tasteneingabe überprüft. Wenn die Taste nicht " +"gedrückt wird oder die Taste in die gleiche Richtung wie der Pfeil " +"gedrückt wird, ist das Ergebnis des Wegpunkts falsch und auf der " +"Punktmatrix wird \"**x**\" angezeigt. Andernfalls ist der Wegpunkt " +"richtig und die Punktmatrix zeigt \"**√**\" an. Hier ist die " +"**Stufe** **CHECK** und es kann eine 1-Sekunden-Weckerfunktion " +"eingestellt werden." + +#: ../3.1.14_game_not_not.rst:226 + +msgid "" +"alarm() is also called \\\"alarm clock\\\", in which a timer can be set, " +"and it sends **SIGALRM** signals to the progress when the defined time is" +" up." +msgstr "" +"alarm() wird auch als \"Wecker\" bezeichnet, bei dem ein Timer eingestellt " +"werden kann, und sendet **SIGALRM**-Signale an den Fortschritt, wenn die " +"definierte Zeit abgelaufen ist." + +#: ../3.1.14_game_not_not.rst:239 +msgid "" +"getKey() reads the states of the these two buttons; if the right button " +"is pressed, the parameter of the function checkPoint() is **right** and " +"if the left button is pressed, the parameter is **left**." +msgstr "" +"getKey() liest die Zustände dieser beiden Schaltflächen; Wenn die rechte " +"Taste gedrückt wird, ist der Parameter der Funktion checkPoint() " +"**rechts** und wenn die **linke** Taste gedrückt wird, bleibt der " +"Parameter links." + +#: ../3.1.14_game_not_not.rst:254 + +msgid "" +"Previously, timer() was called when set as the alarm() time’s up. Then " +"under the \\\"PLAY\\\" mode, checkPoint() is to be called to judge the " +"outcome. If the program is set to \\\"CHECK\\\" mode, the function " +"createGlyph() should be called to select new patterns." +msgstr "" +"Zuvor wurde timer() aufgerufen, wenn die Alarmzeit abgelaufen ist. Im " +"Modus \"PLAY\" soll dann checkPoint() aufgerufen werden, um das Ergebnis zu" +" beurteilen. Wenn das Programm auf den Modus \"CHECK\" eingestellt ist, " +"sollte die Funktion createGlyph() aufgerufen werden, um neue Muster " +"auszuwählen." + +#: ../3.1.14_game_not_not.rst:281 +msgid "" +"The working of the function signal(SIGALRM,timer): calling the timer() " +"function when a SIGALRM signal (generated by the alarm clock function " +"alarm()) is received." +msgstr "" +"Die Funktionsweise des Funktionssignals (SIGALRM, Timer): Aufruf der " +"Funktion timer(), wenn ein SIGALRM-Signal (vom Weckerfunktionsalarm() " +"erzeugt) empfangen wird." + +#: ../3.1.14_game_not_not.rst:285 ../3.1.14_game_not_not.rst:479 +msgid "" +"When the program starts, call createGlyph() one time at first and then " +"start the loop." +msgstr "" +"Wenn das Programm startet, rufen Sie zunächst einmal createGlyph() auf " +"und starten Sie dann die Schleife." + +#: ../3.1.14_game_not_not.rst:288 ../3.1.14_game_not_not.rst:482 + +msgid "" +"In the loop: under PLAY mode, the dot matrix displays arrow patterns and " +"check the button state; if under CHECK mode, what is displayed is " +"\\\"**x**\\\" or \\\"**√**\\\"." +msgstr "" +"In der Schleife: Im PLAY-Modus zeigt die Punktmatrix Pfeilmuster an und " +"überprüft den Schaltflächenstatus. Im CHECK-Modus wird \"**x**\" oder" +" \"**√**\" angezeigt." + +#: ../3.1.14_game_not_not.rst:293 +msgid "**For Python Language Users**" +msgstr "**Für Python-Sprachbenutzer**" + +#: ../3.1.14_game_not_not.rst:295 +msgid "**Step 2**: Get into the folder of code." +msgstr "**Schritt 2**: Rufen Sie den Code-Ordner auf." + +#: ../3.1.14_game_not_not.rst:305 +msgid "**Step 3**: Run." +msgstr "**Schritt 3**: Ausführen." + +#: ../3.1.14_game_not_not.rst:315 + +msgid "" +"After starting the program, on the dot matrix appears an arrow pointing " +"to the right or the left. What you need to do is to press the button in " +"the opposite direction of the arrow within a limited time. Then " +"\\\"**√**\\\" appears on the dot matrix. If the time is up, or if the " +"button in the same direction as the arrow is pressed, you are out and the" +" dot matrix displays \\\"x\\\". You can also add 2 new buttons or replace" +" them with Joystick keys for up, down, left and right— 4 directions to " +"increase the difficulty of the game." +msgstr "" +"Nach dem Starten des Programms erscheint auf der Punktmatrix ein Pfeil " +"nach rechts oder links. Sie müssen die Taste innerhalb einer begrenzten " +"Zeit in die entgegengesetzte Richtung des Pfeils drücken. Dann erscheint " +"\"**√**\" auf der Punktmatrix. Wenn die Zeit abgelaufen ist oder wenn" +" die Taste in die gleiche Richtung wie der Pfeil gedrückt wird, sind Sie " +"ausgeschaltet und die Punktmatrix zeigt \"x\" an. Sie können auch 2 neue " +"Schaltflächen hinzufügen oder durch Joystick-Tasten für Auf, Ab, Links " +"und Rechts ersetzen - 4 Richtungen, um die Schwierigkeit des Spiels zu " +"erhöhen." + +#: ../3.1.14_game_not_not.rst:324 +msgid "**Code**" +msgstr "**Code**" + +#: ../3.1.14_game_not_not.rst:328 + +msgid "" +"You can **Modify/Reset/Copy/Run/Stop** the code below. But before that, " +"you need to go to source code path like ``davinci-kit-for-raspberry-" +"pi/python``." +msgstr "" +"Sie können den folgenden Code **Ändern/Zurücksetzen/ " +"Kopieren/Ausführen/Stoppen**. Zuvor müssen Sie jedoch zu einem " +"Quellcodepfad wie ``davinci-kit-for-raspberry-pi/python`` gehen." + +#: ../3.1.14_game_not_not.rst:456 +msgid "Display the corresponding arrow image on the dot matrix." +msgstr "Zeigen Sie das entsprechende Pfeilbild in der Punktmatrix an." + +#: ../3.1.14_game_not_not.rst:477 +msgid "Main() contains the whole running process." +msgstr "Main() enthält den gesamten laufenden Prozess." + +#: ../3.1.14_game_not_not.rst:499 +msgid "" +"Here, the **dictionary** arrow can be used to display the arrow pattern " +"in up, down, left and right directions on the LED dot matrix." +msgstr "" +"Hier kann der **Wörterbuch**-Pfeil verwendet werden, um das Pfeilmuster " +"nach oben, unten, links und rechts auf der LED-Punktmatrix anzuzeigen." + +#: ../3.1.14_game_not_not.rst:502 +msgid "Now down and up are commented and uncomment them if needed." +msgstr "Jetzt werden unten und oben kommentiert und bei Bedarf auskommentiert." + +#: ../3.1.14_game_not_not.rst:504 + +msgid "" +"The **dictionary** check is used to display these two images: " +"\\\"**×**\\\" and \\\"**√**\\\"." +msgstr "" +"Die **Wörterbuch** Prüfung wird verwendet, um diese beiden Bilder " +"anzuzeigen: \"**×**\" und \"**√**\"." + +#: ../3.1.14_game_not_not.rst:534 + +msgid "" +"**arrow.keys():** Select the keys \\\"right\\\"and \\\"left\\\" in the " +"arrow array." +msgstr "" +"**arrow.keys():** Wählen Sie die Tasten \"rechts\" und \"links\" im " +"Pfeilarray." + +#: ../3.1.14_game_not_not.rst:536 + +msgid "**list(arrow.keys()):** Combine these keys into an array." +msgstr "**list(arrow.keys()):** Kombinieren Sie diese Schlüssel zu einem Array." + +#: ../3.1.14_game_not_not.rst:538 +msgid "" +"**random.choice(list(arrow.keys())):** Randomly select an element in the " +"array." +msgstr "" +"**random.choice(list(arrow.keys())):** Wählen Sie zufällig ein Element im" +" Array aus." + +#: ../3.1.14_game_not_not.rst:541 + +msgid "" +"So, The outcome of **waypoint=random.choice(list(arrow.keys()))** should " +"be \\\"right\\\" or \\\"left\\\"." +msgstr "" +"Das Ergebnis von **waypoint=random.choice(list(arrow.keys()))** sollte " +"also \"rechts\" oder \"links\" sein." + +#: ../3.1.14_game_not_not.rst:559 +msgid "checkPoint() is to detect the current state of button input:" +msgstr "Mit checkPoint() wird der aktuelle Status der Tasteneingabe ermittelt:" + +#: ../3.1.14_game_not_not.rst:561 +msgid "" +"If no button is pressed or the button in the same direction as the the " +"arrow is pressed, the assigned value of the **``waypoint``** is " +"**``wrong``** and there displays ``x`` on the dot matrix." +msgstr "" +"Wenn keine Taste gedrückt wird oder die Taste in die gleiche Richtung wie" +" der Pfeil gedrückt wird, ist der zugewiesene Wert des **``Wegpunkt``** " +"**``falsch``** und zeigt ``x`` auf der Punktmatrix." + +#: ../3.1.14_game_not_not.rst:565 + +msgid "Otherwise, the waypoint is right and \\\"**√**\\\" appears." +msgstr "Andernfalls ist der Wegpunkt richtig und \"**√**\" wird angezeigt." + +#: ../3.1.14_game_not_not.rst:567 +msgid "" +"Now the stage is **CHECK** and start a 1-second timer **timerCheck** to " +"call the function creatGlyph() in a second." +msgstr "" +"Jetzt ist die Stufe **CHECK** und startet einen 1-Sekunden-Timer " +"**timerCheck**, um die Funktion creatGlyph () in einer Sekunde " +"aufzurufen." + +#: ../3.1.14_game_not_not.rst:575 + +msgid "" +"In the function timeout(), set the parameter of checkPoint() as " +"\\\"**empty**\\\"." +msgstr "" +"Setzen Sie im Funktionszeitlimit() den Parameter von checkPoint() auf " +"\"**leer**\"." + +#: ../3.1.14_game_not_not.rst:586 +msgid "" +"getKey() reads the state of these two buttons, and if the right button is" +" pressed, the parameter of checkPoint() is **right**; if the left button " +"is pressed, the parameter is **left**." +msgstr "" +"getKey() liest den Status dieser beiden Schaltflächen, und wenn die " +"rechte Schaltfläche gedrückt wird, ist der Parameter von checkPoint() " +"**richtig**. Wenn die **linke** Taste gedrückt wird, bleibt der Parameter" +" übrig." + +#: ../3.1.14_game_not_not.rst:591 +msgid "Phenomenon Picture" +msgstr "Phänomen Bild" + diff --git a/docs/source/locale/de/LC_MESSAGES/3.1.1_counting_device.po b/docs/source/locale/de/LC_MESSAGES/3.1.1_counting_device.po new file mode 100644 index 0000000..e4dc907 --- /dev/null +++ b/docs/source/locale/de/LC_MESSAGES/3.1.1_counting_device.po @@ -0,0 +1,311 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, SunFounder +# This file is distributed under the same license as the SunFounder Davinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Davinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-19 18:22+0800\n" +"PO-Revision-Date: 2021-08-09 15:26+0800\n" +"Last-Translator: \n" +"Language: de\n" +"Language-Team: \n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../3.1.1_counting_device.rst:2 +msgid "3.1.1 Counting Device" +msgstr "3.1.1 Zählgerät" + +#: ../3.1.1_counting_device.rst:5 +msgid "Introduction" +msgstr "Einführung" + +#: ../3.1.1_counting_device.rst:7 +msgid "" +"Here we will make a number-displaying counter system, consisting of a PIR" +" sensor and a 4-digit segment display. When the PIR detects that someone " +"is passing by, the number on the 4-digit segment display will add 1. You " +"can use this counter to count the number of people walking through the " +"passageway." +msgstr "" +"Hier werden wir ein Zählersystem mit Nummeranzeige herstellen, das aus " +"einem PIR-Sensor und einer 4-stelligen Segmentanzeige besteht. Wenn der " +"PIR feststellt, dass jemand vorbeikommt, addiert die Nummer auf der " +"4-stelligen Segmentanzeige 1. Mit diesem Zähler können Sie die Anzahl der" +" Personen zählen, die durch den Durchgang gehen." + +#: ../3.1.1_counting_device.rst:14 +msgid "Components" +msgstr "Komponenten" + +#: ../3.1.1_counting_device.rst:23 +msgid "Schematic Diagram" +msgstr "Schematische Darstellung" + +#: ../3.1.1_counting_device.rst:26 +msgid "T-Board Name" +msgstr "T-Karte Name" + +#: ../3.1.1_counting_device.rst:26 +msgid "physical" +msgstr "physisch" + +#: ../3.1.1_counting_device.rst:26 +msgid "wiringPi" +msgstr "wiringPi" + +#: ../3.1.1_counting_device.rst:26 +msgid "BCM" +msgstr "BCM" + +#: ../3.1.1_counting_device.rst:27 +msgid "GPIO17" +msgstr "GPIO17" + +#: ../3.1.1_counting_device.rst:27 +msgid "Pin 11" +msgstr "Pin 11" + +#: ../3.1.1_counting_device.rst:27 +msgid "0" +msgstr "0" + +#: ../3.1.1_counting_device.rst:27 +msgid "17" +msgstr "17" + +#: ../3.1.1_counting_device.rst:28 +msgid "GPIO27" +msgstr "GPIO27" + +#: ../3.1.1_counting_device.rst:28 +msgid "Pin 13" +msgstr "Pin 13" + +#: ../3.1.1_counting_device.rst:28 +msgid "2" +msgstr "2" + +#: ../3.1.1_counting_device.rst:28 +msgid "27" +msgstr "27" + +#: ../3.1.1_counting_device.rst:29 +msgid "GPIO22" +msgstr "GPIO22" + +#: ../3.1.1_counting_device.rst:29 +msgid "Pin 15" +msgstr "Pin 15" + +#: ../3.1.1_counting_device.rst:29 +msgid "3" +msgstr "3" + +#: ../3.1.1_counting_device.rst:29 +msgid "22" +msgstr "22" + +#: ../3.1.1_counting_device.rst:30 +msgid "SPIMOSI" +msgstr "SPIMOSI" + +#: ../3.1.1_counting_device.rst:30 +msgid "Pin 19" +msgstr "Pin 19" + +#: ../3.1.1_counting_device.rst:30 +msgid "12" +msgstr "12" + +#: ../3.1.1_counting_device.rst:30 +msgid "10" +msgstr "10" + +#: ../3.1.1_counting_device.rst:31 +msgid "GPIO18" +msgstr "GPIO18" + +#: ../3.1.1_counting_device.rst:31 +msgid "Pin 12" +msgstr "Pin 12" + +#: ../3.1.1_counting_device.rst:31 +msgid "1" +msgstr "1" + +#: ../3.1.1_counting_device.rst:31 +msgid "18" +msgstr "18" + +#: ../3.1.1_counting_device.rst:32 +msgid "GPIO23" +msgstr "GPIO23" + +#: ../3.1.1_counting_device.rst:32 +msgid "Pin 16" +msgstr "Pin 16" + +#: ../3.1.1_counting_device.rst:32 +msgid "4" +msgstr "4" + +#: ../3.1.1_counting_device.rst:32 +msgid "23" +msgstr "23" + +#: ../3.1.1_counting_device.rst:33 +msgid "GPIO24" +msgstr "GPIO24" + +#: ../3.1.1_counting_device.rst:33 +msgid "Pin 18" +msgstr "Pin 18" + +#: ../3.1.1_counting_device.rst:33 +msgid "5" +msgstr "5" + +#: ../3.1.1_counting_device.rst:33 +msgid "24" +msgstr "24" + +#: ../3.1.1_counting_device.rst:34 +msgid "GPIO26" +msgstr "GPIO26" + +#: ../3.1.1_counting_device.rst:34 +msgid "Pin 37" +msgstr "Pin 37" + +#: ../3.1.1_counting_device.rst:34 +msgid "25" +msgstr "25" + +#: ../3.1.1_counting_device.rst:34 +msgid "26" +msgstr "26" + +#: ../3.1.1_counting_device.rst:41 +msgid "Experimental Procedures" +msgstr "Experimentelle Verfahren" + +#: ../3.1.1_counting_device.rst:43 +msgid "**Step 1**: Build the circuit." +msgstr "**Schritt 1:** Bauen Sie die Schaltung auf." + +msgid "计数器_bb" +msgstr "计数器_bb" + +#: ../3.1.1_counting_device.rst:50 +msgid "**For C Language Users**" +msgstr "**Für Benutzer in C-Sprache**" + +#: ../3.1.1_counting_device.rst:52 ../3.1.1_counting_device.rst:141 +msgid "**Step 2**: Go to the folder of the code." +msgstr "**Schritt 2:** Gehen Sie zum Ordner der Kode." + +#: ../3.1.1_counting_device.rst:62 +msgid "**Step 3**: Compile the code." +msgstr "**Schritt 3:** Kompilieren Sie die Kode." + +#: ../3.1.1_counting_device.rst:72 +msgid "**Step 4**: Run the executable file." +msgstr "**Schritt 4:** Führen Sie die ausführbare Datei aus." + +#: ../3.1.1_counting_device.rst:82 ../3.1.1_counting_device.rst:161 +msgid "" +"After the code runs, when the PIR detects that someone is passing by, the" +" number on the 4-digit segment display will add 1." +msgstr "" +"Wenn der PIR nach dem Ausführen der Kode feststellt, dass jemand " +"vorbeikommt, addiert die Nummer auf der 4-stelligen Segmentanzeige 1." + +#: ../3.1.1_counting_device.rst:88 +msgid "" +"If it does not work after running, please refer to :ref:`C code is not " +"working?`" +msgstr "" +"Wenn es nach dem Ausführen nicht funktioniert, lesen Sie bitte :ref:`C " +"code is not working?`" + +#: ../3.1.1_counting_device.rst:90 ../3.1.1_counting_device.rst:260 +msgid "**Code Explanation**" +msgstr "**Code Erklärung**" + +#: ../3.1.1_counting_device.rst:113 ../3.1.1_counting_device.rst:287 +msgid "" +"First, start the fourth segment display, write the single-digit number. " +"Then start the third segment display, and type in the tens digit; after " +"that, start the second and the first segment display respectively, and " +"write the hundreds and thousands digits respectively. Because the " +"refreshing speed is very fast, we see a complete four-digit display." +msgstr "" +"Starten Sie zuerst die vierte Segmentanzeige und schreiben Sie die " +"einstellige Nummer. Dann starten Sie die Anzeige des dritten Segments und" +" geben Sie die Zehnerstelle ein. Starten Sie danach die zweite bzw. die " +"erste Segmentanzeige und schreiben Sie die Hunderter- bzw. " +"Tausenderstellen. Da die Aktualisierungsgeschwindigkeit sehr hoch ist, " +"sehen wir eine vollständige vierstellige Anzeige." + +#: ../3.1.1_counting_device.rst:134 ../3.1.1_counting_device.rst:306 +msgid "" +"This is the main function: display the number on the 4-digit segment " +"display and read the PIR value. When the PIR detects that someone is " +"passing by, the number on the 4-digit segment display will add 1." +msgstr "" +"Dies ist die Hauptfunktion: Zeigen Sie die Nummer auf der 4-stelligen " +"Segmentanzeige an und lesen Sie den PIR-Wert. Wenn der PIR feststellt, " +"dass jemand vorbeikommt, addiert die Nummer auf der 4-stelligen " +"Segmentanzeige 1." + +#: ../3.1.1_counting_device.rst:139 +msgid "**For Python Language Users**" +msgstr "**Für Python-Sprachbenutzer**" + +#: ../3.1.1_counting_device.rst:151 +msgid "**Step 3**: Run the executable file." +msgstr "**Schritt 3:** Führen Sie die ausführbare Datei aus." + +#: ../3.1.1_counting_device.rst:165 +msgid "**code**" +msgstr "**code**" + +#: ../3.1.1_counting_device.rst:169 + +msgid "" +"You can **Modify/Reset/Copy/Run/Stop** the code below. But before that, " +"you need to go to source code path like ``davinci-kit-for-raspberry-" +"pi/python``." +msgstr "" +"Sie können den folgenden Code **Ändern/Zurücksetzen/ " +"Kopieren/Ausführen/Stoppen**. Zuvor müssen Sie jedoch zu einem " +"Quellcodepfad wie ``davinci-kit-for-raspberry-pi/python`` gehen." + +#: ../3.1.1_counting_device.rst:262 +msgid "" +"Based on **1.1.5 4-Digit 7-Segment Display**, this lesson adds **PIR " +"module** to change the automatic counting of lesson 1.1.5 into count " +"detecting. When the PIR detects that someone is passing by, the number on" +" the 4-digit segment display will add 1." +msgstr "" +"Basierend auf der **1.1.5 4-stelligen 7-Segment-Anzeige** wird in dieser " +"Lektion ein **PIR-Modul** hinzugefügt, um die automatische Zählung von " +"Lektion 1.1.5 in Zählerkennung zu ändern. Wenn der PIR feststellt, dass " +"jemand vorbeikommt, addiert die Nummer auf der 4-stelligen Segmentanzeige" +" 1." + +#: ../3.1.1_counting_device.rst:311 +msgid "Phenomenon Picture" +msgstr "Phänomen Bild" + +#~ msgid "\\_MG_3354" +#~ msgstr "\\_MG_3354" + diff --git a/docs/source/locale/de/LC_MESSAGES/3.1.2_welcome.po b/docs/source/locale/de/LC_MESSAGES/3.1.2_welcome.po new file mode 100644 index 0000000..1ceecff --- /dev/null +++ b/docs/source/locale/de/LC_MESSAGES/3.1.2_welcome.po @@ -0,0 +1,298 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, SunFounder +# This file is distributed under the same license as the SunFounder Davinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Davinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-19 18:22+0800\n" +"PO-Revision-Date: 2021-06-01 10:23+0800\n" +"Last-Translator: \n" +"Language: de\n" +"Language-Team: \n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../3.1.2_welcome.rst:2 +msgid "3.1.2 Welcome" +msgstr "3.1.2 Willkommen" + +#: ../3.1.2_welcome.rst:5 +msgid "Introduction" +msgstr "Einführung" + +#: ../3.1.2_welcome.rst:7 +msgid "" +"In this project, we will use PIR to sense the movement of pedestrians, " +"and use servos, LED, buzzer to simulate the work of the sensor door of " +"the convenience store. When the pedestrian appears within the sensing " +"range of the PIR, the indicator light will be on, the door will be " +"opened, and the buzzer will play the opening bell." +msgstr "" +"In diesem Projekt werden wir PIR verwenden, um die Bewegung von " +"Fußgängern zu erfassen, und Servos, LED und Summer verwenden, um die " +"Arbeit der Sensortür des Supermarkts zu simulieren. Wenn der Fußgänger " +"innerhalb des Erfassungsbereichs des PIR erscheint, leuchtet die " +"Anzeigelampe, die Tür wird geöffnet und der Summer ertönt die " +"Öffnungsglocke." + +#: ../3.1.2_welcome.rst:14 +msgid "Components" +msgstr "Komponenten" + +#: ../3.1.2_welcome.rst:20 +msgid "Schematic Diagram" +msgstr "Schematische Darstellung" + +#: ../3.1.2_welcome.rst:23 +msgid "T-Board Name" +msgstr "T-Karte Name" + +#: ../3.1.2_welcome.rst:23 +msgid "physical" +msgstr "physisch" + +#: ../3.1.2_welcome.rst:23 +msgid "wiringPi" +msgstr "wiringPi" + +#: ../3.1.2_welcome.rst:23 +msgid "BCM" +msgstr "BCM" + +#: ../3.1.2_welcome.rst:24 +msgid "GPIO18" +msgstr "GPIO18" + +#: ../3.1.2_welcome.rst:24 +msgid "Pin 12" +msgstr "Pin 12" + +#: ../3.1.2_welcome.rst:24 +msgid "1" +msgstr "1" + +#: ../3.1.2_welcome.rst:24 +msgid "18" +msgstr "18" + +#: ../3.1.2_welcome.rst:25 +msgid "GPIO17" +msgstr "GPIO17" + +#: ../3.1.2_welcome.rst:25 +msgid "Pin 11" +msgstr "Pin 11" + +#: ../3.1.2_welcome.rst:25 +msgid "0" +msgstr "0" + +#: ../3.1.2_welcome.rst:25 +msgid "17" +msgstr "17" + +#: ../3.1.2_welcome.rst:26 +msgid "GPIO27" +msgstr "GPIO27" + +#: ../3.1.2_welcome.rst:26 +msgid "Pin 13" +msgstr "Pin 13" + +#: ../3.1.2_welcome.rst:26 +msgid "2" +msgstr "2" + +#: ../3.1.2_welcome.rst:26 +msgid "27" +msgstr "27" + +#: ../3.1.2_welcome.rst:27 +msgid "GPIO22" +msgstr "GPIO22" + +#: ../3.1.2_welcome.rst:27 +msgid "Pin 15" +msgstr "Pin 15" + +#: ../3.1.2_welcome.rst:27 +msgid "3" +msgstr "3" + +#: ../3.1.2_welcome.rst:27 +msgid "22" +msgstr "22" + +#: ../3.1.2_welcome.rst:34 +msgid "Experimental Procedures" +msgstr "Experimentelle Verfahren" + +#: ../3.1.2_welcome.rst:36 +msgid "**Step 1:** Build the circuit." +msgstr "**Schritt 1:** Bauen Sie die Schaltung auf." + +msgid "C:\\Users\\sunfounder\\Desktop\\3.1.4_Welcome_bb.png3.1.4_Welcome_bb" +msgstr "C:\\Users\\sunfounder\\Desktop\\3.1.4_Welcome_bb.png3.1.4_Welcome_bb" + +#: ../3.1.2_welcome.rst:44 +msgid "**For C Language Users**" +msgstr "**Für Benutzer in C-Sprache**" + +#: ../3.1.2_welcome.rst:46 ../3.1.2_welcome.rst:162 +msgid "**Step 2:** Change directory." +msgstr "**Schritt 2:** Verzeichnis wechseln." + +#: ../3.1.2_welcome.rst:56 +msgid "**Step 3:** Compile." +msgstr "**Schritt 3:** Kompilieren." + +#: ../3.1.2_welcome.rst:66 +msgid "**Step 4:** Run." +msgstr "**Schritt 4:** Ausführen." + +#: ../3.1.2_welcome.rst:76 ../3.1.2_welcome.rst:182 +msgid "" +"After the code runs, if the PIR sensor detects someone passing by, the " +"door will automatically open (simulated by the servo), turn on the " +"indicator and play the doorbell music. After the doorbell music plays, " +"the system will automatically close the door and turn off the indicator " +"light, waiting for the next time someone passes by." +msgstr "" +"Wenn der PIR-Sensor nach dem Ausführen der Kode jemanden erkennt, der " +"vorbeikommt, öffnet sich die Tür automatisch (vom Servo simuliert), " +"schaltet die Anzeige ein und spielt die Türklingelmusik ab. Nachdem die " +"Türklingelmusik abgespielt wurde, schließt das System automatisch die Tür" +" und schaltet die Anzeigelampe aus, um auf das nächste Mal zu warten, " +"wenn jemand vorbeikommt." + +#: ../3.1.2_welcome.rst:84 +msgid "" +"If it does not work after running, please refer to :ref:`C code is not " +"working?`" +msgstr "" +"Wenn es nach dem Ausführen nicht funktioniert, lesen Sie bitte :ref:`C " +"code is not working?`" + +#: ../3.1.2_welcome.rst:86 ../3.1.2_welcome.rst:288 +msgid "**Code Explanation**" +msgstr "**Code Erklärung**" + +#: ../3.1.2_welcome.rst:98 +msgid "Create a function, setAngle to write the angle in the servo that is 0-180." +msgstr "" +"Erstellen Sie eine Funktion, setAngle, um den Winkel im Servo von 0-180 " +"zu schreiben." + +#: ../3.1.2_welcome.rst:109 ../3.1.2_welcome.rst:326 +msgid "Create a function, doorbell to enable the buzzer to play music." +msgstr "" +"Erstellen Sie eine Funktion, Türklingel, damit der Summer Musik abspielen" +" kann." + +#: ../3.1.2_welcome.rst:121 +msgid "" +"Create a closedoor function to simulate closing the door, turn off the " +"LED and let the servo turn from 180 degrees to 0 degree." +msgstr "" +"Erstellen Sie eine Closedoor-Funktion, um das Schließen der Tür zu " +"simulieren, schalten Sie die LED aus und lassen Sie das Servo von 180 " +"Grad auf 0 Grad drehen." + +#: ../3.1.2_welcome.rst:136 +msgid "" +"The function opendoor() includes several parts: turn on the indicator " +"light, turn the servo (simulate the action of opening the door), play the" +" doorbell music of the convenience store, and call the function " +"closedoor() after playing music." +msgstr "" +"Die Funktion opendoor () besteht aus mehreren Teilen: Schalten Sie die " +"Anzeigelampe ein, schalten Sie das Servo ein (simulieren Sie das Öffnen " +"der Tür), spielen Sie die Klingelmusik des Supermarkts und rufen Sie nach" +" dem Abspielen der Musik die Funktion geschlossene Tür() auf." + +#: ../3.1.2_welcome.rst:154 +msgid "" +"In the function main(), initialize library wiringPi and setup softTone, " +"then set ledPin to output state and pirPin to input state. If the PIR " +"sensor detects someone passing by, the function opendoor will be called " +"to simulate opening the door." +msgstr "" +"Initialisieren Sie in der Funktion main () die Bibliothek wiringPi und " +"richten Sie softTone ein. Setzen Sie dann ledPin in den Ausgabestatus und" +" pirPin in den Eingabestatus. Wenn der PIR-Sensor jemanden erkennt, der " +"vorbeikommt, wird die Funktion opendoor aufgerufen, um das Öffnen der Tür" +" zu simulieren." + +#: ../3.1.2_welcome.rst:160 +msgid "**For Python Language Users**" +msgstr "**Für Python-Sprachbenutzer**" + +#: ../3.1.2_welcome.rst:172 +msgid "**Step 3:** Run." +msgstr "**Schritt 3:** Ausführen." + +#: ../3.1.2_welcome.rst:188 +msgid "**code**" +msgstr "**code**" + +#: ../3.1.2_welcome.rst:192 + +msgid "" +"You can **Modify/Reset/Copy/Run/Stop** the code below. But before that, " +"you need to go to source code path like ``davinci-kit-for-raspberry-" +"pi/python``." +msgstr "" +"Sie können den folgenden Code **Ändern/Zurücksetzen/ " +"Kopieren/Ausführen/Stoppen**. Zuvor müssen Sie jedoch zu einem " +"Quellcodepfad wie ``davinci-kit-for-raspberry-pi/python`` gehen." + +#: ../3.1.2_welcome.rst:306 +msgid "These statements are used to initialize the pins of each component." +msgstr "" +"Diese Anweisungen werden verwendet, um die Pins jeder Komponente zu " +"initialisieren." + +#: ../3.1.2_welcome.rst:316 +msgid "" +"Create a function, servowrite to write the angle in the servo that is " +"0-180." +msgstr "" +"Erstellen Sie eine Funktion von servowrite, um den Winkel in das Servo zu" +" schreiben, der 0-180 ist." + +#: ../3.1.2_welcome.rst:337 +msgid "Close the door and turn off the indicator light." +msgstr "Schließen Sie die Tür und schalten Sie die Kontrollleuchte aus." + +#: ../3.1.2_welcome.rst:349 +msgid "" +"The function, opendoor() consists of several parts: turn on the indicator" +" light, turn the servo (to simulate the action of opening the door), play" +" the doorbell music of the convenience store, and call the function , " +"closedoor() after playing music." +msgstr "" +"Die Funktion opendoor () besteht aus mehreren Teilen: Schalten Sie die " +"Anzeigelampe ein, schalten Sie das Servo ein (um das Öffnen der Tür zu " +"simulieren), spielen Sie die Klingelmusik des Supermarkts und rufen Sie " +"nach dem Spielen die Funktion Closedoor() auf Musik." + +#: ../3.1.2_welcome.rst:361 + +msgid "" +"When PIR senses that someone is passing by, it calls the function, " +"opendoor()." +msgstr "" +"Wenn RIP erkennt, dass jemand vorbeikommt, ruft es die Funktion " +"opendoor() auf." + +#: ../3.1.2_welcome.rst:365 +msgid "Phenomenon Picture" +msgstr "Phänomen Bild" + diff --git a/docs/source/locale/de/LC_MESSAGES/3.1.3_reversing_alarm.po b/docs/source/locale/de/LC_MESSAGES/3.1.3_reversing_alarm.po new file mode 100644 index 0000000..a3fc1fc --- /dev/null +++ b/docs/source/locale/de/LC_MESSAGES/3.1.3_reversing_alarm.po @@ -0,0 +1,332 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, SunFounder +# This file is distributed under the same license as the SunFounder Davinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Davinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-19 18:22+0800\n" +"PO-Revision-Date: 2021-06-01 10:26+0800\n" +"Last-Translator: \n" +"Language: de\n" +"Language-Team: \n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../3.1.3_reversing_alarm.rst:2 +msgid "3.1.3 Reversing Alarm" +msgstr "3.1.3 Alarm umkehren" + +#: ../3.1.3_reversing_alarm.rst:5 +msgid "Introduction" +msgstr "Einführung" + +#: ../3.1.3_reversing_alarm.rst:7 +msgid "" +"In this project, we will use LCD, buzzer and ultrasonic sensors to make a" +" reverse assist system. We can put it on the remote control vehicle to " +"simulate the actual process of reversing the car into the garage." +msgstr "" +"In diesem Projekt werden wir LCD-, Summer- und Ultraschallsensoren " +"verwenden, um ein Rückwärtshilfesystem herzustellen. Wir können es auf " +"das ferngesteuerte Fahrzeug setzen, um den tatsächlichen Vorgang des " +"Rückwärtsfahrens des Autos in die Garage zu simulieren." + +#: ../3.1.3_reversing_alarm.rst:12 +msgid "Components" +msgstr "Komponenten" + +#: ../3.1.3_reversing_alarm.rst:18 +msgid "Schematic Diagram" +msgstr "Schematische Darstellung" + +#: ../3.1.3_reversing_alarm.rst:20 +msgid "" +"Ultrasonic sensor detects the distance between itself and the obstacle " +"that will be displayed on the LCD in the form of code. At the same time, " +"the ultrasonic sensor let the buzzer issue prompt sound of different " +"frequency according to different distance value." +msgstr "" +"Der Ultraschallsensor erkennt den Abstand zwischen sich und dem " +"Hindernis, der in Form einer Kode auf dem LCD angezeigt wird. " +"Gleichzeitig ließ der Ultraschallsensor den Summer einen sofortigen Ton " +"unterschiedlicher Frequenz je nach Entfernungswert ausgeben." + +#: ../3.1.3_reversing_alarm.rst:26 +msgid "T-Board Name" +msgstr "T-Karte Name" + +#: ../3.1.3_reversing_alarm.rst:26 +msgid "physical" +msgstr "physisch" + +#: ../3.1.3_reversing_alarm.rst:26 +msgid "wiringPi" +msgstr "wiringPi" + +#: ../3.1.3_reversing_alarm.rst:26 +msgid "BCM" +msgstr "BCM" + +#: ../3.1.3_reversing_alarm.rst:27 +msgid "GPIO23" +msgstr "GPIO23" + +#: ../3.1.3_reversing_alarm.rst:27 +msgid "Pin 16" +msgstr "Pin 16" + +#: ../3.1.3_reversing_alarm.rst:27 +msgid "4" +msgstr "4" + +#: ../3.1.3_reversing_alarm.rst:27 +msgid "23" +msgstr "23" + +#: ../3.1.3_reversing_alarm.rst:28 +msgid "GPIO24" +msgstr "GPIO24" + +#: ../3.1.3_reversing_alarm.rst:28 +msgid "Pin 18" +msgstr "Pin 18" + +#: ../3.1.3_reversing_alarm.rst:28 +msgid "5" +msgstr "5" + +#: ../3.1.3_reversing_alarm.rst:28 +msgid "24" +msgstr "24" + +#: ../3.1.3_reversing_alarm.rst:29 +msgid "GPIO17" +msgstr "GPIO17" + +#: ../3.1.3_reversing_alarm.rst:29 +msgid "Pin 11" +msgstr "Pin 11" + +#: ../3.1.3_reversing_alarm.rst:29 +msgid "0" +msgstr "0" + +#: ../3.1.3_reversing_alarm.rst:29 +msgid "17" +msgstr "17" + +#: ../3.1.3_reversing_alarm.rst:30 +msgid "SDA1" +msgstr "SDA1" + +#: ../3.1.3_reversing_alarm.rst:30 +msgid "Pin 3" +msgstr "Pin 3" + +#: ../3.1.3_reversing_alarm.rst:31 +msgid "SCL1" +msgstr "SCL1" + +#: ../3.1.3_reversing_alarm.rst:31 +msgid "Pin 5" +msgstr "Pin 5" + +#: ../3.1.3_reversing_alarm.rst:39 +msgid "Experimental Procedures" +msgstr "Experimentelle Verfahren" + +#: ../3.1.3_reversing_alarm.rst:41 +msgid "**Step 1:** Build the circuit." +msgstr "**Schritt 1:** Bauen Sie die Schaltung auf." + +#: ../3.1.3_reversing_alarm.rst:48 +msgid "**For C Language Users**" +msgstr "**Für Benutzer in C-Sprache**" + +#: ../3.1.3_reversing_alarm.rst:50 ../3.1.3_reversing_alarm.rst:267 +msgid "**Step 2:** Change directory." +msgstr "**Schritt 2:** Verzeichnis wechseln." + +#: ../3.1.3_reversing_alarm.rst:60 +msgid "**Step 3:** Compile." +msgstr "**Schritt 3:** Kompilieren." + +#: ../3.1.3_reversing_alarm.rst:70 +msgid "**Step 4:** Run." +msgstr "**Schritt 4:** Ausführen." + +#: ../3.1.3_reversing_alarm.rst:80 ../3.1.3_reversing_alarm.rst:287 +msgid "" +"As the code runs, ultrasonic sensor module detects the distance to the " +"obstacle and then displays the information about the distance on LCD1602;" +" besides, buzzer emits warning tone whose frequency changes with the " +"distance." +msgstr "" +"Während die Kode ausgeführt wird, erkennt das Ultraschallsensormodul die " +"Entfernung zum Hindernis und zeigt dann die Informationen zur Entfernung " +"auf dem LCD1602 an. Außerdem gibt der Summer einen Warnton aus, dessen " +"Frequenz sich mit der Entfernung ändert." + +#: ../3.1.3_reversing_alarm.rst:87 +msgid "" +"If it does not work after running, please refer to :ref:`C code is not " +"working?`" +msgstr "" +"Wenn es nach dem Ausführen nicht funktioniert, lesen Sie bitte :ref:`C " +"code is not working?`" + +#: ../3.1.3_reversing_alarm.rst:89 ../3.1.3_reversing_alarm.rst:292 +msgid "**Code**" +msgstr "**Code**" + +#: ../3.1.3_reversing_alarm.rst:92 +msgid "" +"The following codes are incomplete. If you want to check the complete " +"codes, you are suggested to use command nano 3.1.1_ReversingAlarm.c." +msgstr "" +"Die folgenden der Kode sind unvollständig. Wenn Sie die vollständigen " +"Kode überprüfen möchten, wird empfohlen, den Befehl nano " +"3.1.1_ReversingAlarm.c zu verwenden." + +#: ../3.1.3_reversing_alarm.rst:191 ../3.1.3_reversing_alarm.rst:391 +msgid "**Code Explanation**" +msgstr "**Code Erklärung**" + +#: ../3.1.3_reversing_alarm.rst:200 +msgid "" +"In this program, we apply previous components synthetically. Here we use " +"buzzers, LCD and ultrasonic. We can initialize them the same way as we " +"did before." +msgstr "" +"In diesem Programm wenden wir frühere Komponenten synthetisch an. Hier " +"verwenden wir Summer, LCD und Ultraschall. Wir können sie auf die gleiche" +" Weise wie zuvor initialisieren." + +#: ../3.1.3_reversing_alarm.rst:220 +msgid "" +"Here we get the value of the ultrasonic sensor and get the distance " +"through calculation." +msgstr "" +"Hier erhalten wir den Wert des Ultraschallsensors und die Entfernung " +"durch Berechnung." + +#: ../3.1.3_reversing_alarm.rst:223 +msgid "" +"If the value of distance is greater than the range value to be detected, " +"an error message is printed on the LCD. And if the distance value is " +"within the range, the corresponding results will be output." +msgstr "" +"Wenn der Entfernungswert größer als der zu erkennende Bereichswert ist, " +"wird eine Fehlermeldung auf dem LCD gedruckt. Wenn der Abstandswert " +"innerhalb des Bereichs liegt, werden die entsprechenden Ergebnisse " +"ausgegeben." + +#: ../3.1.3_reversing_alarm.rst:231 +msgid "" +"Since the output mode of LCD only supports character type, and the " +"variable dis stores the value of float type, we need to use sprintf(). " +"The function converts the float type value to a character and stores it " +"on the string variable result[]. %.2f means to keep two decimal places." +msgstr "" +"Da der Ausgabemodus des LCD nur den Zeichentyp unterstützt und die " +"Variable den Wert des Float-Typs nicht speichert, müssen wir sprintf() " +"verwenden. Die Funktion konvertiert den Float-Typ-Wert in ein Zeichen und" +" speichert ihn in der String-Variablen result[]. %.2f bedeutet, zwei " +"Dezimalstellen beizubehalten." + +#: ../3.1.3_reversing_alarm.rst:257 +msgid "" +"This judgment condition is used to control the sound of the buzzer. " +"According to the difference in distance, it can be divided into three " +"cases, in which there will be different sound frequencies. Since the " +"total value of delay is 500, all of the cases can provide a 500ms " +"interval for the ultrasonic sensor." +msgstr "" +"Diese Beurteilungsbedingung wird verwendet, um das Geräusch des Summers " +"zu steuern. Je nach Entfernungsunterschied kann es in drei Fälle " +"unterteilt werden, in denen unterschiedliche Schallfrequenzen auftreten. " +"Da der Gesamtwert der Verzögerung 500 beträgt, können alle Fälle ein " +"Intervall von 500 ms für den Ultraschallsensor bereitstellen." + +#: ../3.1.3_reversing_alarm.rst:265 +msgid "**For Python Language Users**" +msgstr "**Für Python-Sprachbenutzer**" + +#: ../3.1.3_reversing_alarm.rst:277 +msgid "**Step 3:** Run." +msgstr "**Schritt 3:** Ausführen." + +#: ../3.1.3_reversing_alarm.rst:296 + +msgid "" +"You can **Modify/Reset/Copy/Run/Stop** the code below. But before that, " +"you need to go to source code path like ``davinci-kit-for-raspberry-" +"pi/python``." +msgstr "" +"Sie können den folgenden Code **Ändern/Zurücksetzen/ " +"Kopieren/Ausführen/Stoppen**. Zuvor müssen Sie jedoch zu einem " +"Quellcodepfad wie ``davinci-kit-for-raspberry-pi/python`` gehen." + +#: ../3.1.3_reversing_alarm.rst:405 +msgid "" +"In this program, we apply the previously used components synthetically. " +"Here we use buzzers, LCD and ultrasonic. We can initialize them in the " +"same way as we did before." +msgstr "" +"In diesem Programm wenden wir die zuvor verwendeten Komponenten " +"synthetisch an. Hier verwenden wir Summer, LCD und Ultraschall. Wir " +"können sie auf die gleiche Weise wie zuvor initialisieren." + +#: ../3.1.3_reversing_alarm.rst:426 +msgid "" +"Here we get the values of the ultrasonic sensor and get the distance " +"through calculation. If the value of distance is greater than the range " +"of value to be detected, an error message is printed on the LCD. And if " +"the distance is within the working range, the corresponding results will " +"be output." +msgstr "" +"Hier erhalten wir die Werte des Ultraschallsensors und die Entfernung " +"durch Berechnung. Wenn der Entfernungswert größer als der zu erkennende " +"Wertebereich ist, wird eine Fehlermeldung auf dem LCD gedruckt. Und wenn " +"der Abstand innerhalb des Arbeitsbereichs liegt, werden die " +"entsprechenden Ergebnisse ausgegeben." + +#: ../3.1.3_reversing_alarm.rst:432 +msgid "LCD1602.write(5, 1, str(round(dis,2)) +' cm')" +msgstr "LCD1602.write(5, 1, str(round(dis,2)) +' cm')" + +#: ../3.1.3_reversing_alarm.rst:434 +msgid "" +"Since the LCD output only supports character types, we need to use **str " +"()** to convert numeric values to characters. We are going to round it to" +" two decimal places." +msgstr "" +"Da der LCD-Ausgang nur Zeichentypen unterstützt, müssen wir **str ()** " +"verwenden, um numerische Werte in Zeichen umzuwandeln. Wir werden es auf " +"zwei Dezimalstellen runden." + +#: ../3.1.3_reversing_alarm.rst:459 +msgid "" +"This judgment condition is used to control the sound of the buzzer. " +"According to the difference in distance, it can be divided into three " +"cases, in which there will be different sound frequencies. Since the " +"total value of delay is 500, all of them can provide a 500ms interval for" +" the ultrasonic sensor to work." +msgstr "" +"Diese Beurteilungsbedingung wird verwendet, um das Geräusch des Summers " +"zu steuern. Je nach Entfernungsunterschied kann es in drei Fälle " +"unterteilt werden, in denen unterschiedliche Schallfrequenzen auftreten. " +"Da der Gesamtwert der Verzögerung 500 beträgt, können alle ein Intervall " +"von 500 ms bereitstellen, damit der Ultraschallsensor funktioniert." + +#: ../3.1.3_reversing_alarm.rst:466 +msgid "Phenomenon Picture" +msgstr "Phänomen Bild" + diff --git a/docs/source/locale/de/LC_MESSAGES/3.1.4_smart_fan.po b/docs/source/locale/de/LC_MESSAGES/3.1.4_smart_fan.po new file mode 100644 index 0000000..5b2265c --- /dev/null +++ b/docs/source/locale/de/LC_MESSAGES/3.1.4_smart_fan.po @@ -0,0 +1,338 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, SunFounder +# This file is distributed under the same license as the SunFounder Davinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Davinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-19 18:22+0800\n" +"PO-Revision-Date: 2021-06-01 10:27+0800\n" +"Last-Translator: \n" +"Language: fan\n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../3.1.4_smart_fan.rst:2 +msgid "3.1.4 Smart Fan" +msgstr "3.1.4 Smart Fan" + +#: ../3.1.4_smart_fan.rst:5 +msgid "Introduction" +msgstr "Einführung" + +#: ../3.1.4_smart_fan.rst:7 +msgid "" +"In this course, we will use motors, buttons and thermistors to make a " +"manual + automatic smart fan whose wind speed is adjustable." +msgstr "" +"In diesem Kurs werden wir Motoren, Tasten und Thermistoren verwenden, um " +"einen manuellen + automatischen intelligenten Lüfter herzustellen, dessen" +" Windgeschwindigkeit einstellbar ist." + +#: ../3.1.4_smart_fan.rst:11 +msgid "Components" +msgstr "Komponenten" + +#: ../3.1.4_smart_fan.rst:17 +msgid "Schematic Diagram" +msgstr "Schematische Darstellung" + +#: ../3.1.4_smart_fan.rst:20 +msgid "T-Board Name" +msgstr "T-Karte Name" + +#: ../3.1.4_smart_fan.rst:20 +msgid "physical" +msgstr "physisch" + +#: ../3.1.4_smart_fan.rst:20 +msgid "wiringPi" +msgstr "wiringPi" + +#: ../3.1.4_smart_fan.rst:20 +msgid "BCM" +msgstr "BCM" + +#: ../3.1.4_smart_fan.rst:21 +msgid "GPIO17" +msgstr "GPIO17" + +#: ../3.1.4_smart_fan.rst:21 +msgid "Pin 11" +msgstr "Pin 11" + +#: ../3.1.4_smart_fan.rst:21 +msgid "0" +msgstr "0" + +#: ../3.1.4_smart_fan.rst:21 +msgid "17" +msgstr "17" + +#: ../3.1.4_smart_fan.rst:22 +msgid "GPIO18" +msgstr "GPIO18" + +#: ../3.1.4_smart_fan.rst:22 +msgid "Pin 12" +msgstr "Pin 12" + +#: ../3.1.4_smart_fan.rst:22 +msgid "1" +msgstr "1" + +#: ../3.1.4_smart_fan.rst:22 +msgid "18" +msgstr "18" + +#: ../3.1.4_smart_fan.rst:23 +msgid "GPIO27" +msgstr "GPIO27" + +#: ../3.1.4_smart_fan.rst:23 +msgid "Pin 13" +msgstr "Pin 13" + +#: ../3.1.4_smart_fan.rst:23 +msgid "2" +msgstr "2" + +#: ../3.1.4_smart_fan.rst:23 +msgid "27" +msgstr "27" + +#: ../3.1.4_smart_fan.rst:24 +msgid "GPIO22" +msgstr "GPIO22" + +#: ../3.1.4_smart_fan.rst:24 +msgid "Pin 15" +msgstr "Pin 15" + +#: ../3.1.4_smart_fan.rst:24 +msgid "3" +msgstr "3" + +#: ../3.1.4_smart_fan.rst:24 ../3.1.4_smart_fan.rst:26 +msgid "22" +msgstr "22" + +#: ../3.1.4_smart_fan.rst:25 +msgid "GPIO5" +msgstr "GPIO5" + +#: ../3.1.4_smart_fan.rst:25 +msgid "Pin 29" +msgstr "Pin 29" + +#: ../3.1.4_smart_fan.rst:25 +msgid "21" +msgstr "21" + +#: ../3.1.4_smart_fan.rst:25 +msgid "5" +msgstr "5" + +#: ../3.1.4_smart_fan.rst:26 +msgid "GPIO6" +msgstr "GPIO6" + +#: ../3.1.4_smart_fan.rst:26 +msgid "Pin 31" +msgstr "Pin 31" + +#: ../3.1.4_smart_fan.rst:26 +msgid "6" +msgstr "6" + +#: ../3.1.4_smart_fan.rst:27 +msgid "GPIO13" +msgstr "GPIO13" + +#: ../3.1.4_smart_fan.rst:27 +msgid "Pin 33" +msgstr "Pin 33" + +#: ../3.1.4_smart_fan.rst:27 +msgid "23" +msgstr "23" + +#: ../3.1.4_smart_fan.rst:27 +msgid "13" +msgstr "13" + +#: ../3.1.4_smart_fan.rst:35 +msgid "Experimental Procedures" +msgstr "Experimentelle Verfahren" + +#: ../3.1.4_smart_fan.rst:37 +msgid "**Step 1:** Build the circuit." +msgstr "**Schritt 1:** Bauen Sie die Schaltung auf." + +msgid "Smart Fan_bb" +msgstr "Smart Fan_bb" + +#: ../3.1.4_smart_fan.rst:45 +msgid "" +"The power module can apply a 9V battery with the 9V Battery Buckle in the" +" kit. Insert the jumper cap of the power module into the 5V bus strips of" +" the breadboard." +msgstr "" +" Das Leistungsmodul kann eine 9-V-Batterie mit der im Kit enthaltenen 9V-" +"Batterieschnalle anlegen. Setzen Sie die Überbrückungskappe des " +"Leistungsmoduls in die 5V-Busleisten des Steckbretts ein." + +msgid "\\_MG_2084" +msgstr "\\_MG_2084" + +#: ../3.1.4_smart_fan.rst:56 +msgid "**For C Language Users**" +msgstr "**Für Benutzer in C-Sprache**" + +#: ../3.1.4_smart_fan.rst:58 ../3.1.4_smart_fan.rst:189 +msgid "**Step 2**: Get into the folder of the code." +msgstr "**Schritt 2:** Gehen Sie in den Ordner der Kode." + +#: ../3.1.4_smart_fan.rst:68 +msgid "**Step 3**: Compile." +msgstr "**Schritt 3:** Kompilieren." + +#: ../3.1.4_smart_fan.rst:78 +msgid "**Step 4**: Run the executable file above." +msgstr "**Schritt 4:** Führen Sie die obige ausführbare Datei aus." + +#: ../3.1.4_smart_fan.rst:88 ../3.1.4_smart_fan.rst:209 +msgid "" +"As the code runs, start the fan by pressing the button. Every time you " +"press, 1 speed grade is adjusted up or down. There are **5** kinds of " +"speed grades: **0~4**. When set to the 4\\ :sup:`th` speed grade and you " +"press the button, the fan stops working with a **0** wind speed." +msgstr "" +"Starten Sie den Lüfter, während der Kode ausgeführt wird, indem Sie die " +"Taste drücken. Jedes Mal, wenn Sie drücken, wird 1 Geschwindigkeitsstufe " +"nach oben oder unten eingestellt. Es gibt **5** Arten von " +"Geschwindigkeitsstufen: **0~4**. Wenn Sie die vierte " +"Geschwindigkeitsstufe einstellen und die Taste drücken, arbeitet der " +"Lüfter nicht mehr mit einer Windgeschwindigkeit von **0**." + +#: ../3.1.4_smart_fan.rst:95 +msgid "" +"If it does not work after running, please refer to :ref:`C code is not " +"working?`" +msgstr "" +"Wenn es nach dem Ausführen nicht funktioniert, lesen Sie bitte :ref:`C " +"code is not working?`" + +#: ../3.1.4_smart_fan.rst:98 ../3.1.4_smart_fan.rst:214 +msgid "" +"Once the temperature goes up or down for more than 2℃, the speed " +"automatically gets 1-grade faster or slower." +msgstr "" +"Sobald die Temperatur länger als 2℃, steigt oder fällt, wird die " +"Geschwindigkeit automatisch um 1 Grad schneller oder langsamer." + +#: ../3.1.4_smart_fan.rst:102 ../3.1.4_smart_fan.rst:309 +msgid "**Code Explanation**" +msgstr "**Code Erklärung**" + +#: ../3.1.4_smart_fan.rst:119 +msgid "" +"Temperture() works by converting thermistor values read by ADC0834 into " +"temperature values. Refer to :ref:`2.2.2 Thermistor` for more details." +msgstr "" +"Temperature() wandelt die von ADC0834 gelesenen Thermistorwerte in " +"Temperaturwerte um. Siehe :ref:`2.2.2 Thermistor` für weitere Details." + +#: ../3.1.4_smart_fan.rst:137 +msgid "" +"This function controls the rotating speed of the motor. The range of the " +"**Level**: **0-4** (level **0** stops the working motor). One level " +"adjustment stands for a **25%** change of the wind speed." +msgstr "" +"Diese Funktion steuert die Drehzahl des Motors. Der Bereich der " +"**Stufe**: **0-4** (Stufe 0 stoppt den Arbeitsmotor). Eine " +"Stufeneinstellung steht für eine **25%** ige Änderung der " +"Windgeschwindigkeit." + +#: ../3.1.4_smart_fan.rst:174 ../3.1.4_smart_fan.rst:366 +msgid "The function **main()** contains the whole program process as shown:" +msgstr "Die Funktion **main()** enthält den gesamten Programmablauf wie folgt:" + +#: ../3.1.4_smart_fan.rst:176 ../3.1.4_smart_fan.rst:368 +msgid "Constantly read the button state and the current temperature." +msgstr "Lesen Sie ständig den Tastenstatus und die aktuelle Temperatur ab." + +#: ../3.1.4_smart_fan.rst:178 ../3.1.4_smart_fan.rst:370 +msgid "" +"Every press makes level\\ **+1** and at the same time, the temperature is" +" updated. The **Level** ranges **1~4**." +msgstr "" +"Jede Presse erreicht Stufe\\ **+1** und gleichzeitig wird die Temperatur " +"aktualisiert. Die **Stufe** reicht von **1~4**.." + +#: ../3.1.4_smart_fan.rst:181 ../3.1.4_smart_fan.rst:373 +msgid "" +"As the fan works ( the level is **not 0**), the temperature is under " +"detection. A **2℃\\ +** change causes the up and down of the level." +msgstr "" +"Während der Lüfter arbeitet (der Niveau ist **nicht 0**), wird die " +"Temperatur erfasst. Eine Änderung von **2℃\\ +** bewirkt das Auf und Ab " +"des Levels." + +#: ../3.1.4_smart_fan.rst:184 ../3.1.4_smart_fan.rst:376 +msgid "The motor changes the rotating speed with the **Level**." +msgstr "Der Motor ändert die Drehzahl mit der **Stufe**." + +#: ../3.1.4_smart_fan.rst:187 +msgid "**For Python Language Users**" +msgstr "**Für Python-Sprachbenutzer**" + +#: ../3.1.4_smart_fan.rst:199 +msgid "**Step 3**: Run." +msgstr "**Schritt 3:** Ausführen." + +#: ../3.1.4_smart_fan.rst:217 +msgid "**Code**" +msgstr "**Code**" + +#: ../3.1.4_smart_fan.rst:221 + +msgid "" +"You can **Modify/Reset/Copy/Run/Stop** the code below. But before that, " +"you need to go to source code path like ``davinci-kit-for-raspberry-" +"pi/python``." +msgstr "" +"Sie können den folgenden Code **Ändern/Zurücksetzen/ " +"Kopieren/Ausführen/Stoppen**. Zuvor müssen Sie jedoch zu einem " +"Quellcodepfad wie ``davinci-kit-for-raspberry-pi/python`` gehen." + +#: ../3.1.4_smart_fan.rst:322 +msgid "" +"temperture() works by converting thermistor values read by **ADC0834** " +"into temperature values. Refer to :ref:`2.2.2 Thermistor` for more " +"details." +msgstr "" +"temperature() wandelt von **ADC0834** gelesene Thermistorwerte in " +"Temperaturwerte um. Siehe :ref:`2.2.2 Thermistor` für weitere Details." + +#: ../3.1.4_smart_fan.rst:338 +msgid "" +"This function controls the rotating speed of the motor. The range of the " +"**Lever**: **0-4** (level **0** stops the working motor). One level " +"adjustment stands for a **25%** change of the wind speed." +msgstr "" +"Diese Funktion steuert die Drehzahl des Motors. Der Bereich des " +"**Hebels**: **0-4** (Stufe **0** stoppt den Arbeitsmotor). Eine " +"Stufeneinstellung steht für eine **25%** ige Änderung der " +"Windgeschwindigkeit." + +#: ../3.1.4_smart_fan.rst:379 +msgid "Phenomenon Picture" +msgstr "Phänomen Bild" + diff --git a/docs/source/locale/de/LC_MESSAGES/3.1.5_battery_indicator.po b/docs/source/locale/de/LC_MESSAGES/3.1.5_battery_indicator.po new file mode 100644 index 0000000..5c5e15e --- /dev/null +++ b/docs/source/locale/de/LC_MESSAGES/3.1.5_battery_indicator.po @@ -0,0 +1,374 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, SunFounder +# This file is distributed under the same license as the SunFounder Davinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Davinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-19 18:22+0800\n" +"PO-Revision-Date: 2021-06-01 10:30+0800\n" +"Last-Translator: \n" +"Language: de\n" +"Language-Team: \n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../3.1.5_battery_indicator.rst:2 +msgid "3.1.5 Battery Indicator" +msgstr "3.1.5 Batterieanzeige" + +#: ../3.1.5_battery_indicator.rst:5 +msgid "Introduction" +msgstr "Einführung" + +#: ../3.1.5_battery_indicator.rst:7 +msgid "" +"In this course, we will make a battery indicator device that can visually" +" display the battery level on the LED Bargraph." +msgstr "" +"In diesem Kurs erstellen wir ein Batterieanzeigegerät, mit dem der " +"Batteriestand auf dem LED-Balkendiagramm visuell angezeigt werden kann." + +#: ../3.1.5_battery_indicator.rst:11 +msgid "Components" +msgstr "Komponenten" + +#: ../3.1.5_battery_indicator.rst:17 +msgid "Schematic Diagram" +msgstr "Schematische Darstellung" + +#: ../3.1.5_battery_indicator.rst:20 +msgid "T-Board Name" +msgstr "T-Karte Name" + +#: ../3.1.5_battery_indicator.rst:20 +msgid "physical" +msgstr "physisch" + +#: ../3.1.5_battery_indicator.rst:20 +msgid "wiringPi" +msgstr "wiringPi" + +#: ../3.1.5_battery_indicator.rst:20 +msgid "BCM" +msgstr "BCM" + +#: ../3.1.5_battery_indicator.rst:21 +msgid "GPIO17" +msgstr "GPIO17" + +#: ../3.1.5_battery_indicator.rst:21 +msgid "Pin 11" +msgstr "Pin 11" + +#: ../3.1.5_battery_indicator.rst:21 +msgid "0" +msgstr "0" + +#: ../3.1.5_battery_indicator.rst:21 +msgid "17" +msgstr "17" + +#: ../3.1.5_battery_indicator.rst:22 +msgid "GPIO18" +msgstr "GPIO18" + +#: ../3.1.5_battery_indicator.rst:22 +msgid "Pin 12" +msgstr "Pin 12" + +#: ../3.1.5_battery_indicator.rst:22 +msgid "1" +msgstr "1" + +#: ../3.1.5_battery_indicator.rst:22 +msgid "18" +msgstr "18" + +#: ../3.1.5_battery_indicator.rst:23 +msgid "GPIO27" +msgstr "GPIO27" + +#: ../3.1.5_battery_indicator.rst:23 +msgid "Pin 13" +msgstr "Pin 13" + +#: ../3.1.5_battery_indicator.rst:23 +msgid "2" +msgstr "2" + +#: ../3.1.5_battery_indicator.rst:23 ../3.1.5_battery_indicator.rst:26 +msgid "27" +msgstr "27" + +#: ../3.1.5_battery_indicator.rst:24 +msgid "GPIO25" +msgstr "GPIO25" + +#: ../3.1.5_battery_indicator.rst:24 +msgid "Pin 22" +msgstr "Pin 22" + +#: ../3.1.5_battery_indicator.rst:24 ../3.1.5_battery_indicator.rst:30 +msgid "6" +msgstr "6" + +#: ../3.1.5_battery_indicator.rst:24 ../3.1.5_battery_indicator.rst:33 +msgid "25" +msgstr "25" + +#: ../3.1.5_battery_indicator.rst:25 +msgid "GPIO12" +msgstr "GPIO12" + +#: ../3.1.5_battery_indicator.rst:25 +msgid "Pin 32" +msgstr "Pin 32" + +#: ../3.1.5_battery_indicator.rst:25 ../3.1.5_battery_indicator.rst:33 +msgid "26" +msgstr "26" + +#: ../3.1.5_battery_indicator.rst:25 +msgid "12" +msgstr "12" + +#: ../3.1.5_battery_indicator.rst:26 +msgid "GPIO16" +msgstr "GPIO16" + +#: ../3.1.5_battery_indicator.rst:26 +msgid "Pin 36" +msgstr "Pin 36" + +#: ../3.1.5_battery_indicator.rst:26 +msgid "16" +msgstr "16" + +#: ../3.1.5_battery_indicator.rst:27 +msgid "GPIO20" +msgstr "GPIO20" + +#: ../3.1.5_battery_indicator.rst:27 +msgid "Pin 38" +msgstr "Pin 38" + +#: ../3.1.5_battery_indicator.rst:27 +msgid "28" +msgstr "28" + +#: ../3.1.5_battery_indicator.rst:27 +msgid "20" +msgstr "20" + +#: ../3.1.5_battery_indicator.rst:28 +msgid "GPIO21" +msgstr "GPIO21" + +#: ../3.1.5_battery_indicator.rst:28 +msgid "Pin 40" +msgstr "Pin 40" + +#: ../3.1.5_battery_indicator.rst:28 +msgid "29" +msgstr "29" + +#: ../3.1.5_battery_indicator.rst:28 ../3.1.5_battery_indicator.rst:29 +msgid "21" +msgstr "21" + +#: ../3.1.5_battery_indicator.rst:29 +msgid "GPIO5" +msgstr "GPIO5" + +#: ../3.1.5_battery_indicator.rst:29 +msgid "Pin 29" +msgstr "Pin 29" + +#: ../3.1.5_battery_indicator.rst:29 +msgid "5" +msgstr "5" + +#: ../3.1.5_battery_indicator.rst:30 +msgid "GPIO6" +msgstr "GPIO6" + +#: ../3.1.5_battery_indicator.rst:30 +msgid "Pin 31" +msgstr "Pin 31" + +#: ../3.1.5_battery_indicator.rst:30 +msgid "22" +msgstr "22" + +#: ../3.1.5_battery_indicator.rst:31 +msgid "GPIO13" +msgstr "GPIO13" + +#: ../3.1.5_battery_indicator.rst:31 +msgid "Pin 33" +msgstr "Pin 33" + +#: ../3.1.5_battery_indicator.rst:31 +msgid "23" +msgstr "23" + +#: ../3.1.5_battery_indicator.rst:31 +msgid "13" +msgstr "13" + +#: ../3.1.5_battery_indicator.rst:32 +msgid "GPIO19" +msgstr "GPIO19" + +#: ../3.1.5_battery_indicator.rst:32 +msgid "Pin 35" +msgstr "Pin 35" + +#: ../3.1.5_battery_indicator.rst:32 +msgid "24" +msgstr "24" + +#: ../3.1.5_battery_indicator.rst:32 +msgid "19" +msgstr "19" + +#: ../3.1.5_battery_indicator.rst:33 +msgid "GPIO26" +msgstr "GPIO26" + +#: ../3.1.5_battery_indicator.rst:33 +msgid "Pin 37" +msgstr "Pin 37" + +#: ../3.1.5_battery_indicator.rst:40 +msgid "Experimental Procedures" +msgstr "Experimentelle Verfahren" + +#: ../3.1.5_battery_indicator.rst:42 +msgid "**Step 1:** Build the circuit." +msgstr "**Schritt 1:** Bauen Sie die Schaltung auf." + +msgid "电量计_bb" +msgstr "电量计_bb" + +#: ../3.1.5_battery_indicator.rst:50 +msgid "**For C Language Users**" +msgstr "**Für Benutzer in C-Sprache**" + +#: ../3.1.5_battery_indicator.rst:52 ../3.1.5_battery_indicator.rst:145 +msgid "**Step 2:** Go to the folder of the code." +msgstr "**Schritt 2:** Gehen Sie zum Ordner der Kode." + +#: ../3.1.5_battery_indicator.rst:62 +msgid "**Step 3:** Compile the code." +msgstr "**Schritt 3:** Kompilieren Sie der Kode." + +#: ../3.1.5_battery_indicator.rst:72 +msgid "**Step 4:** Run the executable file." +msgstr "**Schritt 4:** Führen Sie die ausführbare Datei aus." + +#: ../3.1.5_battery_indicator.rst:82 ../3.1.5_battery_indicator.rst:165 +msgid "" +"After the program runs, give the 3rd pin of ADC0834 and the GND a lead-" +"out wire separately and then lead them to the two poles of a battery " +"separately. You can see the corresponding LED on the LED Bargraph is lit " +"up to display the power level (measuring range: 0-5V)." +msgstr "" +"Nachdem das Programm ausgeführt wurde, geben Sie dem 3. Pin von ADC0834 " +"und dem GND separat einen Anschlussdraht und führen Sie sie dann separat " +"zu den beiden Polen einer Batterie. Sie können sehen, dass die " +"entsprechende LED auf dem LED-Balkendiagramm leuchtet, um den " +"LeistungsNiveau anzuzeigen (Messbereich: 0-5V)." + +#: ../3.1.5_battery_indicator.rst:89 +msgid "" +"If it does not work after running, please refer to :ref:`C code is not " +"working?`" +msgstr "" +"Wenn es nach dem Ausführen nicht funktioniert, lesen Sie bitte :ref:`C " +"code is not working?`" + +#: ../3.1.5_battery_indicator.rst:92 ../3.1.5_battery_indicator.rst:216 +msgid "**Code Explanation**" +msgstr "**Code Erklärung**" + +#: ../3.1.5_battery_indicator.rst:105 +msgid "" +"This function works for controlling the turning on or off of the 10 LEDs " +"on the LED Bargraph. We give these 10 LEDs high levels to let they are " +"off at first, then decide how many LEDs are lit up by changing the " +"received analog value." +msgstr "" +"Diese Funktion dienst für die Steuerung von Ein- und Ausschalten der 10 " +"LEDs am LED-Bargraphen. Wir geben diesen 10 LEDs hohe Niveau, damit sie " +"zuerst ausgeschaltet sind, und entscheiden dann, wie viele LEDs " +"aufleuchten, indem wir den empfangenen Analogwert ändern." + +#: ../3.1.5_battery_indicator.rst:133 ../3.1.5_battery_indicator.rst:238 +msgid "" +"analogVal produces values (**0-255**) with varying voltage values " +"(**0-5V**), ex., if a 3V is detected on a battery, the corresponding " +"value **152** is displayed on the voltmeter." +msgstr "" +"analogVal erzeugt Werte (**0-255**) mit variierenden Spannungswerten " +"(**0-5V**). Wenn beispielsweise 3V an einer Batterie erkannt werden, wird" +" der entsprechende Wert **152** auf dem Voltmeter angezeigt." + +#: ../3.1.5_battery_indicator.rst:137 ../3.1.5_battery_indicator.rst:242 +msgid "" +"The **10** LEDs on the LED Bargraph are used to display the **analogVal**" +" readings. 255/10=25, so every **25** the analog value increases, one " +"more LED turns on, ex., if “analogVal=150 (about 3V), there are 6 LEDs " +"turning on.”" +msgstr "" +"Die **10** LEDs auf dem LED-Balkendiagramm dienen zur Anzeige der " +"**analogVal** Messwerte. 255/10 = 25, also alle **25** erhöht sich der " +"Analogwert, eine weitere LED leuchtet auf, z. B. wenn “analogVal = 150 " +"(ca. 3 V), leuchten 6 LEDs”." + +#: ../3.1.5_battery_indicator.rst:143 +msgid "**For Python Language Users**" +msgstr "**Für Python-Sprachbenutzer**" + +#: ../3.1.5_battery_indicator.rst:155 +msgid "**Step 3:** Run the executable file." +msgstr "**Schritt 3:** Führen Sie die ausführbare Datei aus." + +#: ../3.1.5_battery_indicator.rst:170 +msgid "**Code**" +msgstr "**Code**" + +#: ../3.1.5_battery_indicator.rst:174 + +msgid "" +"You can **Modify/Reset/Copy/Run/Stop** the code below. But before that, " +"you need to go to source code path like ``davinci-kit-for-raspberry-" +"pi/python``." +msgstr "" +"Sie können den folgenden Code **Ändern/Zurücksetzen/ " +"Kopieren/Ausführen/Stoppen**. Zuvor müssen Sie jedoch zu einem " +"Quellcodepfad wie ``davinci-kit-for-raspberry-pi/python`` gehen." + +#: ../3.1.5_battery_indicator.rst:226 +msgid "" +"This function works for controlling the turning on or off of the **10** " +"LEDs on the LED Bargraph. We give these **10** LEDs high levels to let " +"they are **off** at first, then decide how many LEDs are lit up by " +"changing the received analog value." +msgstr "" +"Diese Funktion dient für die Steuerung von Ein- und Ausschalten der " +"**10** LEDs am LED-Bargraphen. Wir geben diesen **10** LEDs hohe Niveau, " +"damit sie zuerst **ausgeschaltet** sind, und entscheiden dann, wie viele " +"LEDs aufleuchten, indem wir den empfangenen Analogwert ändern." + +#: ../3.1.5_battery_indicator.rst:248 +msgid "Phenomenon Picture" +msgstr "Phänomen Bild" + diff --git a/docs/source/locale/de/LC_MESSAGES/3.1.6_motion_control.po b/docs/source/locale/de/LC_MESSAGES/3.1.6_motion_control.po new file mode 100644 index 0000000..6b45d39 --- /dev/null +++ b/docs/source/locale/de/LC_MESSAGES/3.1.6_motion_control.po @@ -0,0 +1,284 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, SunFounder +# This file is distributed under the same license as the SunFounder Davinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Davinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-19 18:22+0800\n" +"PO-Revision-Date: 2021-06-01 10:31+0800\n" +"Last-Translator: \n" +"Language: de\n" +"Language-Team: \n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../3.1.6_motion_control.rst:2 +msgid "3.1.6 Motion Control" +msgstr "3.1.6 Bewegungssteuerung" + +#: ../3.1.6_motion_control.rst:5 +msgid "Introduction" +msgstr "Einführung" + +#: ../3.1.6_motion_control.rst:7 +msgid "" +"In this lesson, we will make a simple motion sensing and controlling " +"device. The MPU6050 is used as a sensor and the stepper motor as a " +"controlled device. With the MPU6050 mounted on the glove, you can control" +" the stepper motor by rotating your wrist." +msgstr "" +"In dieser Lektion werden wir ein einfaches Bewegungserfassungs- und " +"Steuergerät herstellen. Die MPU6050 wird als Sensor und der Schrittmotor " +"als gesteuertes Gerät verwendet. Mit der am Handschuh montierten MPU6050 " +"können Sie den Schrittmotor durch Drehen Ihres Handgelenks steuern." + +#: ../3.1.6_motion_control.rst:13 +msgid "Components" +msgstr "Komponenten" + +#: ../3.1.6_motion_control.rst:19 +msgid "Schematic Diagram" +msgstr "Schematische Darstellung" + +#: ../3.1.6_motion_control.rst:22 +msgid "T-Board Name" +msgstr "T-Karte Name" + +#: ../3.1.6_motion_control.rst:22 +msgid "physical" +msgstr "physisch" + +#: ../3.1.6_motion_control.rst:22 +msgid "wiringPi" +msgstr "wiringPi" + +#: ../3.1.6_motion_control.rst:22 +msgid "BCM" +msgstr "BCM" + +#: ../3.1.6_motion_control.rst:23 +msgid "GPIO18" +msgstr "GPIO18" + +#: ../3.1.6_motion_control.rst:23 +msgid "Pin 12" +msgstr "Pin 12" + +#: ../3.1.6_motion_control.rst:23 +msgid "1" +msgstr "1" + +#: ../3.1.6_motion_control.rst:23 +msgid "18" +msgstr "18" + +#: ../3.1.6_motion_control.rst:24 +msgid "GPIO23" +msgstr "GPIO23" + +#: ../3.1.6_motion_control.rst:24 +msgid "Pin 16" +msgstr "Pin 16" + +#: ../3.1.6_motion_control.rst:24 +msgid "4" +msgstr "4" + +#: ../3.1.6_motion_control.rst:24 +msgid "23" +msgstr "23" + +#: ../3.1.6_motion_control.rst:25 +msgid "GPIO24" +msgstr "GPIO24" + +#: ../3.1.6_motion_control.rst:25 +msgid "Pin 18" +msgstr "Pin 18" + +#: ../3.1.6_motion_control.rst:25 +msgid "5" +msgstr "5" + +#: ../3.1.6_motion_control.rst:25 +msgid "24" +msgstr "24" + +#: ../3.1.6_motion_control.rst:26 +msgid "GPIO25" +msgstr "GPIO25" + +#: ../3.1.6_motion_control.rst:26 +msgid "Pin 22" +msgstr "Pin 22" + +#: ../3.1.6_motion_control.rst:26 +msgid "6" +msgstr "6" + +#: ../3.1.6_motion_control.rst:26 +msgid "25" +msgstr "25" + +#: ../3.1.6_motion_control.rst:27 +msgid "SDA1" +msgstr "SDA1" + +#: ../3.1.6_motion_control.rst:27 +msgid "Pin 3" +msgstr "Pin 3" + +#: ../3.1.6_motion_control.rst:28 +msgid "SCL1" +msgstr "SCL1" + +#: ../3.1.6_motion_control.rst:28 +msgid "Pin 5" +msgstr "Pin 5" + +#: ../3.1.6_motion_control.rst:35 +msgid "Experimental Procedures" +msgstr "Experimentelle Verfahren" + +#: ../3.1.6_motion_control.rst:37 +msgid "**Step 1:** Build the circuit." +msgstr "**Schritt 1:** Bauen Sie die Schaltung auf." + +msgid "3.1.6 Motion Control_bb" +msgstr "3.1.6 Motion Control_bb" + +#: ../3.1.6_motion_control.rst:45 +msgid "**For C Language Users**" +msgstr "**Für Benutzer in C-Sprache**" + +#: ../3.1.6_motion_control.rst:47 ../3.1.6_motion_control.rst:150 +msgid "**Step 2**: Go to the folder of the code." +msgstr "**Schritt 2:** Gehen Sie zum Ordner der Kode." + +#: ../3.1.6_motion_control.rst:57 +msgid "**Step 3**: Compile the code." +msgstr "**Schritt 3:** Kompilieren Sie die Kode." + +#: ../3.1.6_motion_control.rst:67 +msgid "**Step 4**: Run the executable file." +msgstr "**Schritt 4:** Führen Sie die ausführbare Datei aus." + +#: ../3.1.6_motion_control.rst:77 +msgid "" +"As the code runs, if the tilt angle of **mpu6050** on the `Y " +"`__-`axis " +"`__ is " +"larger than **45** ℃, the stepper motor rotates anticlockwise; if less " +"than **-45** ℃, the stepper motor rotates clockwise." +msgstr "" +"Wenn der Neigungswinkel von **mpu6050** auf der `Y " +"`__`-Achse " +"`__ größer " +"als **45** ℃, ist, dreht sich der Schrittmotor während der Kode gegen den" +" Uhrzeigersinn. Bei weniger als **-45** ℃, dreht sich der Schrittmotor im" +" Uhrzeigersinn." + +#: ../3.1.6_motion_control.rst:84 +msgid "" +"If it does not work after running, please refer to :ref:`C code is not " +"working?`" +msgstr "" +"Wenn es nach dem Ausführen nicht funktioniert, lesen Sie bitte :ref:`C " +"code is not working?`" + +#: ../3.1.6_motion_control.rst:87 ../3.1.6_motion_control.rst:286 +msgid "**Code Explanation**" +msgstr "**Code Erklärung**" + +#: ../3.1.6_motion_control.rst:102 ../3.1.6_motion_control.rst:300 +msgid "mpu6050 gets the tilt angle in the direction of the Y-axis." +msgstr "mpu6050 erhält den Neigungswinkel in Richtung der Y-Achse." + +#: ../3.1.6_motion_control.rst:123 ../3.1.6_motion_control.rst:317 + +msgid "" +"If the received direction **key** is \\'**c**\\', the stepper motor " +"rotates clockwise; if the **key** is \\'**a**\\', the motor rotates " +"anticlockwise. Refer to :ref:`1.3.3 Stepper Motor` for more details about" +" the calculation of the rotating direction of the stepper motor." +msgstr "" +"Wenn die empfangene Richtung **Taste** \'**c**\' ist, dreht sich der " +"Schrittmotor im Uhrzeigersinn; wenn die **Taste** \'**a**\' ist, dreht" +" der Motor gegen den Uhrzeigersinn. Siehe :ref:`1.3.3 Stepper Motor` für " +"weitere Details zur Berechnung der Drehrichtung des Schrittmotors." + +#: ../3.1.6_motion_control.rst:142 + +msgid "" +"The tilt angle in the direction of the Y-axis is read from **mpu6050**, " +"and if it’s larger than **45** ℃, the stepper motor rotates " +"anticlockwise; if less than **-45** ℃, the stepper motor rotates " +"clockwise." +msgstr "" +"Der Neigungswinkel in Richtung der Y-Achse wird von **mpu6050** " +"abgelesen. Wenn er größer als **45** ℃, ist, dreht sich der " +"Schrittmotor gegen den Uhrzeigersinn. Bei weniger als **-45** ℃, dreht " +"sich der Schrittmotor im Uhrzeigersinn." + +#: ../3.1.6_motion_control.rst:148 +msgid "**For Python Language Users**" +msgstr "**Für Python-Sprachbenutzer**" + +#: ../3.1.6_motion_control.rst:160 +msgid "**Step 3**: Run the executable file." +msgstr "**Schritt 3:** Führen Sie die ausführbare Datei aus." + +#: ../3.1.6_motion_control.rst:170 +msgid "" +"As the code runs, if the tilt angle of **mpu6050** on the `Y " +"`__\\ **-**\\ " +"`axis `__ " +"is larger than **45** ℃, the stepper motor rotates anticlockwise; if less" +" than **-45** ℃, the stepper motor rotates clockwise." +msgstr "" +"Wenn der Neigungswinkel von **mpu6050** auf der `Y " +"`__\\ **-**\\ " +"`Achse `__ " +"größer als **45** ℃, ist, dreht sich der Schrittmotor während der Kode " +"gegen den Uhrzeigersinn. Bei weniger als **-45** ℃, dreht sich der " +"Schrittmotor im Uhrzeigersinn." + +#: ../3.1.6_motion_control.rst:175 +msgid "**Code**" +msgstr "**Code**" + +#: ../3.1.6_motion_control.rst:179 + +msgid "" +"You can **Modify/Reset/Copy/Run/Stop** the code below. But before that, " +"you need to go to source code path like ``davinci-kit-for-raspberry-" +"pi/python``." +msgstr "" +"Sie können den folgenden Code **Ändern/Zurücksetzen/ " +"Kopieren/Ausführen/Stoppen**. Zuvor müssen Sie jedoch zu einem " +"Quellcodepfad wie ``davinci-kit-for-raspberry-pi/python`` gehen." + +#: ../3.1.6_motion_control.rst:332 + +msgid "" +"The tilt angle in the direction of the **Y-axis** is read from " +"**mpu6050**, and if it’s larger than **45** ℃, rotary() is called to let " +"the stepper motor rotate anticlockwise; if less than **-45** ℃, the " +"stepper motor rotates clockwise." +msgstr "" +"Der Neigungswinkel in Richtung der **Y-Achse** wird aus **mpu6050** " +"abgelesen. Wenn er größer als **45** ℃, ist, wird rotary () aufgerufen," +" damit sich der Schrittmotor gegen den Uhrzeigersinn dreht. Bei weniger " +"als **-45** ℃, dreht sich der Schrittmotor im Uhrzeigersinn." + +#: ../3.1.6_motion_control.rst:338 +msgid "Phenomenon Picture" +msgstr "Phänomen Bild" + diff --git a/docs/source/locale/de/LC_MESSAGES/3.1.7_traffic_light.po b/docs/source/locale/de/LC_MESSAGES/3.1.7_traffic_light.po new file mode 100644 index 0000000..e90c62f --- /dev/null +++ b/docs/source/locale/de/LC_MESSAGES/3.1.7_traffic_light.po @@ -0,0 +1,373 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, SunFounder +# This file is distributed under the same license as the SunFounder Davinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Davinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-19 18:22+0800\n" +"PO-Revision-Date: 2021-05-27 09:01+0800\n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../3.1.7_traffic_light.rst:2 +msgid "3.1.7 Traffic Light" +msgstr "3.1.7 Ampel" + +#: ../3.1.7_traffic_light.rst:5 +msgid "Introduction" +msgstr "Einführung" + +#: ../3.1.7_traffic_light.rst:7 +msgid "" +"In this project, we will use LED lights of three colors to realize the " +"change of traffic lights and a four-digit 7-segment display will be used " +"to display the timing of each traffic state." +msgstr "" +"In diesem Projekt werden wir dreifarbige LED-Lichter verwenden, um den " +"Wechsel der Ampeln zu realisieren, und eine vierstellige 7-Segment-" +"Anzeige wird verwendet, um das Timing jedes Verkehrszustands anzuzeigen." + +#: ../3.1.7_traffic_light.rst:12 +msgid "Components" +msgstr "Komponenten" + +#: ../3.1.7_traffic_light.rst:18 +msgid "Schematic Diagram" +msgstr "Schematische Darstellung" + +#: ../3.1.7_traffic_light.rst:21 +msgid "T-Board Name" +msgstr "T-Karte Name" + +#: ../3.1.7_traffic_light.rst:21 +msgid "physical" +msgstr "physisch" + +#: ../3.1.7_traffic_light.rst:21 +msgid "wiringPi" +msgstr "wiringPi" + +#: ../3.1.7_traffic_light.rst:21 +msgid "BCM" +msgstr "BCM" + +#: ../3.1.7_traffic_light.rst:22 +msgid "GPIO17" +msgstr "GPIO17" + +#: ../3.1.7_traffic_light.rst:22 +msgid "Pin 11" +msgstr "Pin 11" + +#: ../3.1.7_traffic_light.rst:22 +msgid "0" +msgstr "0" + +#: ../3.1.7_traffic_light.rst:22 +msgid "17" +msgstr "17" + +#: ../3.1.7_traffic_light.rst:23 +msgid "GPIO27" +msgstr "GPIO27" + +#: ../3.1.7_traffic_light.rst:23 +msgid "Pin 13" +msgstr "Pin 13" + +#: ../3.1.7_traffic_light.rst:23 +msgid "2" +msgstr "2" + +#: ../3.1.7_traffic_light.rst:23 +msgid "27" +msgstr "27" + +#: ../3.1.7_traffic_light.rst:24 +msgid "GPIO22" +msgstr "GPIO22" + +#: ../3.1.7_traffic_light.rst:24 +msgid "Pin 15" +msgstr "Pin 15" + +#: ../3.1.7_traffic_light.rst:24 +msgid "3" +msgstr "3" + +#: ../3.1.7_traffic_light.rst:24 +msgid "22" +msgstr "22" + +#: ../3.1.7_traffic_light.rst:25 +msgid "SPIMOSI" +msgstr "SPIMOSI" + +#: ../3.1.7_traffic_light.rst:25 +msgid "Pin 19" +msgstr "Pin 19" + +#: ../3.1.7_traffic_light.rst:25 +msgid "12" +msgstr "12" + +#: ../3.1.7_traffic_light.rst:25 ../3.1.7_traffic_light.rst:30 +msgid "10" +msgstr "10" + +#: ../3.1.7_traffic_light.rst:26 +msgid "GPIO18" +msgstr "GPIO18" + +#: ../3.1.7_traffic_light.rst:26 +msgid "Pin 12" +msgstr "Pin 12" + +#: ../3.1.7_traffic_light.rst:26 +msgid "1" +msgstr "1" + +#: ../3.1.7_traffic_light.rst:26 +msgid "18" +msgstr "18" + +#: ../3.1.7_traffic_light.rst:27 +msgid "GPIO23" +msgstr "GPIO23" + +#: ../3.1.7_traffic_light.rst:27 +msgid "Pin 16" +msgstr "Pin 16" + +#: ../3.1.7_traffic_light.rst:27 +msgid "4" +msgstr "4" + +#: ../3.1.7_traffic_light.rst:27 +msgid "23" +msgstr "23" + +#: ../3.1.7_traffic_light.rst:28 +msgid "GPIO24" +msgstr "GPIO24" + +#: ../3.1.7_traffic_light.rst:28 +msgid "Pin 18" +msgstr "Pin 18" + +#: ../3.1.7_traffic_light.rst:28 +msgid "5" +msgstr "5" + +#: ../3.1.7_traffic_light.rst:28 +msgid "24" +msgstr "24" + +#: ../3.1.7_traffic_light.rst:29 +msgid "GPIO25" +msgstr "GPIO25" + +#: ../3.1.7_traffic_light.rst:29 +msgid "Pin 22" +msgstr "Pin 22" + +#: ../3.1.7_traffic_light.rst:29 +msgid "6" +msgstr "6" + +#: ../3.1.7_traffic_light.rst:29 +msgid "25" +msgstr "25" + +#: ../3.1.7_traffic_light.rst:30 +msgid "SPICE0" +msgstr "SPICE0" + +#: ../3.1.7_traffic_light.rst:30 +msgid "Pin 24" +msgstr "Pin 24" + +#: ../3.1.7_traffic_light.rst:30 +msgid "8" +msgstr "8" + +#: ../3.1.7_traffic_light.rst:31 +msgid "SPICE1" +msgstr "SPICE1" + +#: ../3.1.7_traffic_light.rst:31 +msgid "Pin 26" +msgstr "Pin 26" + +#: ../3.1.7_traffic_light.rst:31 +msgid "11" +msgstr "11" + +#: ../3.1.7_traffic_light.rst:31 +msgid "7" +msgstr "7" + +#: ../3.1.7_traffic_light.rst:38 +msgid "Experimental Procedures" +msgstr "Experimentelle Verfahren" + +#: ../3.1.7_traffic_light.rst:40 +msgid "**Step 1:** Build the circuit." +msgstr "**Schritt 1:** Bauen Sie die Schaltung auf." + +msgid "3.1.7_TrafficLight_bb" +msgstr "3.1.7_TrafficLight_bb" + +#: ../3.1.7_traffic_light.rst:47 +msgid "**For C Language Users**" +msgstr "**Für Benutzer in C-Sprache**" + +#: ../3.1.7_traffic_light.rst:49 ../3.1.7_traffic_light.rst:178 +msgid "**Step 2:** Change directory." +msgstr "**Schritt 2:** Verzeichnis wechseln." + +#: ../3.1.7_traffic_light.rst:59 +msgid "**Step 3:** Compile." +msgstr "**Schritt 3:** Kompilieren." + +#: ../3.1.7_traffic_light.rst:69 +msgid "**Step 4:** Run." +msgstr "**Schritt 4:** Ausführen." + +#: ../3.1.7_traffic_light.rst:79 +msgid "" +"As the code runs, LEDs will simulate the color changing of traffic " +"lights. Firstly, the red LED lights up for 60s, then the green LED lights" +" up for 30s; next, the yellow LED lights up for 5s. After that, the red " +"LED lights up for 60s once again. In this way, this series of actions " +"will be executed repeatedly." +msgstr "" +"Während die Kode ausgeführt wird, simulieren LEDs den Farbwechsel von " +"Ampeln. Zuerst leuchtet die rote LED 60 Sekunden lang, dann leuchtet die " +"grüne LED 30 Sekunden lang. Als nächstes leuchtet die gelbe LED 5 " +"Sekunden lang auf. Danach leuchtet die rote LED erneut für 60s. Auf diese" +" Weise wird diese Reihe von Aktionen wiederholt ausgeführt." + +#: ../3.1.7_traffic_light.rst:87 +msgid "" +"If it does not work after running, please refer to :ref:`C code is not " +"working?`" +msgstr "" +"Wenn es nach dem Ausführen nicht funktioniert, lesen Sie bitte :ref:`C " +"code is not working?`" + +#: ../3.1.7_traffic_light.rst:90 ../3.1.7_traffic_light.rst:349 +msgid "**Code Explanation**" +msgstr "**Code Erklärung**" + +#: ../3.1.7_traffic_light.rst:106 +msgid "" +"These codes are used to realize the function of number display of 4-Digit" +" 7-Segment Displays. Refer to :ref:`1.1.5 4-Digit 7-Segment Display` of " +"the document for more details. Here, we use the codes to display " +"countdown of traffic light time." +msgstr "" +"Diese Codes werden verwendet, um die Funktion der Zahlenanzeige von " +"4-stelligen 7-Segment-Anzeigen zu realisieren. Siehe :ref:`1.1.5 4-Digit " +"7-Segment Display` des Dokuments für weitere Details. Hier verwenden wir " +"die Codes, um den Countdown der Ampelzeit anzuzeigen." + +#: ../3.1.7_traffic_light.rst:124 ../3.1.7_traffic_light.rst:380 +msgid "The codes are used to switch the LED on and off." +msgstr "Die Kode dienen zum Ein- und Ausschalten der LED." + +#: ../3.1.7_traffic_light.rst:149 ../3.1.7_traffic_light.rst:411 +msgid "" +"The codes are used to switch the timer on and off. Refer to :ref:`1.1.5 " +"4-Digit 7-Segment Display` for more details. Here, when the timer returns" +" to zero, colorState will be switched so as to switch LED, and the timer " +"will be assigned to a new value." +msgstr "" +"Die Codes dienen zum Ein- und Ausschalten des Timers. Weitere " +"Informationen finden Sie unter :ref:`1.1.5 4-Digit 7-Segment Display`. " +"Wenn der Timer hier auf Null zurückkehrt, wird colorState auf LED " +"umgeschaltet und dem Timer wird ein neuer Wert zugewiesen." + +#: ../3.1.7_traffic_light.rst:172 +msgid "" +"The timer is started in the main() function. In loop() function, use " +"**while(1)** loop and call the functions of 4-Digit 7-Segment and LED." +msgstr "" +"Der Timer wird in der Funktion main() gestartet. Verwenden Sie in der " +"Funktion loop() die Schleife **while(1)** und rufen Sie die Funktionen " +"von 4-stelligem 7-Segment und LED auf." + +#: ../3.1.7_traffic_light.rst:176 +msgid "**For Python Language Users**" +msgstr "**Für Python-Sprachbenutzer**" + +#: ../3.1.7_traffic_light.rst:188 +msgid "**Step 3:** Run." +msgstr "**Schritt 3:** Ausführen." + +#: ../3.1.7_traffic_light.rst:198 +msgid "" +"As the code runs, LEDs will simulate the color changing of traffic " +"lights. Firstly, the red LED lights up for 60s, then the green LED lights" +" up for 30s; next, the yellow LED lights up for 5s. After that, the red " +"LED lights up for 60s once again. In this way, this series of actions " +"will be executed repeatedly. Meanwhile, the 4-digit 7-segment display " +"displays the countdown time continuously." +msgstr "" +"Während die Kode ausgeführt wird, simulieren LEDs den Farbwechsel von " +"Ampeln. Zuerst leuchtet die rote LED 60 Sekunden lang, dann leuchtet die " +"grüne LED 30 Sekunden lang. Als nächstes leuchtet die gelbe LED 5 " +"Sekunden lang auf. Danach leuchtet die rote LED erneut für 60s. Auf diese" +" Weise wird diese Reihe von Aktionen wiederholt ausgeführt. Währenddessen" +" zeigt die 4-stellige 7-Segment-Anzeige kontinuierlich die Countdown-Zeit" +" an." + +#: ../3.1.7_traffic_light.rst:205 +msgid "**Code**" +msgstr "**Code**" + +#: ../3.1.7_traffic_light.rst:209 + +msgid "" +"You can **Modify/Reset/Copy/Run/Stop** the code below. But before that, " +"you need to go to source code path like ``davinci-kit-for-raspberry-" +"pi/python``." +msgstr "" +"Sie können den folgenden Code **Ändern/Zurücksetzen/ " +"Kopieren/Ausführen/Stoppen**. Zuvor müssen Sie jedoch zu einem " +"Quellcodepfad wie ``davinci-kit-for-raspberry-pi/python`` gehen." + +#: ../3.1.7_traffic_light.rst:364 +msgid "" +"These codes are used to realize the function of number display of 4-Digit" +" 7-Segment. Refer to :ref:`1.1.5 4-Digit 7-Segment Display` of the " +"document for more details. Here, we use the codes to display countdown of" +" traffic light time." +msgstr "" +"Diese Codes werden verwendet, um die Funktion der Zahlenanzeige des " +"4-stelligen 7-Segments zu realisieren. Siehe :ref:`1.1.5 4-Digit " +"7-Segment Display` des Dokuments für weitere Details. Hier verwenden wir " +"die Codes, um den Countdown der Ampelzeit anzuzeigen." + +#: ../3.1.7_traffic_light.rst:441 +msgid "" +"In setup() function, start the timer. In loop() function, a ``while " +"True`` is used: call the relative functions of 4-Digit 7-Segment and LED " +"circularly." +msgstr "" +"Starten Sie in der Funktion setup() den Timer. In der Funktion loop() " +"wird eine **Weile True** verwendet: Rufen Sie die relativen Funktionen " +"von 4-stelligem 7-Segment und LED kreisförmig auf." + +#: ../3.1.7_traffic_light.rst:446 +msgid "Phenomenon Picture" +msgstr "Phänomen Bild" + diff --git a/docs/source/locale/de/LC_MESSAGES/3.1.8_overheat_monitor.po b/docs/source/locale/de/LC_MESSAGES/3.1.8_overheat_monitor.po new file mode 100644 index 0000000..a398eff --- /dev/null +++ b/docs/source/locale/de/LC_MESSAGES/3.1.8_overheat_monitor.po @@ -0,0 +1,346 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, SunFounder +# This file is distributed under the same license as the SunFounder Davinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Davinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-19 18:22+0800\n" +"PO-Revision-Date: 2021-05-27 09:10+0800\n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../3.1.8_overheat_monitor.rst:2 +msgid "3.1.8 Overheat Monitor" +msgstr "3.1.8 Überhitzungsmonitor" + +#: ../3.1.8_overheat_monitor.rst:5 +msgid "Introduction" +msgstr "Einführung" + +#: ../3.1.8_overheat_monitor.rst:7 +msgid "" +"You may want to make an overheat monitoring device that applies to " +"various situations, ex., in the factory, if we want to have an alarm and " +"the timely automatic turning off of the machine when there is a circuit " +"overheating. In this lesson, we will use thermistor, joystick, buzzer, " +"LED and LCD to make an smart temperature monitoring device whose " +"threshold is adjustable." +msgstr "" +"Möglicherweise möchten Sie ein Überhitzungsüberwachungsgerät herstellen, " +"das für verschiedene Situationen gilt, z. B. im Werk, wenn wir einen " +"Alarm und das rechtzeitige automatische Ausschalten der Maschine bei " +"Überhitzung des Stromkreises wünschen. In dieser Lektion verwenden wir " +"Thermistor, Joystick, Summer, LED und LCD, um ein intelligentes " +"Temperaturüberwachungsgerät zu erstellen, dessen Schwelle einstellbar " +"ist." + +#: ../3.1.8_overheat_monitor.rst:15 +msgid "Components" +msgstr "Komponenten" + +#: ../3.1.8_overheat_monitor.rst:24 +msgid "Schematic Diagram" +msgstr "Schematische Darstellung" + +#: ../3.1.8_overheat_monitor.rst:27 +msgid "T-Board Name" +msgstr "T-Karte Name" + +#: ../3.1.8_overheat_monitor.rst:27 +msgid "physical" +msgstr "physisch" + +#: ../3.1.8_overheat_monitor.rst:27 +msgid "wiringPi" +msgstr "wiringPi" + +#: ../3.1.8_overheat_monitor.rst:27 +msgid "BCM" +msgstr "BCM" + +#: ../3.1.8_overheat_monitor.rst:28 +msgid "GPIO17" +msgstr "GPIO17" + +#: ../3.1.8_overheat_monitor.rst:28 +msgid "Pin 11" +msgstr "Pin 11" + +#: ../3.1.8_overheat_monitor.rst:28 +msgid "0" +msgstr "0" + +#: ../3.1.8_overheat_monitor.rst:28 +msgid "17" +msgstr "17" + +#: ../3.1.8_overheat_monitor.rst:29 +msgid "GPIO18" +msgstr "GPIO18" + +#: ../3.1.8_overheat_monitor.rst:29 +msgid "Pin 12" +msgstr "Pin 12" + +#: ../3.1.8_overheat_monitor.rst:29 +msgid "1" +msgstr "1" + +#: ../3.1.8_overheat_monitor.rst:29 +msgid "18" +msgstr "18" + +#: ../3.1.8_overheat_monitor.rst:30 +msgid "GPIO27" +msgstr "GPIO27" + +#: ../3.1.8_overheat_monitor.rst:30 +msgid "Pin 13" +msgstr "Pin 13" + +#: ../3.1.8_overheat_monitor.rst:30 +msgid "2" +msgstr "2" + +#: ../3.1.8_overheat_monitor.rst:30 +msgid "27" +msgstr "27" + +#: ../3.1.8_overheat_monitor.rst:31 +msgid "GPIO22" +msgstr "GPIO22" + +#: ../3.1.8_overheat_monitor.rst:31 +msgid "Pin15" +msgstr "Pin15" + +#: ../3.1.8_overheat_monitor.rst:31 +msgid "3" +msgstr "3" + +#: ../3.1.8_overheat_monitor.rst:31 +msgid "22" +msgstr "22" + +#: ../3.1.8_overheat_monitor.rst:32 +msgid "GPIO23" +msgstr "GPIO23" + +#: ../3.1.8_overheat_monitor.rst:32 +msgid "Pin16" +msgstr "Pin16" + +#: ../3.1.8_overheat_monitor.rst:32 +msgid "4" +msgstr "4" + +#: ../3.1.8_overheat_monitor.rst:32 +msgid "23" +msgstr "23" + +#: ../3.1.8_overheat_monitor.rst:33 +msgid "GPIO24" +msgstr "GPIO24" + +#: ../3.1.8_overheat_monitor.rst:33 +msgid "Pin18" +msgstr "Pin18" + +#: ../3.1.8_overheat_monitor.rst:33 +msgid "5" +msgstr "5" + +#: ../3.1.8_overheat_monitor.rst:33 +msgid "24" +msgstr "24" + +#: ../3.1.8_overheat_monitor.rst:34 +msgid "SDA1" +msgstr "SDA1" + +#: ../3.1.8_overheat_monitor.rst:34 +msgid "Pin 3" +msgstr "Pin 3" + +#: ../3.1.8_overheat_monitor.rst:35 +msgid "SCL1" +msgstr "SCL1" + +#: ../3.1.8_overheat_monitor.rst:35 +msgid "Pin 5" +msgstr "Pin 5" + +#: ../3.1.8_overheat_monitor.rst:43 +msgid "Experimental Procedures" +msgstr "Experimentelle Verfahren" + +#: ../3.1.8_overheat_monitor.rst:45 +msgid "**Step 1:** Build the circuit." +msgstr "**Schritt 1:** Bauen Sie die Schaltung auf." + +msgid "Overheat Monitor_bb" +msgstr "Overheat Monitor_bb" + +#: ../3.1.8_overheat_monitor.rst:52 +msgid "**For C Language Users**" +msgstr "**Für Benutzer in C-Sprache**" + +#: ../3.1.8_overheat_monitor.rst:54 ../3.1.8_overheat_monitor.rst:234 +msgid "**Step 2**: Go to the folder of the code." +msgstr "**Schritt 2:** Gehen Sie zum Ordner der Kode." + +#: ../3.1.8_overheat_monitor.rst:64 +msgid "**Step 3**: Compile the code." +msgstr "**Schritt 3:** Kompilieren Sie der Kode." + +#: ../3.1.8_overheat_monitor.rst:74 +msgid "**Step 4**: Run the executable file." +msgstr "**Schritt 4:** Führen Sie die ausführbare Datei aus." + +#: ../3.1.8_overheat_monitor.rst:84 ../3.1.8_overheat_monitor.rst:187 +#: ../3.1.8_overheat_monitor.rst:254 ../3.1.8_overheat_monitor.rst:441 +msgid "" +"As the code runs, the current temperature and the high-temperature " +"threshold **40** are displayed on **I2C LCD1602**. If the current " +"temperature is larger than the threshold, the buzzer and LED are started " +"to alarm you." +msgstr "" +"Während die Kode ausgeführt wird, werden die aktuelle Temperatur und der " +"Hochtemperaturschwellenwert **40** auf dem **I2C LCD1602** angezeigt. " +"Wenn die aktuelle Temperatur größer als der Schwellenwert ist, werden der" +" Summer und die LED gestartet, um Sie zu alarmieren." + +#: ../3.1.8_overheat_monitor.rst:91 +msgid "" +"If it does not work after running, please refer to :ref:`C code is not " +"working?`" +msgstr "" +"Wenn es nach dem Ausführen nicht funktioniert, lesen Sie bitte :ref:`C " +"code is not working?`" + +#: ../3.1.8_overheat_monitor.rst:94 ../3.1.8_overheat_monitor.rst:259 +msgid "" +"**Joystick** here is for your pressing to adjust the high-temperature " +"threshold. Toggling the **Joystick** in the direction of X-axis and " +"Y-axis can adjust (turn up or down) the current high-temperature " +"threshold. Press the **Joystick** once again to reset the threshold to " +"initial value." +msgstr "" +"Der **Joystick** dient zum Drücken, um die Hochtemperaturschwelle " +"anzupassen. Durch Umschalten des **Joystick** in Richtung X-Achse und " +"Y-Achse kann der aktuelle Hochtemperaturschwellenwert angepasst (nach " +"oben oder unten gedreht) werden. Drücken Sie den **Joystick** erneut, um " +"den Schwellenwert auf den Anfangswert zurückzusetzen." + +#: ../3.1.8_overheat_monitor.rst:100 ../3.1.8_overheat_monitor.rst:374 +msgid "**Code Explanation**" +msgstr "**Code Erklärung**" + +#: ../3.1.8_overheat_monitor.rst:126 ../3.1.8_overheat_monitor.rst:392 + +msgid "" +"This function reads values of X and Y. If **X>200**, there will return " +"\\\"**1**\\\"; **X<50**, return \\\"**-1**\\\"; **y>200**, return " +"\\\"**-10**\\\", and **y<50**, return \\\"**10**\\\"." +msgstr "" +"Diese Funktion liest die Werte von X und Y. Wenn **X> 200** ist, wird " +"\"**1**\" zurückgegeben. **X<50**, return \"**-1**\"; **y> 200**, " +"geben Sie \"**-10**\" zurück, und **y<50**, geben Sie \"**10**\" " +"zurück." + +#: ../3.1.8_overheat_monitor.rst:145 ../3.1.8_overheat_monitor.rst:407 +msgid "" +"This function is for adjusting the threshold and displaying it on the I2C" +" LCD1602." +msgstr "" +"This function is for adjusting the threshold and displaying it on the I2C" +" LCD1602." + +#: ../3.1.8_overheat_monitor.rst:162 ../3.1.8_overheat_monitor.rst:421 +msgid "" +"Read the analog value of the **CH0** (thermistor) of **ADC0834** and then" +" convert it to temperature value." +msgstr "" +"Lesen Sie den Analogwert des **CH0** (Thermistor) von **ADC0834** ab und " +"wandeln Sie ihn dann in einen Temperaturwert um." + +#: ../3.1.8_overheat_monitor.rst:218 ../3.1.8_overheat_monitor.rst:463 +msgid "The function main() contains the whole program process as shown:" +msgstr "Die Funktion main () enthält den gesamten Programmablauf wie folgt:" + +#: ../3.1.8_overheat_monitor.rst:220 ../3.1.8_overheat_monitor.rst:465 +msgid "" +"When the program starts, the initial value of **stage** is **0**, and the" +" current temperature and the high-temperature threshold **40** are " +"displayed on **I2C LCD1602**. If the current temperature is larger than " +"the threshold, the buzzer and the LED are started to alarm you." +msgstr "" +"Wenn das Programm startet, ist der Anfangswert der **Stufe** **0**, und " +"die aktuelle Temperatur und der Hochtemperaturschwellenwert **40** werden" +" auf dem **I2C LCD1602** angezeigt. Wenn die aktuelle Temperatur größer " +"als der Schwellenwert ist, werden der Summer und die LED gestartet, um " +"Sie zu alarmieren." + +#: ../3.1.8_overheat_monitor.rst:225 +msgid "" +"Press the Joystick, and **stage** will be **1** and you can adjust the " +"high-temperature threshold. Toggling the Joystick in the direction of " +"X-axis and Y-axis can adjust (turn up or down) the current threshold. " +"Press the Joystick once again to reset the threshold to initial value." +msgstr "" +"Drücken Sie den Joystick, und die **Stufe** ist **1**, und Sie können die" +" Hochtemperaturschwelle einstellen. Durch Umschalten des Joysticks in " +"Richtung X-Achse und Y-Achse kann der aktuelle Schwellenwert angepasst " +"(nach oben oder unten gedreht) werden. Drücken Sie den Joystick erneut, " +"um den Schwellenwert auf den Anfangswert zurückzusetzen." + +#: ../3.1.8_overheat_monitor.rst:232 +msgid "**For Python Language Users**" +msgstr "**Für Python-Sprachbenutzer**" + +#: ../3.1.8_overheat_monitor.rst:244 +msgid "**Step 3**: Run the executable file." +msgstr "**Schritt 3:** Führen Sie die ausführbare Datei aus." + +#: ../3.1.8_overheat_monitor.rst:265 +msgid "**Code**" +msgstr "**Code**" + +#: ../3.1.8_overheat_monitor.rst:269 + +msgid "" +"You can **Modify/Reset/Copy/Run/Stop** the code below. But before that, " +"you need to go to source code path like ``davinci-kit-for-raspberry-" +"pi/python``." +msgstr "" +"Sie können den folgenden Code **Ändern/Zurücksetzen/ " +"Kopieren/Ausführen/Stoppen**. Zuvor müssen Sie jedoch zu einem " +"Quellcodepfad wie ``davinci-kit-for-raspberry-pi/python`` gehen." + +#: ../3.1.8_overheat_monitor.rst:470 +msgid "" +"Press the Joystick, and **stage** will be **1** and you can adjust the " +"high-temperature threshold. Toggling the Joystick in the direction of " +"X-axis and Y-axis can adjust (turn up or down) the current high-" +"temperature threshold. Press the Joystick once again to reset the " +"threshold to initial value." +msgstr "" +"Drücken Sie den Joystick, und die **Stufe** ist **1**, und Sie können die" +" Hochtemperaturschwelle einstellen. Durch Umschalten des Joysticks in " +"Richtung X-Achse und Y-Achse kann der aktuelle " +"Hochtemperaturschwellenwert angepasst (nach oben oder unten gedreht) " +"werden. Drücken Sie den Joystick erneut, um den Schwellenwert auf den " +"Anfangswert zurückzusetzen." + +#: ../3.1.8_overheat_monitor.rst:477 +msgid "Phenomenon Picture" +msgstr "Phänomen Bild" + diff --git a/docs/source/locale/de/LC_MESSAGES/3.1.9_password_lock.po b/docs/source/locale/de/LC_MESSAGES/3.1.9_password_lock.po new file mode 100644 index 0000000..73585a4 --- /dev/null +++ b/docs/source/locale/de/LC_MESSAGES/3.1.9_password_lock.po @@ -0,0 +1,377 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, SunFounder +# This file is distributed under the same license as the SunFounder Davinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Davinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-19 18:22+0800\n" +"PO-Revision-Date: 2021-06-01 10:35+0800\n" +"Last-Translator: \n" +"Language: de\n" +"Language-Team: \n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../3.1.9_password_lock.rst:2 +msgid "3.1.9 Password Lock" +msgstr "3.1.9 Passwortsperre" + +#: ../3.1.9_password_lock.rst:5 +msgid "Introduction" +msgstr "Einführung" + +#: ../3.1.9_password_lock.rst:7 + +msgid "" +"In this project, we will use a keypad and a LCD to make a combination " +"lock. The LCD will display a corresponding prompt for you to type your " +"password on the Keypad. If the password is input correctly, " +"\\\"Correct\\\" will be displayed." +msgstr "" +"In diesem Projekt werden wir eine Tastatur und ein LCD verwenden, um ein " +"Nummerschloss herzustellen. Auf dem LCD wird eine entsprechende " +"Aufforderung angezeigt, Ihr Passwort auf der Tastatur einzugeben. Wenn " +"das Passwort korrekt eingegeben wurde, wird \"Richtig\" angezeigt." + +#: ../3.1.9_password_lock.rst:12 +msgid "" +"On the basis of this project, we can add additional electronic " +"components, such as buzzer, LED and so on, to add different experimental " +"phenomena for password input." +msgstr "" +"Auf der Grundlage dieses Projekts können wir zusätzliche elektronische " +"Komponenten wie Summer, LED usw. hinzufügen, um verschiedene " +"experimentelle Phänomene für die Passworteingabe hinzuzufügen." + +#: ../3.1.9_password_lock.rst:17 +msgid "Components" +msgstr "Komponenten" + +#: ../3.1.9_password_lock.rst:23 +msgid "Schematic Diagram" +msgstr "Schematische Darstellung" + +#: ../3.1.9_password_lock.rst:26 +msgid "T-Board Name" +msgstr "T-Karte Name" + +#: ../3.1.9_password_lock.rst:26 +msgid "physical" +msgstr "physisch" + +#: ../3.1.9_password_lock.rst:26 +msgid "wiringPi" +msgstr "wiringPi" + +#: ../3.1.9_password_lock.rst:26 +msgid "BCM" +msgstr "BCM" + +#: ../3.1.9_password_lock.rst:27 +msgid "GPIO18" +msgstr "GPIO18" + +#: ../3.1.9_password_lock.rst:27 +msgid "Pin 12" +msgstr "Pin 12" + +#: ../3.1.9_password_lock.rst:27 +msgid "1" +msgstr "1" + +#: ../3.1.9_password_lock.rst:27 +msgid "18" +msgstr "18" + +#: ../3.1.9_password_lock.rst:28 +msgid "GPIO23" +msgstr "GPIO23" + +#: ../3.1.9_password_lock.rst:28 +msgid "Pin 16" +msgstr "Pin 16" + +#: ../3.1.9_password_lock.rst:28 +msgid "4" +msgstr "4" + +#: ../3.1.9_password_lock.rst:28 +msgid "23" +msgstr "23" + +#: ../3.1.9_password_lock.rst:29 +msgid "GPIO24" +msgstr "GPIO24" + +#: ../3.1.9_password_lock.rst:29 +msgid "Pin 18" +msgstr "Pin 18" + +#: ../3.1.9_password_lock.rst:29 +msgid "5" +msgstr "5" + +#: ../3.1.9_password_lock.rst:29 +msgid "24" +msgstr "24" + +#: ../3.1.9_password_lock.rst:30 +msgid "GPIO25" +msgstr "GPIO25" + +#: ../3.1.9_password_lock.rst:30 +msgid "Pin 22" +msgstr "Pin 22" + +#: ../3.1.9_password_lock.rst:30 +msgid "6" +msgstr "6" + +#: ../3.1.9_password_lock.rst:30 +msgid "25" +msgstr "25" + +#: ../3.1.9_password_lock.rst:31 +msgid "GPIO17" +msgstr "GPIO17" + +#: ../3.1.9_password_lock.rst:31 +msgid "Pin 11" +msgstr "Pin 11" + +#: ../3.1.9_password_lock.rst:31 +msgid "0" +msgstr "0" + +#: ../3.1.9_password_lock.rst:31 +msgid "17" +msgstr "17" + +#: ../3.1.9_password_lock.rst:32 +msgid "GPIO27" +msgstr "GPIO27" + +#: ../3.1.9_password_lock.rst:32 +msgid "Pin 13" +msgstr "Pin 13" + +#: ../3.1.9_password_lock.rst:32 +msgid "2" +msgstr "2" + +#: ../3.1.9_password_lock.rst:32 +msgid "27" +msgstr "27" + +#: ../3.1.9_password_lock.rst:33 +msgid "GPIO22" +msgstr "GPIO22" + +#: ../3.1.9_password_lock.rst:33 +msgid "Pin 15" +msgstr "Pin 15" + +#: ../3.1.9_password_lock.rst:33 +msgid "3" +msgstr "3" + +#: ../3.1.9_password_lock.rst:33 +msgid "22" +msgstr "22" + +#: ../3.1.9_password_lock.rst:34 +msgid "SPIMOSI" +msgstr "SPIMOSI" + +#: ../3.1.9_password_lock.rst:34 +msgid "Pin 19" +msgstr "Pin 19" + +#: ../3.1.9_password_lock.rst:34 +msgid "12" +msgstr "12" + +#: ../3.1.9_password_lock.rst:34 +msgid "10" +msgstr "10" + +#: ../3.1.9_password_lock.rst:35 +msgid "SDA1" +msgstr "SDA1" + +#: ../3.1.9_password_lock.rst:35 +msgid "Pin 3" +msgstr "Pin 3" + +#: ../3.1.9_password_lock.rst:36 +msgid "SCL1" +msgstr "SCL1" + +#: ../3.1.9_password_lock.rst:36 +msgid "Pin 5" +msgstr "Pin 5" + +#: ../3.1.9_password_lock.rst:43 +msgid "Experimental Procedures" +msgstr "Experimentelle Verfahren" + +#: ../3.1.9_password_lock.rst:45 +msgid "**Step 1:** Build the circuit." +msgstr "**Schritt 1:** Bauen Sie die Schaltung auf." + +msgid "3.1.3_PasswordLock_bb_看图王" +msgstr "3.1.3_PasswordLock_bb_看图王" + +#: ../3.1.9_password_lock.rst:52 +msgid "**For C Language Users**" +msgstr "**Für Benutzer in C-Sprache**" + +#: ../3.1.9_password_lock.rst:54 +msgid "**Step 2**: Change directory." +msgstr "**Schritt 2:** Verzeichnis wechseln." + +#: ../3.1.9_password_lock.rst:64 +msgid "**Step 3**: Compile." +msgstr "**Schritt 3:** Kompilieren." + +#: ../3.1.9_password_lock.rst:74 +msgid "**Step 4:** Run." +msgstr "**Schritt 4:** Ausführen." + +#: ../3.1.9_password_lock.rst:84 + +msgid "" +"After the code runs, keypad is used to input password. If the " +"\\\"CORRECT\\\" appears on LCD1602, there is no wrong with the password; " +"otherwise, \\\"WRONG KEY\\\" will appear." +msgstr "" +"Nachdem der Kode ausgeführt wurde, wird die Tastatur über die Tastatur " +"eingegeben. Wenn auf dem LCD1602 die Meldung \"RICHTIG\" angezeigt wird, " +"ist das Kennwort nicht falsch. Andernfalls wird \"FALSCHER SCHLÜSSEL\" " +"angezeigt." + +#: ../3.1.9_password_lock.rst:90 +msgid "" +"If it does not work after running, please refer to :ref:`C code is not " +"working?`" +msgstr "" +"Wenn es nach dem Ausführen nicht funktioniert, lesen Sie bitte :ref:`C " +"code is not working?`" + +#: ../3.1.9_password_lock.rst:93 ../3.1.9_password_lock.rst:307 +msgid "**Code Explanation**" +msgstr "**Code Erklärung**" + +#: ../3.1.9_password_lock.rst:110 +msgid "" +"Here, we define the length of the password LENS, storage matrix keyboard " +"key value array KEYS and the array that stores the correct password." +msgstr "" +"Hier definieren wir die Länge des Kennworts LENS, des Schlüssel-Array-" +"Tastenschlüssel-Arrays KEYS und des Arrays, in dem das richtige Kennwort " +"gespeichert ist." + +#: ../3.1.9_password_lock.rst:122 +msgid "" +"There is a declaration of the subfunctions of the matrix keyboard code, " +"refer to :ref:`2.1.5 Keypad` of this document for more details." +msgstr "" +"Es gibt eine Deklaration der Unterfunktionen des Matrix-Tastaturcodes, " +"siehe :ref:`2.1.5 Keypad` dieses Dokuments für weitere Details." + +#: ../3.1.9_password_lock.rst:135 +msgid "There is a declaration of the subfunctions of LCD1062 code, refer to" +msgstr "Es gibt eine Deklaration der Unterfunktionen des LCD1062-Codes, siehe" + +#: ../3.1.9_password_lock.rst:135 +msgid ":ref:`1.1.7 I2C LCD1602` of this document for more details." +msgstr ":ref:`1.1.7 I2C LCD1602` dieses Dokuments für weitere Details." + +#: ../3.1.9_password_lock.rst:153 ../3.1.9_password_lock.rst:357 +msgid "" +"Read the key value and store it in the test array testword. If the number" +" of stored key values is more than 4, the correctness of the password is " +"automatically verified, and the verification results are displayed on the" +" LCD interface." +msgstr "" +"Lesen Sie den Schlüsselwert und speichern Sie ihn im Testarray-Testwort. " +"Wenn die Anzahl der gespeicherten Schlüsselwerte mehr als 4 beträgt, wird" +" die Richtigkeit des Kennworts automatisch überprüft und die " +"Überprüfungsergebnisse werden auf der LCD-Oberfläche angezeigt." + +#: ../3.1.9_password_lock.rst:169 ../3.1.9_password_lock.rst:370 +msgid "" +"Verify the correctness of the password. Return 1 if the password is " +"entered correctly, and 0 if not." +msgstr "" +"Überprüfen Sie die Richtigkeit des Passworts. Geben Sie 1 zurück, wenn " +"das Passwort korrekt eingegeben wurde, und 0, wenn nicht." + +#: ../3.1.9_password_lock.rst:173 +msgid "**For Python Language Users**" +msgstr "**Für Python-Sprachbenutzer**" + +#: ../3.1.9_password_lock.rst:175 +msgid "**Step 2:** Change directory." +msgstr "**Schritt 2:** Verzeichnis wechseln." + +#: ../3.1.9_password_lock.rst:185 +msgid "**Step 3:** Run." +msgstr "**Schritt 3:** Ausführen." + +#: ../3.1.9_password_lock.rst:195 + +msgid "" +"After the code runs, keypad is used to input password:1984. If the " +"\\\"CORRECT\\\" appears on LCD1602, there is no wrong with the password; " +"otherwise, \\\"WRONG KEY\\\" will appear." +msgstr "" +"Nachdem der Kode ausgeführt wurde, wird über die Tastatur das Kennwort " +"eingegeben: 1984. Wenn auf dem LCD1602 die Meldung \"RICHTIG\" angezeigt " +"wird, ist das Kennwort nicht falsch. Andernfalls wird \"FALSCHER " +"SCHLÜSSEL\" angezeigt." + +#: ../3.1.9_password_lock.rst:199 +msgid "**Code**" +msgstr "**Code**" + +#: ../3.1.9_password_lock.rst:203 + +msgid "" +"You can **Modify/Reset/Copy/Run/Stop** the code below. But before that, " +"you need to go to source code path like ``davinci-kit-for-raspberry-" +"pi/python``." +msgstr "" +"Sie können den folgenden Code **Ändern/Zurücksetzen/ " +"Kopieren/Ausführen/Stoppen**. Zuvor müssen Sie jedoch zu einem " +"Quellcodepfad wie ``davinci-kit-for-raspberry-pi/python`` gehen." + +#: ../3.1.9_password_lock.rst:323 +msgid "" +"Here, we define the length of the password LENS, the array keys that " +"store the matrix keyboard keys, and the array password that stores the " +"correct password." +msgstr "" +"Hier definieren wir die Länge des Passworts LENS, die Array-Tasten, in " +"denen die Matrix-Tastaturtasten gespeichert sind, und das Array-Passwort," +" in dem das richtige Passwort gespeichert ist." + +#: ../3.1.9_password_lock.rst:340 +msgid "" +"This class is the code that reads the values of the pressed keys. Refer " +"to :ref:`2.1.5 Keypad` of this document for more details." +msgstr "" +"Diese Klasse ist der Code, der die Werte der gedrückten Tasten liest. " +"Siehe :ref:`2.1.5 Keypad` dieses Dokuments für weitere Details." + +#: ../3.1.9_password_lock.rst:374 +msgid "Phenomenon Picture" +msgstr "Phänomen Bild" + diff --git a/docs/source/locale/de/LC_MESSAGES/3_extension.po b/docs/source/locale/de/LC_MESSAGES/3_extension.po new file mode 100644 index 0000000..fae1137 --- /dev/null +++ b/docs/source/locale/de/LC_MESSAGES/3_extension.po @@ -0,0 +1,23 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, SunFounder +# This file is distributed under the same license as the SunFounder Davinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Davinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-05-20 18:20+0800\n" +"PO-Revision-Date: 2021-05-27 10:22+0800\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" +"Last-Translator: \n" +"Language-Team: \n" +"X-Generator: Poedit 2.4.3\n" + +#: ../3_extension.rst:2 +msgid "3 Extension" +msgstr "3 Erweiterung" diff --git a/docs/source/locale/de/LC_MESSAGES/appendix.po b/docs/source/locale/de/LC_MESSAGES/appendix.po new file mode 100644 index 0000000..e59cb46 --- /dev/null +++ b/docs/source/locale/de/LC_MESSAGES/appendix.po @@ -0,0 +1,23 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, SunFounder +# This file is distributed under the same license as the SunFounder Davinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Davinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-05-20 18:20+0800\n" +"PO-Revision-Date: 2021-05-27 10:24+0800\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" +"Last-Translator: \n" +"Language-Team: \n" +"X-Generator: Poedit 2.4.3\n" + +#: ../appendix.rst:2 +msgid "Appendix" +msgstr "Anhang" diff --git a/docs/source/locale/de/LC_MESSAGES/appendix/appendix.po b/docs/source/locale/de/LC_MESSAGES/appendix/appendix.po new file mode 100644 index 0000000..58f7b7c --- /dev/null +++ b/docs/source/locale/de/LC_MESSAGES/appendix/appendix.po @@ -0,0 +1,23 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, sunfounder +# This file is distributed under the same license as the SunFounder Da Vinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Da Vinci Kit \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-05 15:52+0800\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../appendix/appendix.rst:2 +msgid "Appendix" +msgstr "Anhang" + diff --git a/docs/source/locale/de/LC_MESSAGES/appendix/i2c_configuration.po b/docs/source/locale/de/LC_MESSAGES/appendix/i2c_configuration.po new file mode 100644 index 0000000..276e5e5 --- /dev/null +++ b/docs/source/locale/de/LC_MESSAGES/appendix/i2c_configuration.po @@ -0,0 +1,82 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, sunfounder +# This file is distributed under the same license as the SunFounder Da Vinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Da Vinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-05 15:52+0800\n" +"PO-Revision-Date: 2021-08-09 14:31+0800\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" +"Last-Translator: \n" +"Language-Team: \n" +"Language: de\n" +"X-Generator: Poedit 3.0\n" + +#: ../appendix/i2c_configuration.rst:2 +msgid "I2C Configuration" +msgstr "I2C-Konfiguration" + +#: ../appendix/i2c_configuration.rst:4 +msgid "" +"**Step 1**: Enable the I2C port of your Raspberry Pi (If you have enabled it, " +"skip this; if you do not know whether you have done that or not, please " +"continue)." +msgstr "" +"**Schritt 1**: Aktivieren Sie den I2C-Port Ihres Raspberry Pi (Wenn Sie ihn " +"aktiviert haben, überspringen Sie diesen; wenn Sie nicht wissen, ob Sie das " +"getan haben oder nicht, fahren Sie bitte fort)." + +#: ../appendix/i2c_configuration.rst:13 +msgid "**3 Interfacing options**" +msgstr "**3 Schnittstellenoptionen**" + +#: ../appendix/i2c_configuration.rst:18 +msgid "**P5 I2C**" +msgstr "**P5 I2C**" + +#: ../appendix/i2c_configuration.rst:23 +msgid "**, then -> **" +msgstr "**, dann -> **" + +#: ../appendix/i2c_configuration.rst:28 +msgid "**Step 2:** Check whether the i2c modules are loaded and active." +msgstr "**Schritt 2:** Prüfen Sie, ob die i2c-Module geladen und aktiv sind." + +#: ../appendix/i2c_configuration.rst:35 +msgid "Then the following codes will appear (the number may be different)." +msgstr "" +"Dann erscheinen die folgenden Codes (die Nummer kann unterschiedlich sein)." + +#: ../appendix/i2c_configuration.rst:42 +msgid "**Step 3:** Install i2c-tools." +msgstr "**Schritt 3:** Installieren Sie i2c-tools." + +#: ../appendix/i2c_configuration.rst:49 +msgid "**Step 4:** Check the address of the I2C device." +msgstr "**Schritt 4:** Überprüfen Sie die Adresse des I2C-Geräts." + +#: ../appendix/i2c_configuration.rst:76 +msgid "" +"If there is an I2C device connected, the address of the device will be " +"displayed." +msgstr "" +"Wenn ein I2C-Gerät angeschlossen ist, wird die Adresse des Geräts angezeigt." + +#: ../appendix/i2c_configuration.rst:78 +msgid "**Step 5:**" +msgstr "**Schritt 5:**" + +#: ../appendix/i2c_configuration.rst:80 +msgid "**For C language users:** Install libi2c-dev." +msgstr "**Für Benutzer der Sprache C:** Installieren Sie libi2c-dev." + +#: ../appendix/i2c_configuration.rst:87 +msgid "**For Python users:** Install smbus for I2C." +msgstr "**Für Python-Benutzer:** Installieren Sie smbus für I2C." diff --git a/docs/source/locale/de/LC_MESSAGES/appendix/remote_desktop.po b/docs/source/locale/de/LC_MESSAGES/appendix/remote_desktop.po new file mode 100644 index 0000000..385697a --- /dev/null +++ b/docs/source/locale/de/LC_MESSAGES/appendix/remote_desktop.po @@ -0,0 +1,252 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, sunfounder +# This file is distributed under the same license as the SunFounder Da Vinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Da Vinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-05 15:52+0800\n" +"PO-Revision-Date: 2021-08-09 14:38+0800\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Last-Translator: \n" +"Language-Team: \n" +"Language: de\n" +"X-Generator: Poedit 3.0\n" + +#: ../appendix/remote_desktop.rst:2 +msgid "Remote Desktop" +msgstr "Remotedesktop" + +#: ../appendix/remote_desktop.rst:4 +msgid "There are two ways to control the desktop of the Raspberry Pi remotely:" +msgstr "" +"Es gibt zwei Möglichkeiten, den Desktop des Raspberry Pi aus der Ferne zu " +"steuern:" + +#: ../appendix/remote_desktop.rst:6 +msgid "**VNC** and **XRDP**, you can use any of them." +msgstr "**VNC** und **XRDP**, Sie können jeden von ihnen verwenden." + +#: ../appendix/remote_desktop.rst:9 +msgid "VNC" +msgstr "VNC" + +#: ../appendix/remote_desktop.rst:11 +msgid "You can use the function of remote desktop through VNC." +msgstr "Sie können die Funktion des Remote-Desktops über VNC verwenden." + +#: ../appendix/remote_desktop.rst:13 +msgid "**Enable VNC service**" +msgstr "**VNC-Dienst aktivieren**" + +#: ../appendix/remote_desktop.rst:15 +msgid "" +"The VNC service has been installed in the system. By default, VNC is " +"disabled. You need to enable it in config." +msgstr "" +"Der VNC-Dienst wurde im System installiert. VNC ist standardmäßig " +"deaktiviert. Sie müssen es in der Konfiguration aktivieren." + +#: ../appendix/remote_desktop.rst:18 ../appendix/remote_desktop.rst:54 +#: ../appendix/remote_desktop.rst:104 ../appendix/remote_desktop.rst:134 +msgid "**Step 1**" +msgstr "**Schritt 1**" + +#: ../appendix/remote_desktop.rst:20 +msgid "Input the following command:" +msgstr "Geben Sie den folgenden Befehl ein:" + +#: ../appendix/remote_desktop.rst:30 ../appendix/remote_desktop.rst:58 +#: ../appendix/remote_desktop.rst:108 ../appendix/remote_desktop.rst:141 +msgid "**Step 2**" +msgstr "**Schritt 2**" + +#: ../appendix/remote_desktop.rst:32 +msgid "" +"Choose **3** **Interfacing Options** by press the down arrow key on your " +"keyboard, then press the **Enter** key." +msgstr "" +"Wählen Sie **3** **Schnittstellenoptionen**, indem Sie die Abwärtspfeiltaste " +"auf Ihrer Tastatur drücken und dann die **Eingabetaste** drücken." + +#: ../appendix/remote_desktop.rst:38 ../appendix/remote_desktop.rst:65 +#: ../appendix/remote_desktop.rst:118 ../appendix/remote_desktop.rst:150 +msgid "**Step 3**" +msgstr "**Schritt 3**" + +#: ../appendix/remote_desktop.rst:40 +msgid "**P3 VNC**" +msgstr "**P3-VNC**" + +#: ../appendix/remote_desktop.rst:45 ../appendix/remote_desktop.rst:72 +#: ../appendix/remote_desktop.rst:127 ../appendix/remote_desktop.rst:159 +msgid "**Step 4**" +msgstr "**Schritt 4**" + +#: ../appendix/remote_desktop.rst:47 +msgid "Select **Yes -> OK -> Finish** to exit the configuration." +msgstr "Wählen Sie **Ja -> OK -> Fertig**, um die Konfiguration zu beenden." + +#: ../appendix/remote_desktop.rst:52 +msgid "**Login to VNC**" +msgstr "**Bei VNC anmelden**" + +#: ../appendix/remote_desktop.rst:56 +msgid "" +"You need to download and install the `VNC Viewer `_ on personal computer. After the installation is " +"done, open it." +msgstr "" +"Sie müssen den `VNC Viewer `_ herunterladen und auf Ihrem PC installieren. Nachdem die " +"Installation abgeschlossen ist, öffnen Sie es." + +#: ../appendix/remote_desktop.rst:60 +msgid "Then select \\\"**New connection**\\\"." +msgstr "Wählen Sie dann \\\"**Neue Verbindung**\\\"." + +#: ../appendix/remote_desktop.rst:67 +msgid "Input IP address of Raspberry Pi and any **Name**." +msgstr "" +"Geben Sie die IP-Adresse des Raspberry Pi und einen beliebigen **Namen** ein." + +#: ../appendix/remote_desktop.rst:74 +msgid "Double click the **connection** just created:" +msgstr "Doppelklicken Sie auf die soeben erstellte **Verbindung**:" + +#: ../appendix/remote_desktop.rst:79 +msgid "**Step 5**" +msgstr "**Schritt 5**" + +#: ../appendix/remote_desktop.rst:81 +msgid "Enter Username (**pi**) and Password (**raspberry** by default)." +msgstr "" +"Geben Sie den Benutzernamen (**pi**) und das Passwort (standardmäßig " +"**raspberry**) ein." + +#: ../appendix/remote_desktop.rst:86 +msgid "**Step 6**" +msgstr "**Schritt 6**" + +#: ../appendix/remote_desktop.rst:88 +msgid "Now you can see the desktop of the Raspberry Pi:" +msgstr "Nun sehen Sie den Desktop des Raspberry Pi:" + +#: ../appendix/remote_desktop.rst:93 +msgid "That's the end of the VNC part." +msgstr "Das ist das Ende des VNC-Teils." + +#: ../appendix/remote_desktop.rst:97 +msgid "XRDP" +msgstr "XRDP" + +#: ../appendix/remote_desktop.rst:99 +msgid "" +"Another method of remote desktop is XRDP, it provides a graphical login to " +"remote machines using RDP (Microsoft Remote Desktop Protocol)." +msgstr "" +"Eine andere Methode des Remote-Desktops ist XRDP. Sie bietet eine grafische " +"Anmeldung an Remote-Computern mithilfe von RDP (Microsoft Remote Desktop " +"Protocol)." + +#: ../appendix/remote_desktop.rst:102 +msgid "**Install XRDP**" +msgstr "**XRDP installieren**" + +#: ../appendix/remote_desktop.rst:106 +msgid "Login to Raspberry Pi by using SSH." +msgstr "Melden Sie sich mit SSH beim Raspberry Pi an." + +#: ../appendix/remote_desktop.rst:110 +msgid "Input the following instructions to install XRDP." +msgstr "Geben Sie die folgenden Anweisungen ein, um XRDP zu installieren." + +#: ../appendix/remote_desktop.rst:120 +msgid "Later, the installation starts." +msgstr "Später startet die Installation." + +#: ../appendix/remote_desktop.rst:122 +msgid "Enter \\\"Y\\\", press key \\\"Enter\\\" to confirm." +msgstr "" +"Geben Sie \\\"Y\\\" ein, drücken Sie zur Bestätigung die Taste \\\"Enter\\\"." + +#: ../appendix/remote_desktop.rst:129 +msgid "" +"Finished the installation, you should login to your Raspberry Pi by using " +"Windows remote desktop applications." +msgstr "" +"Nachdem Sie die Installation abgeschlossen haben, sollten Sie sich mit " +"Windows-Remote-Desktop-Anwendungen bei Ihrem Raspberry Pi anmelden." + +#: ../appendix/remote_desktop.rst:132 +msgid "**Login to XRDP**" +msgstr "**Bei XRDP anmelden**" + +#: ../appendix/remote_desktop.rst:136 +msgid "" +"If you are a Windows user, you can use the Remote Desktop feature that comes " +"with Windows. If you are a Mac user, you can download and use Microsoft " +"Remote Desktop from the APP Store, and there is not much difference between " +"the two. The next example is Windows remote desktop." +msgstr "" +"Wenn Sie ein Windows-Benutzer sind, können Sie die mit Windows gelieferte " +"Remotedesktopfunktion verwenden. Wenn Sie ein Mac-Benutzer sind, können Sie " +"Microsoft Remote Desktop aus dem APP Store herunterladen und verwenden, und " +"es gibt keinen großen Unterschied zwischen den beiden. Das nächste Beispiel " +"ist der Windows-Remotedesktop." + +#: ../appendix/remote_desktop.rst:143 +msgid "" +"Type in \\\"**mstsc**\\\" in Run (WIN+R) to open the Remote Desktop " +"Connection, and input the IP address of Raspberry Pi, then click on \\" +"\"Connect\\\"." +msgstr "" +"Geben Sie \\\"**mstsc**\\\" in Run (WIN+R) ein, um die " +"Remotedesktopverbindung zu öffnen, geben Sie die IP-Adresse des Raspberry Pi " +"ein und klicken Sie dann auf \\\"Connect\\\"." + +#: ../appendix/remote_desktop.rst:152 +msgid "" +"Then the xrdp login page pops out. Please type in your username and " +"password. After that, please click \\\"OK\\\". At the first time you log in, " +"your username is \\\"pi\\\" and the password is \\\"raspberry\\\"." +msgstr "" +"Dann erscheint die xrdp-Anmeldeseite. Bitte geben Sie Ihren Benutzernamen " +"und Ihr Passwort ein. Danach klicken Sie bitte auf \\\"OK\\\". Bei der " +"ersten Anmeldung lautet Ihr Benutzername \\\"pi\\\" und das Passwort \\" +"\"raspberry\\\"." + +#: ../appendix/remote_desktop.rst:161 +msgid "Here, you successfully login to RPi by using the remote desktop." +msgstr "Hier melden Sie sich erfolgreich über den Remote-Desktop bei RPi an." + +#: ../appendix/remote_desktop.rst:166 +msgid "**Copyright Notice**" +msgstr "**Urheberrechtshinweis**" + +#: ../appendix/remote_desktop.rst:168 +msgid "" +"All contents including but not limited to texts, images, and code in this " +"manual are owned by the SunFounder Company. You should only use it for " +"personal study, investigation, enjoyment, or other non-commercial or " +"nonprofit purposes, under the related regulations and copyrights laws, " +"without infringing the legal rights of the author and relevant right " +"holders. For any individual or organization that uses these for commercial " +"profit without permission, the Company reserves the right to take legal " +"action." +msgstr "" +"Alle Inhalte, einschließlich, aber nicht beschränkt auf Texte, Bilder und " +"Code in diesem Handbuch, sind Eigentum der SunFounder Company. Sie sollten " +"es nur für persönliche Studien, Recherchen, Genuss oder andere nicht-" +"kommerzielle oder gemeinnützige Zwecke gemäß den entsprechenden Vorschriften " +"und Urheberrechtsgesetzen verwenden, ohne die gesetzlichen Rechte des Autors " +"und der entsprechenden Rechteinhaber zu verletzen. Für Einzelpersonen oder " +"Organisationen, die diese ohne Erlaubnis zu kommerziellen Zwecken verwenden, " +"behält sich das Unternehmen das Recht vor, rechtliche Schritte einzuleiten." diff --git a/docs/source/locale/de/LC_MESSAGES/appendix/spi_configuration.po b/docs/source/locale/de/LC_MESSAGES/appendix/spi_configuration.po new file mode 100644 index 0000000..ef77949 --- /dev/null +++ b/docs/source/locale/de/LC_MESSAGES/appendix/spi_configuration.po @@ -0,0 +1,70 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, sunfounder +# This file is distributed under the same license as the SunFounder Da Vinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Da Vinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-06 10:37+0800\n" +"PO-Revision-Date: 2021-08-09 14:40+0800\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Last-Translator: \n" +"Language-Team: \n" +"Language: de\n" +"X-Generator: Poedit 3.0\n" + +#: ../appendix/spi_configuration.rst:2 +msgid "SPI Configuration" +msgstr "SPI-Konfiguration" + +#: ../appendix/spi_configuration.rst:5 +msgid "" +"**Step 1**: Enable the SPI port of your Raspberry Pi (If you have " +"enabled it, skip this; if you do not know whether you have done that or " +"not, please continue)." +msgstr "" +"**Schritt 1**: Aktivieren Sie den SPI-Port Ihres Raspberry Pi (Wenn Sie " +"ihn aktiviert haben, überspringen Sie diesen; wenn Sie nicht wissen, ob " +"Sie das getan haben oder nicht, fahren Sie bitte fort)." + +#: ../appendix/spi_configuration.rst:14 +msgid "**3 Interfacing options**" +msgstr "**3 Schnittstellenoptionen**" + +#: ../appendix/spi_configuration.rst:19 +msgid "**P4 SPI**" +msgstr "**P4 SPI**" + +#: ../appendix/spi_configuration.rst:24 +msgid "" +"****, then click **** and ****. Now you can use the " +"``sudo reboot`` command to reboot the Raspberry Pi." +msgstr "" +"****, dann auf **** und **** klicken. Jetzt können Sie " +"den Raspberry Pi mit dem Befehl ``sudo reboot`` neu starten." + +#: ../appendix/spi_configuration.rst:30 +msgid "**Step 2:** Check that the spi modules are loaded and active." +msgstr "" +"**Schritt 2:** Überprüfen Sie, ob die Spi-Module geladen und aktiv sind." + +#: ../appendix/spi_configuration.rst:37 +msgid "Then the following codes will appear (the number may be different)." +msgstr "Dann erscheinen die folgenden Codes (die Nummer kann abweichen)." + +#: ../appendix/spi_configuration.rst:44 +msgid "**Step 3:** Install Python module SPI-Py." +msgstr "**Schritt 3:** Installieren Sie das Python-Modul SPI-Py." + +#: ../appendix/spi_configuration.rst:55 +msgid "This step is for python users, if you use C language, please skip." +msgstr "" +"Dieser Schritt ist für Python-Benutzer, wenn Sie die Sprache C " +"verwenden, überspringen Sie bitte." diff --git a/docs/source/locale/de/LC_MESSAGES/component_list.po b/docs/source/locale/de/LC_MESSAGES/component_list.po new file mode 100644 index 0000000..6cd8e36 --- /dev/null +++ b/docs/source/locale/de/LC_MESSAGES/component_list.po @@ -0,0 +1,33 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, SunFounder +# This file is distributed under the same license as the SunFounder Davinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Davinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-05-20 18:20+0800\n" +"PO-Revision-Date: 2021-05-27 10:25+0800\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" +"Last-Translator: \n" +"Language-Team: \n" +"X-Generator: Poedit 2.4.3\n" + +#: ../component_list.rst:2 +msgid "Component List" +msgstr "Komponentenliste" + +#: ../component_list.rst:4 +msgid "" +"After opening the package, please check whether the quantity of " +"components is compliance with product description and whether all " +"components are in good condition." +msgstr "" +"Überprüfen Sie bitte nach dem Öffnen der Verpackung, ob " +"Komponentsanzahl der Produktbeschreibung entspricht und ob alle " +"Komponenten in gutem Zustand sind." diff --git a/docs/source/locale/de/LC_MESSAGES/download_the_code.po b/docs/source/locale/de/LC_MESSAGES/download_the_code.po new file mode 100644 index 0000000..01a41b9 --- /dev/null +++ b/docs/source/locale/de/LC_MESSAGES/download_the_code.po @@ -0,0 +1,67 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, SunFounder +# This file is distributed under the same license as the SunFounder Davinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Davinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-19 18:22+0800\n" +"PO-Revision-Date: 2021-05-27 10:31+0800\n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../download_the_code.rst:2 +msgid "Download the Code" +msgstr "Laden Sie die Kode herunter" + +#: ../download_the_code.rst:4 +msgid "" +"Before you download the code, please note that the example code is " +"**ONLY** test on Raspberry Pi OS. We provide two methods for download:" +msgstr "" +"Beachten Sie vor dem Herunterladen des Codes, dass der Beispielcode " +"**NUR** unter Raspberry Pi OS getestet wird. Wir bieten zwei Methoden zum" +" Download an:" + +#: ../download_the_code.rst:7 +msgid "**Method 1: Use git clone (Recommended)**" +msgstr "**Methode 1: git clon verwenden (empfohlen)**" + +#: ../download_the_code.rst:9 +msgid "Log into Raspberry Pi and then change directory to ``/home/pi``." +msgstr "" +"Melden Sie sich bei Raspberry Pi an und wechseln Sie dann das Verzeichnis" +" in ``/home/pi``." + +#: ../download_the_code.rst:22 +msgid "" +"cd to change to the intended directory from the current path. Informally," +" here is to go to the path ``/home/pi/``." +msgstr "" +"cd, um vom aktuellen Pfad in das beabsichtigte Verzeichnis zu wechseln. " +"Informell geht es hier zum Pfad ``/home/pi/``." + +#: ../download_the_code.rst:24 +msgid "Clone the repository from GitHub." +msgstr "Klonen Sie das Repository von GitHub." + +#: ../download_the_code.rst:34 +msgid "**Method 2: Download the code.**" +msgstr "**Methode 2: Laden Sie den Kode herunter.**" + +#: ../download_the_code.rst:36 + +msgid "" +"Download the source code from github: https://github.com/sunfounder" +"/davinci-kit-for-raspberry-pi." +msgstr "" +"Laden Sie den Quellcode von github herunter: " +"https://github.com/sunfounder/davinci-kit-for-raspberry-pi." + diff --git a/docs/source/locale/de/LC_MESSAGES/faq.po b/docs/source/locale/de/LC_MESSAGES/faq.po new file mode 100644 index 0000000..dd3ccc1 --- /dev/null +++ b/docs/source/locale/de/LC_MESSAGES/faq.po @@ -0,0 +1,49 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, sunfounder +# This file is distributed under the same license as the SunFounder Da Vinci +# Kit package. +# FIRST AUTHOR , 2021. +# + +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Da Vinci Kit \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-11 18:08+0800\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../faq.rst:2 +msgid "FAQ" +msgstr "FAQ" + +#: ../faq.rst:4 +msgid "C code is not working?" +msgstr "C-Code funktioniert nicht?" + +#: ../faq.rst:7 +msgid "Check your wiring for problems." +msgstr "Überprüfen Sie Ihre Verkabelung auf Probleme." + +#: ../faq.rst:8 +msgid "Check if the code is reporting errors." +msgstr "Überprüfen Sie, ob der Code Fehler meldet." + +#: ../faq.rst:9 +msgid "Has the code been compiled before running." +msgstr "Wurde der Code vor der Ausführung kompiliert." + +#: ../faq.rst:10 +msgid "" +"If all the above 3 conditions are OK, it may be that your wiringPi " +"version (2.50) is not compatible with your Raspberry Pi 4B and above, " +"refer to :ref:`WiringPi` to manually upgrade it to version 2.52." +msgstr "Wenn alle oben genannten 3 Bedingungen in Ordnung sind, " +"kann es sein, dass Ihre wiringPi-Version (2.50) nicht mit Ihrem Raspberry Pi " +"4B und höher kompatibel ist, siehe :ref:`WiringPi`, um sie manuell auf Version 2.52 zu aktualisieren." + diff --git a/docs/source/locale/de/LC_MESSAGES/gpio_extension_board.po b/docs/source/locale/de/LC_MESSAGES/gpio_extension_board.po new file mode 100644 index 0000000..4b7b79e --- /dev/null +++ b/docs/source/locale/de/LC_MESSAGES/gpio_extension_board.po @@ -0,0 +1,94 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, SunFounder +# This file is distributed under the same license as the SunFounder Davinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Davinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-05-20 18:20+0800\n" +"PO-Revision-Date: 2021-05-27 10:34+0800\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" +"Last-Translator: \n" +"Language-Team: \n" +"X-Generator: Poedit 2.4.3\n" + +#: ../gpio_extension_board.rst:2 +msgid "GPIO Extension Board" +msgstr "GPIO-Erweiterungskarte" + +#: ../gpio_extension_board.rst:4 +msgid "" +"Before starting to learn the commands, you first need to know more about " +"the pins of the Raspberry Pi, which is key to the subsequent study." +msgstr "" +"Vor dem Erlernen der Befehle, müssen Sie zunächst mehr über die Pins von " +"Raspberry Pi wissen, der für die nachfolgende Studie wichtige Rolle " +"spielt." + +#: ../gpio_extension_board.rst:7 +msgid "" +"We can easily lead out pins of the Raspberry Pi to breadboard by GPIO " +"Extension Board to avoid GPIO damage caused by frequent plugging in or " +"out. This is our 40-pin GPIO Extension Board and GPIO cable for " +"Raspberry Pi model B+, 2 model B and 3, 4 model B." +msgstr "" +"Wir können die Pins Raspberry Pi leicht über das GPIO Erweiterungskarte " +"zum Steckbrett führen, um GPIO-Schäden aus häufiges Ein- oder Ausstecken " +"zu vermeiden. Dies ist unser 40-pin GPIO-Erweiterungskarte und GPIO-" +"Kabel für Raspberry Pi Modell B +, 2 Modell B und 3, 4 Modell B." + +#: ../gpio_extension_board.rst:15 +msgid "**Pin Number**" +msgstr "**Pin Nummer**" + +#: ../gpio_extension_board.rst:17 +msgid "" +"The pins of Raspberry Pi have three kinds of ways to name and they are " +"wiringPi, BCM and Board." +msgstr "" +"Die Pins von Raspberry Pi können auf drei Arten benannt werden: " +"WiringPi, BCM und Board." + +#: ../gpio_extension_board.rst:19 +msgid "" +"Among these naming methods, 40-pin GPIO Extension board uses the naming " +"method, BCM. But for some special pins, such as I2C port and SPI port, " +"they use the Name that comes with themselves." +msgstr "" +"Unter diesen Benennungsmethoden verwendet die 40-pin GPIO-" +"Erweiterungskarte die Benennungsmethode BCM. Für einige spezielle Pins " +"wie den I2C-Port und den SPI-Port verwenden sie jedoch den Namen, der " +"mit ihnen geliefert wird." + +#: ../gpio_extension_board.rst:21 +msgid "" +"The following table shows us the naming methods of WiringPi, Board and " +"the intrinsic Name of each pin on GPIO Extension board. For example, for " +"the GPIO17, the Board naming method of it is 11, the wiringPi naming " +"method is 0, and the intrinsic naming method of it is GPIO0." +msgstr "" +"Die folgende Tabelle zeigt die Benennungsmethoden von WiringPi, Karte " +"und den systeminternen Name jedes Pins auf der GPIO-Erweiterungskarte. " +"Beispielsweise für GPIO17 die Karte ist Benennungsmethode 11, die " +"wiringPi-Benennungsmethode 0 und die intrinsische Benennungsmethode " +"GPIO0." + +#: ../gpio_extension_board.rst:25 +msgid "1)In C Language, what is used is the naming method WiringPi." +msgstr "" +"1) In der Sprache C wird die Benennungsmethode WiringPi verwendet." + +#: ../gpio_extension_board.rst:27 +msgid "" +"2)In Python Language, the applied naming methods are Board and BCM, and " +"the function GPIO.setmode() is used to set them." +msgstr "" +"2) In Python Language werden Karte und BCM als Benennungsmethoden " +"verwendet, und die Funktion GPIO.setmode () wird verwendet, um sie " +"einzustellen." diff --git a/docs/source/locale/de/LC_MESSAGES/i2c_configuration.po b/docs/source/locale/de/LC_MESSAGES/i2c_configuration.po new file mode 100644 index 0000000..f8865f4 --- /dev/null +++ b/docs/source/locale/de/LC_MESSAGES/i2c_configuration.po @@ -0,0 +1,80 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, SunFounder +# This file is distributed under the same license as the SunFounder Davinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Davinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-04 15:50+0800\n" +"PO-Revision-Date: 2021-05-27 10:39+0800\n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../i2c_configuration.rst:2 +msgid "I2C Configuration" +msgstr "3.2.1 I2C-Konfiguration" + +#: ../i2c_configuration.rst:4 +msgid "" +"**Step 1**: Enable the I2C port of your Raspberry Pi (If you have enabled" +" it, skip this; if you do not know whether you have done that or not, " +"please continue)." +msgstr "" +"**Schritt 1:** Aktivieren Sie den I2C-Port Ihres Raspberry Pi (Wenn Sie " +"ihn aktiviert haben, überspringen Sie diesen; wenn Sie nicht wissen, ob " +"Sie dies getan haben oder nicht, fahren Sie bitte fort)." + +#: ../i2c_configuration.rst:16 +msgid "**3 Interfacing options**" +msgstr "**3 Schnittstellenoptionen**" + +#: ../i2c_configuration.rst:21 +msgid "**P5 I2C**" +msgstr "**P5 I2C**" + +#: ../i2c_configuration.rst:26 +msgid "**, then -> **" +msgstr "**, dann ->**" + +#: ../i2c_configuration.rst:31 +msgid "**Step 2:** Check whether the i2c modules are loaded and active." +msgstr "**Schritt 2:** Überprüfen Sie, ob die i2c-Module geladen und aktiv sind." + +#: ../i2c_configuration.rst:41 +msgid "Then the following codes will appear (the number may be different)." +msgstr "Dann erscheinen die folgenden Codes (die Nummer kann abweichen)." + +#: ../i2c_configuration.rst:48 +msgid "**Step 3:** Install i2c-tools." +msgstr "**Schritt 3:** Installieren Sie i2c-tools." + +#: ../i2c_configuration.rst:58 +msgid "**Step 4:** Check the address of the I2C device." +msgstr "**Schritt 4:** Überprüfen Sie die Adresse des I2C-Geräts." + +#: ../i2c_configuration.rst:91 +msgid "" +"If there is an I2C device connected, the address of the device will be " +"displayed." +msgstr "" + +#: ../i2c_configuration.rst:93 +msgid "**Step 5:**" +msgstr "**Schritt 5:**" + +#: ../i2c_configuration.rst:95 +msgid "**For C language users:** Install libi2c-dev." +msgstr "**Für Benutzer in C-Sprache:** Installieren Sie libi2c-dev." + +#: ../i2c_configuration.rst:105 +msgid "**For Python users:** Install smbus for I2C." +msgstr "**Für Python-Benutzer:** Installieren Sie smbus für I2C." + + diff --git a/docs/source/locale/de/LC_MESSAGES/index.po b/docs/source/locale/de/LC_MESSAGES/index.po new file mode 100644 index 0000000..678d500 --- /dev/null +++ b/docs/source/locale/de/LC_MESSAGES/index.po @@ -0,0 +1,85 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, SunFounder +# This file is distributed under the same license as the SunFounder Davinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Davinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-04 15:50+0800\n" +"PO-Revision-Date: 2021-05-27 10:42+0800\n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../index.rst:3 +msgid "SunFounder Da Vinci Kit for Raspberry Pi" +msgstr "SunFounder Da Vinci Kit for Raspberry Pi" + +#: ../index.rst:6 +msgid "About the Da Vinci Kit" +msgstr "Über das Da Vinci Kit" + +#: ../index.rst:8 +msgid "" +"This Da Vinci kit applies to the Raspberry Pi 4 Model B, 3 Model A+, 3 " +"Model B+, 3 Model B, 2 Model B, 1 Model B+, 1 Model A+, zero W and zero. " +"It includes various components and chips that can help to create various " +"interesting phenomena which you can get via some operation with the " +"guidance of experiment instructions. In this process, you can learn some " +"basic knowledge about programming. Also you can explore more application " +"by yourself. Now go for it!" +msgstr "" +"Dieses Da Vinci-Kit gilt für den Raspberry Pi 4 Modell B, 3 Modell A +, 3" +" Modell B +, 3 Modell B, 2 Modell B, 1 Modell B +, 1 Modell A +, zero W " +"and zero. Es enthält verschiedene Komponenten und Chips, die dazu " +"beitragen können, verschiedene interessante Phänomene zu erzeugen, die " +"Sie durch eiige Operationen unter Anleitung von Versuchsanweisungen " +"erhalten können. In diesem Prozess können Sie einige Grundkenntnisse über" +" Programmieren erlernen. Sie können auch mehrere Anwendungen selbst " +"erkunden. Jetzt mach es!" + +#: ../index.rst:16 +msgid "" +"If you want to learn another projects which we don't have, please feel " +"free to send Email and we will update to our online tutorials as soon as " +"possible, any suggestions are welcomed." +msgstr "" +"Wenn Sie andere Projekte kennenlernen möchten, die wir nicht haben, " +"senden Sie bitte eine E-Mail und wir werden so schnell wie möglich auf unsere Online-Tutorials aktualisieren. " +"Vorschläge sind willkommen." + +#: ../index.rst:18 +msgid "Here is the Email: cs@sunfounder.com." +msgstr "Hier ist die E-Mail: cs@sunfounder.com." + +#: ../index.rst:42 +msgid "Copyright Notice" +msgstr "Urheberrechtshinweis" + +#: ../index.rst:44 +msgid "" +"All contents including but not limited to texts, images, and code in this" +" manual are owned by the SunFounder Company. You should only use it for " +"personal study,investigation, enjoyment, or other non-commercial or " +"nonprofit purposes, under therelated regulations and copyrights laws, " +"without infringing the legal rights of the author and relevant right " +"holders. For any individual or organization that uses these for " +"commercial profit without permission, the Company reserves the right to " +"take legal action." +msgstr "" +"Alle Inhalte, einschließlich, aber nicht beschränkt auf Texte, Bilder und" +" Kode in diesem Handbuch, sind Eigentum der SunFounder Unternehmen. Sie " +"sollten es nur für persönliche Studien, Nachforschungen, Genüsse oder " +"andere nichtkommerzielle oder gemeinnützige Zwecke gemäß den " +"entsprechenden Bestimmungen und Urheberrechtsgesetzen verwenden, ohne die" +" gesetzlichen Rechte des Autors und der relevanten Rechteinhaber zu " +"verletzen. Für jede Person oder Organisation, die diese ohne Erlaubnis " +"für kommerzielle Zwecke nutzt, behält sich das Unternehmen das Recht vor," +" rechtliche Schritte einzuleiten." + diff --git a/docs/source/locale/de/LC_MESSAGES/installing_the_os.po b/docs/source/locale/de/LC_MESSAGES/installing_the_os.po new file mode 100644 index 0000000..e0eb232 --- /dev/null +++ b/docs/source/locale/de/LC_MESSAGES/installing_the_os.po @@ -0,0 +1,205 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, SunFounder +# This file is distributed under the same license as the SunFounder Davinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Davinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-05-20 18:20+0800\n" +"PO-Revision-Date: 2021-06-01 11:12+0800\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" +"Last-Translator: \n" +"Language-Team: \n" +"Language: os\n" +"X-Generator: Poedit 2.4.3\n" + +#: ../installing_the_os.rst:2 +msgid "Installing the OS" +msgstr "Installieren des Betriebssystems" + +#: ../installing_the_os.rst:4 +msgid "**Required Components**" +msgstr "**Erforderliche Komponenten**" + +#: ../installing_the_os.rst:7 +msgid "Any Raspberry Pi" +msgstr "Jeglicher Raspberry -Pi" + +#: ../installing_the_os.rst:7 +msgid "1 \\* Personal Computer" +msgstr "1 \\* Personal Computer" + +#: ../installing_the_os.rst:8 +msgid "1 \\* Micro SD card" +msgstr "1 \\* Micro SD-Karte" + +#: ../installing_the_os.rst:11 +msgid "**Step 1**" +msgstr "**Schritt 1**" + +#: ../installing_the_os.rst:13 +msgid "" +"Raspberry Pi have developed a graphical SD card writing tool that works on " +"Mac OS, Ubuntu 18.04 and Windows, and is the easiest option for most users " +"as it will download the image and install it automatically to the SD card." +msgstr "" +"Raspberry Pi haben ein grafisches SD-Karten-Schreibtool entwickelt, das auf " +"Mac OS, Ubuntu 18.04 und Windows funktioniert und ist die einfachste Option " +"für die meisten Benutzer, da es das Bild herunterladen und automatisch auf " +"der SD-Karte installieren wird." + +#: ../installing_the_os.rst:18 +msgid "" +"Visit the download page: https://www.raspberrypi.org/software/. Click on the " +"link for the Raspberry Pi Imager that matches your operating system, when " +"the download finishes, click it to launch the installer." +msgstr "" +"Besuchen Sie die Download-Seite: https://www.raspberrypi.org/software/. " +"Klicken Sie auf den Link für den Raspberry Pi Imager, der Ihrem " +"Betriebssystem entspricht. Wenn der Download abgeschlossen ist, klicken Sie " +"darauf und das Installationsprogramm startet." + +#: ../installing_the_os.rst:26 +msgid "**Step 2**" +msgstr "**Schritt 2**" + +#: ../installing_the_os.rst:28 +msgid "" +"When you launch the installer, your operating system may try to block you " +"from running it. For example, on Windows I receive the following message:" +msgstr "" +"Wenn Sie das Installationsprogramm starten, wird Ihr Betriebssystem " +"möglicherweise versuchen, die Ausführung zu verhindern. Unter Windows " +"erhalte ich beispielsweise die folgende Meldung:" + +#: ../installing_the_os.rst:32 +msgid "" +"If this pops up, click on **More info** and then **Run anyway**, then follow " +"the instructions to install the Raspberry Pi Imager." +msgstr "" +"Wenn dies angezeigt wird, klicken Sie auf **Weitere Informationen** und **um " +"jeden fall ausführen**, befolgen Sie dann die Anweisungen, um den Raspberry " +"Pi Imager zu installieren." + +#: ../installing_the_os.rst:38 +msgid "**Step 3**" +msgstr "**Schritt 3**" + +#: ../installing_the_os.rst:40 +msgid "Insert your SD card into the computer or laptop SD card slot." +msgstr "" +"Legen Sie Ihre SD-Karte in den SD-Kartensteckplatz des Computers oder " +"Laptops ein." + +#: ../installing_the_os.rst:42 +msgid "**Step 4**" +msgstr "**Schritt 4**" + +#: ../installing_the_os.rst:44 +msgid "" +"In the Raspberry Pi Imager, select the OS that you want to install and the " +"SD card you would like to install it on." +msgstr "" +"Wählen Sie im Raspberry Pi Imager das Betriebssystem aus, das Sie " +"installieren möchten, und die SD-Karte, auf der Sie es installieren möchten." + +#: ../installing_the_os.rst:52 +msgid "You will need to be connected to the internet the first time." +msgstr "Sie müssen zum ersten Mal mit dem Internet verbunden sein." + +#: ../installing_the_os.rst:54 +msgid "" +"That OS will then be stored for future offline use(lastdownload.cache, C:/" +"Users/yourname/AppData/Local/Raspberry Pi/Imager/cache). So the next time " +"you open the software, it will have the display \"Released: date, cached on " +"your computer\"." +msgstr "" +"Dieses Betriebssystem wird dann für die zukünftige Offline-Nutzung gespeichert " +"(lastdownload.cache, C:/Users/yourname/AppData/Local/Raspberry Pi/Imager/cache)." +"Wenn Sie die Software das nächste Mal öffnen, wird die Anzeige \"Freigegeben: Datum, auf " +"Ihrem Computer zwischengespeichert\" angezeigt." + +#: ../installing_the_os.rst:56 +msgid "**Step 5**" +msgstr "**Schritt 5**" + +#: ../installing_the_os.rst:58 +msgid "Select the SD card you are using." +msgstr "Wählen Sie die momentan verwendete SD-Karte aus." + +#: ../installing_the_os.rst:63 +msgid "**Step 6**" +msgstr "**Schritt 6**" + +#: ../installing_the_os.rst:65 +msgid "" +"Press **Ctrl+Shift+X** to open the **Advanced options** page to enable SSH " +"and configure wifi, these 2 items must be set, the others depend on your " +"choice . You can choose to always use this image customization options." +msgstr "" +"Drücken Sie **Ctrl+Shift+X**, um die Seite **Erweiterte Optionen** zu " +"öffnen, um SSH zu aktivieren und WLAN zu konfigurieren. Diese beiden " +"Elemente müssen festgelegt werden und die anderen hängen von Ihrer Wahl ab. " +"Sie können diese Bildanpassungsoptionen immer verwenden." + +#: ../installing_the_os.rst:73 +msgid "Then scroll down to complete the wifi configuration and click **SAVE**." +msgstr "" +"Scrollen Sie dann nach unten, um die WLAN-Konfiguration abzuschließen, und " +"klicken Sie auf **SPEICHERN**." + +#: ../installing_the_os.rst:77 +msgid "" +"**wifi country** should be set the two-letter `ISO/IEC alpha2 code `__ for the country in " +"which you are using your Raspberry Pi, please refer to the following link: " +"https://en.wikipedia.org/wiki/" +"ISO_3166-1_alpha-2#Officially_assigned_code_elements" +msgstr "" +"**Wlan-Land** sollte der zweistellige `ISO/IEC alpha2 kode `__ " +"eingestellt werden, für das Land, in dem Sie Ihren Raspberry Pi verwenden, " +"lesen Sie bitte den folgenden Link: https://en.wikipedia.org/wiki/" +"ISO_3166-1_alpha-2#Officially_assigned_code_elements" + +#: ../installing_the_os.rst:85 +msgid "**Step 7**" +msgstr "**Schritt 7**" + +#: ../installing_the_os.rst:87 +msgid "Click the **WRITE** button." +msgstr "Klicken Sie auf die Schaltfläche **SCHREIBEN**." + +#: ../installing_the_os.rst:92 +msgid "**Step 8**" +msgstr "**Schritt 8**" + +#: ../installing_the_os.rst:94 +msgid "" +"If your SD card currently has any files on it, you may wish to back up these " +"files first to prevent you from permanently losing them. If there is no file " +"to be backed up, click **Yes**." +msgstr "" +"Wenn auf Ihrer SD-Karte derzeit Dateien gespeichert sind, bitte speichern " +"Sie diese möglicherweise zuerst, um zu verhindern, dass Sie sie dauerhaft " +"verlieren. Wenn keine zu sichernde Datei vorhanden ist, klicken Sie auf " +"**Ja**." + +#: ../installing_the_os.rst:101 +msgid "**Step 9**" +msgstr "**Schritt 9**" + +#: ../installing_the_os.rst:103 +msgid "" +"After waiting for a period of time, the following window will appear to " +"represent the completion of writing." +msgstr "" +"Nach einer gewissen Wartezeit wird das folgende Fenster angezeigt und stellt " +"den Abschluss des Schreibens dar." diff --git a/docs/source/locale/de/LC_MESSAGES/introduction.po b/docs/source/locale/de/LC_MESSAGES/introduction.po new file mode 100644 index 0000000..8c06119 --- /dev/null +++ b/docs/source/locale/de/LC_MESSAGES/introduction.po @@ -0,0 +1,81 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, SunFounder +# This file is distributed under the same license as the SunFounder Davinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Davinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-05-20 18:20+0800\n" +"PO-Revision-Date: 2021-05-27 10:56+0800\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" +"Last-Translator: \n" +"Language-Team: \n" +"X-Generator: Poedit 2.4.3\n" + +#: ../introduction.rst:2 +msgid "Introduction" +msgstr "Einführung" + +#: ../introduction.rst:4 +msgid "" +"Da Vinci Kit is a basic kit suitable to intelligent beginners who have " +"project schedule. It contains 26 commonly used input and output " +"components and modules and a number of basic electronic devices (such as " +"resistors, capacitors) which can provide powerful assistance in your " +"programming learning." +msgstr "" +"Da Vinci Kit ist ein Basis-Kit für intelligente Anfänger mit " +"Projektszeitplan. Es enthält 26 häufig verwendete Eingangs- und " +"Ausgangskomponenten und -module sowie eine Reihe grundlegender " +"elektronischer Geräte (wie Widerstände, Kondensatoren), die Sie beim " +"Programmierenlernen unterstützen können." + +#: ../introduction.rst:10 +msgid "" +"In the light of the kit, you can learn some basic knowledge on Raspberry " +"Pi, including the installation method of Raspberry Pi, knowledge of Bash " +"shell and GPIO. Having understood these knowledge, you can start " +"programming." +msgstr "" +"Nach dem Kit können Sie einige Grundkenntnisse über Raspberry Pi " +"erlernen, einschließlich Installationsmethode von Raspberry Pi, " +"Kenntnisse über Bash Shell und GPIO. Nachdem Sie dieses Wissen " +"verstanden haben, können Sie mit der Programmierung beginnen." + +#: ../introduction.rst:15 +msgid "" +"If you have no knowledge background of hardware, this document about the " +"Kit provides you with 30 lessons for reference and learning, including " +"26 basic I/o lessons and 4 simple practical examples. It should be noted " +"that the arrangement of these courses is not based on the degree of " +"difficulty, but on the functions in practice. You can find corresponding " +"courses in accordance with your needs. In other words, even if you " +"haven't finished reading the entire course or mastered the use of the " +"components mentioned, this document will play an important role in " +"guiding you to complete practical projects in the future." +msgstr "" +"Wenn Sie keinen Hardware Hintergrund Kenntnisse haben, bietet Ihnen " +"dieses Kit Dokument 30 Lektionen zum Nachführen und Lernen, " +"einschließlich 26 grundlegende I/o-Lektionen und 4 einfache praktische " +"Beispiele. Beachten Sie bitte darauf, die Anordnung dieser Kurse basiert " +"nicht auf Schwierigkeitsgrad, sondern Funktionen in der Praxis. " +"Entsprechende Kurse finden Sie nach Ihren Bedürfnissen. Mit anderen " +"Worten, selbst wenn Sie noch keinen vollständigen Kurs absolviert oder " +"die Verwendung dieser Komponenten gemeistert haben,wird dieses Dokument " +"eine wichtige Rolle spielen, um Sie bei der Durchführung praktischer " +"Projekte in der Zukunft zu unterstützen." + +#: ../introduction.rst:25 +msgid "" +"We are looking forward to your projects and hope that you can share your " +"achievements or creation on our forum while reading this document." +msgstr "" +"Wir freuen uns auf Ihre Projekte und hoffen, dass Sie Ihre Erfolge oder " +"Kreationen in unserem Forum teilen können, während Sie dieses Dokument " +"lesen." diff --git a/docs/source/locale/de/LC_MESSAGES/iot/4_iot_projects.po b/docs/source/locale/de/LC_MESSAGES/iot/4_iot_projects.po new file mode 100644 index 0000000..977d502 --- /dev/null +++ b/docs/source/locale/de/LC_MESSAGES/iot/4_iot_projects.po @@ -0,0 +1,55 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, sunfounder +# This file is distributed under the same license as the SunFounder Da Vinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Da Vinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-04 15:50+0800\n" +"PO-Revision-Date: 2021-08-04 18:26+0800\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Last-Translator: \n" +"Language-Team: \n" +"Language: de\n" +"X-Generator: Poedit 3.0\n" + +#: ../iot/4_iot_projects.rst:2 +msgid "4 IOT" +msgstr "4 IOT" + +#: ../iot/4_iot_projects.rst:4 +msgid "" +"The Internet of things (IoT) describes the network of physical objects—a." +"k.a. \"things\"—that are embedded with sensors, software, and other " +"technologies for the purpose of connecting and exchanging data with " +"other devices and systems over the Internet." +msgstr "" +"Das Internet der Dinge (IoT) beschreibt das Netzwerk physischer Objekte " +"– auch bekannt als „Dinge“ – die in Sensoren, Software und andere " +"Technologien eingebettet sind, um Daten mit anderen Geräten und Systemen " +"über das Internet zu verbinden und auszutauschen." + +#: ../iot/4_iot_projects.rst:6 +msgid "" +"Cloud4RPi is a cloud-based control panel for IoT projects. Cloud4RPi " +"uses dashboard widgets to control IoT devices remotely and show real-" +"time device data." +msgstr "" +"Cloud4RPi ist ein Cloud-basiertes Control Panel für IoT-Projekte. " +"Cloud4RPi verwendet Dashboard-Widgets, um IoT-Geräte aus der Ferne zu " +"steuern und Gerätedaten in Echtzeit anzuzeigen." + +#: ../iot/4_iot_projects.rst:8 +msgid "" +"In this chapter, we combine some components with Cloud4RPi to do some " +"interesting IOT projects." +msgstr "" +"In diesem Kapitel kombinieren wir einige Komponenten mit Cloud4RPi, um " +"einige interessante IOT-Projekte durchzuführen." diff --git a/docs/source/locale/de/LC_MESSAGES/iot/attendance_system.po b/docs/source/locale/de/LC_MESSAGES/iot/attendance_system.po new file mode 100644 index 0000000..059b57f --- /dev/null +++ b/docs/source/locale/de/LC_MESSAGES/iot/attendance_system.po @@ -0,0 +1,215 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, sunfounder +# This file is distributed under the same license as the SunFounder Da Vinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Da Vinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-04 15:50+0800\n" +"PO-Revision-Date: 2021-08-04 18:30+0800\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Last-Translator: \n" +"Language-Team: \n" +"Language: de\n" +"X-Generator: Poedit 3.0\n" + +#: ../iot/attendance_system.rst:2 +msgid "Attendance system" +msgstr "Anwesenheitssystem" + +#: ../iot/attendance_system.rst:4 +msgid "" +"In this project, we use MFRC522 RFID Module and Cloud4RPi to make a system, " +"you can view the attendance information on Cloud4RPi, or open the local .csv " +"file to view the attendance records." +msgstr "" +"In diesem Projekt verwenden wir das MFRC522 RFID-Modul und Cloud4RPi, um ein " +"System zu erstellen. Sie können die Anwesenheitsinformationen auf Cloud4RPi " +"anzeigen oder die lokale .csv-Datei öffnen, um die Anwesenheitsdatensätze " +"anzuzeigen." + +#: ../iot/attendance_system.rst:6 +msgid "" +"Due to the delay of network data transmission, the project only allows you to " +"punch in when the green LED is on and upload data when the red LED is on." +msgstr "" +"Aufgrund der Verzögerung bei der Datenübertragung im Netzwerk ermöglicht das " +"Projekt nur das Punch-In, wenn die grüne LED leuchtet, und das Hochladen von " +"Daten, wenn die rote LED leuchtet." + +#: ../iot/attendance_system.rst:9 +msgid "Experimental Procedures" +msgstr "Experimentelle Verfahren" + +#: ../iot/attendance_system.rst:11 +msgid "Build the circuit." +msgstr "Baue die Schaltung auf." + +#: ../iot/attendance_system.rst:16 +msgid "Open the code." +msgstr "Öffnen Sie den code." + +#: ../iot/attendance_system.rst:27 +msgid "Find the line below and fill in the correct device token." +msgstr "" +"Suchen Sie die folgende Zeile und geben Sie das richtige Geräte-Token ein." + +#: ../iot/attendance_system.rst:33 +msgid "Run the code." +msgstr "Führen Sie den code aus." + +#: ../iot/attendance_system.rst:43 +msgid "" +"Go to Cloud4RPi, add a new control panel named **project5** and add 2 widgets " +"(text and chart widgets) via the **Add widget** button." +msgstr "" +"Gehen Sie zu Cloud4RPi, fügen Sie ein neues Control Panel namens **project5** " +"hinzu und fügen Sie 2 Widgets (Text- und Diagramm-Widgets) über die " +"Schaltfläche **Widget hinzufügen** hinzu." + +#: ../iot/attendance_system.rst:48 +msgid "" +"Once added, you can view the clock-in records for different time periods on " +"the Chart widget (when the value of LED ON is True, it means someone clocked " +"in), and then view the number of people who clocked in on the Text widget." +msgstr "" +"Nach dem Hinzufügen können Sie die Einstempel-Datensätze für verschiedene " +"Zeiträume im Diagramm-Widget anzeigen (wenn der Wert von LED ON True ist, " +"bedeutet dies, dass jemand eingestempelt wurde) und dann die Anzahl der " +"Personen anzeigen, die sich im Text-Widget eingestempelt haben ." + +#: ../iot/attendance_system.rst:50 +msgid "" +"Also you can find the ``.csv`` file with the date under the path ``/home/pi/" +"cloud4rpi-raspberrypi-python``." +msgstr "" +"Außerdem finden Sie die Datei ``.csv`` mit dem Datum unter dem Pfad ``/home/" +"pi/cloud4rpi-raspberrypi-python``." + +#: ../iot/attendance_system.rst:55 +msgid "Open it with the following command." +msgstr "Öffnen Sie es mit dem folgenden Befehl." + +#: ../iot/attendance_system.rst:66 +msgid "" +"In this way, you can read the punch-in records of different time periods. On " +"the left is the ID of different MFRC522 RFID modules, and on the right is the " +"time of punching in." +msgstr "" +"Auf diese Weise können Sie die Punch-In-Protokolle verschiedener Zeiträume " +"lesen. Links die IDs verschiedener MFRC522 RFID-Module und rechts der " +"Zeitpunkt des Einstanzens." + +#: ../iot/attendance_system.rst:73 +msgid "" +"If the person's name is written to the MFRC522 RFID Module in advance, and " +"then the id is replaced with text in the code (which will be mentioned later " +"in the code explanation), so that the attendance sheet records the name of " +"each person, rather than the ID of the card." +msgstr "" +"Wenn der Name der Person im Voraus in das MFRC522 RFID-Modul geschrieben wird " +"und dann die ID durch Text im Code ersetzt wird (der später in der " +"Codeerklärung erwähnt wird), so dass die Anwesenheitsliste den Namen jeder " +"Person erfasst als die ID der Karte." + +#: ../iot/attendance_system.rst:76 +msgid "Code Explanation" +msgstr "Code-Erklärung" + +#: ../iot/attendance_system.rst:87 +msgid "Set 2 LEDs as output and set the initial value to high." +msgstr "" +"Stellen Sie 2 LEDs als Ausgang ein und setzen Sie den Anfangswert auf hoch." + +#: ../iot/attendance_system.rst:103 +msgid "" +"Use the ``get_time()`` function to get the current timestamp and return two " +"values. Where ``present_date`` is accurate to the day and ``present_time`` is " +"accurate to the second." +msgstr "" +"Verwenden Sie die Funktion ``get_time()``, um den aktuellen Zeitstempel " +"abzurufen und zwei Werte zurückzugeben. Wobei ``present_date`` auf den Tag " +"genau und ``present_time`` auf die Sekunde genau ist." + +#: ../iot/attendance_system.rst:116 +msgid "" +"First, we set ``attendance`` to False, which means that no one is clocked in." +msgstr "" +"Zuerst setzen wir ``attendance`` auf False, was bedeutet, dass niemand " +"eingestempelt wird." + +#: ../iot/attendance_system.rst:118 +msgid "" +"Then set GreenPin to low level to light it, and RedPin to high level to keep " +"it off, indicating that the current attendance system is working normally." +msgstr "" +"Setzen Sie dann GreenPin auf niedrige Stufe, um sie zu beleuchten, und RedPin " +"auf hohe Stufe, um sie auszuschalten, was anzeigt, dass das aktuelle " +"Anwesenheitssystem normal funktioniert." + +#: ../iot/attendance_system.rst:120 +msgid "" +"When someone punches in, the id and text information of the card will be " +"printed. If the red LED is on and the green LED is off, it means that the " +"check-in is successful and the result is sent to Cloud4RPi." +msgstr "" +"Wenn jemand einstanzt, werden die ID und die Textinformationen der Karte " +"gedruckt. Wenn die rote LED an und die grüne LED aus ist, bedeutet dies, dass " +"der Check-in erfolgreich war und das Ergebnis an Cloud4RPi gesendet wird." + +#: ../iot/attendance_system.rst:122 +msgid "" +"During this period, the attendance system is in sleep state until the next " +"cycle starts (the green light is on)." +msgstr "" +"Während dieser Zeit befindet sich das Anwesenheitssystem im Ruhezustand, bis " +"der nächste Zyklus beginnt (das grüne Licht leuchtet)." + +#: ../iot/attendance_system.rst:135 +msgid "" +"First determine if the id is duplicated in ``attendance_list`` by an if " +"statement, if not, it means the punch-in is valid and pass the id information " +"into ``attendance_list``. Then we get the current timestamp and use the id as " +"the key of the ``attendance_statistics`` dictionary and ``present_time`` as " +"the value of the corresponding key. In this way, the " +"``attendance_statistics`` dictionary stores the punch time of the current id." +msgstr "" +"Stellen Sie zuerst fest, ob die ID in ``attendance_list`` durch eine if-" +"Anweisung dupliziert wird, wenn nicht, bedeutet dies, dass der Punch-In " +"gültig ist und übergeben Sie die ID-Informationen an ``attendance_list``. " +"Dann erhalten wir den aktuellen Zeitstempel und verwenden die ID als " +"Schlüssel des Wörterbuchs ``attendance_statistics`` und ``present_time`` als " +"Wert des entsprechenden Schlüssels. Auf diese Weise speichert das " +"``attendance_statistics``-Wörterbuch die Punch-Zeit der aktuellen ID." + +#: ../iot/attendance_system.rst:137 +msgid "" +"Finally we write the ``attendance_statistics`` dictionary to a .csv file and " +"name the file as ``'attendance_sheet.'' + present_date + '.csv'``, so that we " +"store the attendance sheet in time order." +msgstr "" +"Schließlich schreiben wir das Wörterbuch ``attendance_statistics`` in eine ." +"csv-Datei und benennen die Datei als ``'attendance_sheet.'' + present_date + " +"'.csv'``, damit wir die Anwesenheitsliste in zeitlicher Reihenfolge speichern." + +#: ../iot/attendance_system.rst:141 +msgid "" +"If you have written the person's name in the MFRC522 RFID, then replace the " +"``id`` with ``text`` and your attendance sheet will record the name of the " +"person." +msgstr "" +"Wenn Sie den Namen der Person in das MFRC522 RFID geschrieben haben, ersetzen " +"Sie die ``id`` durch ``text`` und Ihr Anwesenheitsblatt wird den Namen der " +"Person aufnehmen." + +#: ../iot/attendance_system.rst:148 +msgid "Returns the length of ``attendance_list``, i.e. the number of attendees." +msgstr "" +"Gibt die Länge von ``attendance_list`` zurück, d.h. die Anzahl der Teilnehmer." diff --git a/docs/source/locale/de/LC_MESSAGES/iot/iot_projects.po b/docs/source/locale/de/LC_MESSAGES/iot/iot_projects.po new file mode 100644 index 0000000..5374c38 --- /dev/null +++ b/docs/source/locale/de/LC_MESSAGES/iot/iot_projects.po @@ -0,0 +1,47 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, sunfounder +# This file is distributed under the same license as the SunFounder Da Vinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Da Vinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-04 15:50+0800\n" +"PO-Revision-Date: 2021-08-05 09:14+0800\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Last-Translator: \n" +"Language-Team: \n" +"Language: de\n" +"X-Generator: Poedit 3.0\n" + +#: ../iot/iot_projects.rst:2 +msgid "Projects" +msgstr "Projekte" + +#: ../iot/iot_projects.rst:4 +msgid "In this section, you will start learning to create IoT projects." +msgstr "" +"In diesem Abschnitt werden Sie lernen, IoT-Projekte zu erstellen." + +#: ../iot/iot_projects.rst:6 +msgid "" +"Before starting the project, you should have downloaded the code we " +"provided (:ref:`Download the Code`)." +msgstr "" +"Bevor Sie mit dem Projekt beginnen, sollten Sie den von uns " +"bereitgestellten Code heruntergeladen haben (:ref:`Download the " +"Code`)." + +#: ../iot/iot_projects.rst:8 +msgid "" +"Then copy the codes from the ``iot`` folder to the ``cloud4rpi-" +"raspberrypi-python`` folder." +msgstr "" +"Dann kopieren Sie die Codes aus dem Ordner ``iot`` in den Ordner " +"``cloud4rpi-raspberrypi-python``." diff --git a/docs/source/locale/de/LC_MESSAGES/iot/learn_more_about_control.py.po b/docs/source/locale/de/LC_MESSAGES/iot/learn_more_about_control.py.po new file mode 100644 index 0000000..3234200 --- /dev/null +++ b/docs/source/locale/de/LC_MESSAGES/iot/learn_more_about_control.py.po @@ -0,0 +1,127 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, sunfounder +# This file is distributed under the same license as the SunFounder Da Vinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Da Vinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-04 15:50+0800\n" +"PO-Revision-Date: 2021-08-05 09:17+0800\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Last-Translator: \n" +"Language-Team: \n" +"Language: de\n" +"X-Generator: Poedit 3.0\n" + +#: ../iot/learn_more_about_control.py.rst:2 +msgid "Learn More about ``control.py``" +msgstr "Erfahren Sie mehr über ``control.py``" + +#: ../iot/learn_more_about_control.py.rst:4 +msgid "" +"In order to better understand the projects that follow, let's take a " +"look at the official sample code provided by Cloud4RPi." +msgstr "" +"Um die folgenden Projekte besser zu verstehen, werfen wir einen Blick " +"auf den offiziellen Beispielcode, der von Cloud4RPi bereitgestellt wird." + +#: ../iot/learn_more_about_control.py.rst:8 +msgid "" +"Please complete the previous section :ref:`Quick Guide on Cloud4RPi` " +"before viewing this section." +msgstr "" +"Bitte lesen Sie den vorherigen Abschnitt :ref:`Quick Guide on Cloud4RPi`, bevor Sie diesen Abschnitt lesen." + +#: ../iot/learn_more_about_control.py.rst:10 +msgid "Open the ``control.py`` file." +msgstr "Öffnen Sie die Datei ``control.py``." + +#: ../iot/learn_more_about_control.py.rst:21 +msgid "" +"Cloud4RPi will set a device token for each one, and you need to fill in " +"the variable DEVICE_TOKEN with the correct device token in order to " +"connect to the corresponding device." +msgstr "" +"Cloud4RPi setzt ein Gerätetoken für jedes Gerät, und Sie müssen die " +"Variable DEVICE_TOKEN mit dem richtigen Gerätetoken ausfüllen, um sich " +"mit dem entsprechenden Gerät zu verbinden." + +#: ../iot/learn_more_about_control.py.rst:27 +msgid "" +"``variables`` is a 2-dimensional dictionary, and the value corresponding " +"to each of its keys is also a dictionary." +msgstr "" +"``Variablen`` ist ein 2-dimensionales Wörterbuch, und der Wert, der " +"jedem seiner Schlüssel entspricht, ist ebenfalls ein Wörterbuch." + +#: ../iot/learn_more_about_control.py.rst:29 +msgid "" +"The keys of the ``variables`` dictionary are ``'Room Temp'``, ``'LED " +"On'``, ``'CPU Temp'``, ``'STATUS'``, ``'Location'``, which are all data " +"displayed on the Control Panel's widgets." +msgstr "" +"Die Schlüssel des ``Variablen``-Wörterbuchs sind ``'Raumtemperatur``, " +"``'LED an``, ``'CPU-Temperatur``, ``'STATUS``, ``'Standort``, die alle " +"in den Widgets des Control Panels angezeigt werden." + +#: ../iot/learn_more_about_control.py.rst:31 +msgid "" +"The value of each key in the ``variables`` dictionary is also a " +"dictionary, and the keys of these dictionaries are the same, where the " +"value of the ``'bind'`` key is a function that can return the " +"transferred content, and the ``'type'`` is the data type of the " +"transferred content (``'numeric'`` is a numeric type, ``'string'`` is a " +"string type, ``'bool'`` is a boolean type, and ``'location'`` is a list " +"containing two dictionaries)." +msgstr "" +"Der Wert jedes Schlüssels im ``Variablen``-Wörterbuch ist ebenfalls ein " +"Wörterbuch, und die Schlüssel dieser Wörterbücher sind gleich, wobei der " +"Wert des ``'bind``-Schlüssels eine Funktion ist, die den übertragenen " +"Inhalt zurückgeben kann, und der ``'Typ`` der Datentyp des übertragenen " +"Inhalts ist (``'numeric`` ist ein numerischer Typ, ``'string`` ist ein " +"String-Typ, ``'bool`` ist ein boolscher Typ, und ``'location`` ist eine " +"Liste, die zwei Wörterbücher enthält)." + +#: ../iot/learn_more_about_control.py.rst:33 +msgid "" +"Through the analysis of the ``variables`` dictionary, we can know that " +"Cloud4RPi will read the keys of the ``variables`` dictionary and display " +"the value corresponding to the key in the Control Panel. Obviously we " +"cannot change the keys of the ``variables`` dictionary, but we can " +"change the value in the key (the value of the ``'bind'`` dictionary) to " +"let the widgets display the content we want." +msgstr "" +"Durch die Analyse des ``Variablen``-Wörterbuchs können wir wissen, dass " +"Cloud4RPi die Schlüssel des ``Variablen``-Wörterbuchs ausliest und den " +"Wert, der dem Schlüssel entspricht, im Control Panel anzeigt. Natürlich " +"können wir die Schlüssel des ``Variablen``-Wörterbuchs nicht ändern, " +"aber wir können den Wert im Schlüssel (den Wert des ``'bind``-" +"Wörterbuchs) ändern, damit die Widgets den gewünschten Inhalt anzeigen." + +#: ../iot/learn_more_about_control.py.rst:35 +msgid "" +"For example, if we want to send humidity values to Cloud4RPi, we cannot " +"add a new key to the ``variables`` dictionary, but we can borrow a key, " +"such as the ``'Room Temp'`` key, and then write the function that " +"returns the humidity value in the corresponding ``'bind'`` key." +msgstr "" +"Wenn wir z.B. Luftfeuchtigkeitswerte an Cloud4RPi senden wollen, können " +"wir keinen neuen Schlüssel zum ``Variablen``-Wörterbuch hinzufügen, aber " +"wir können einen Schlüssel ausleihen, wie z.B. den ``Raumtemperatur``-" +"Schlüssel, und dann die Funktion schreiben, die den " +"Luftfeuchtigkeitswert im entsprechenden ``'bind``-Schlüssel zurückgibt." + +#: ../iot/learn_more_about_control.py.rst:62 +msgid "" +"The ``vdiagnostics`` stores information about the Raspberry Pi and is " +"used to verify and prevent misconnections." +msgstr "" +"Die ``vdiagnostics`` speichert Informationen über den Raspberry Pi und " +"wird verwendet, um Fehlverbindungen zu überprüfen und zu verhindern." diff --git a/docs/source/locale/de/LC_MESSAGES/iot/quick_guide_on_cloud4RPi.po b/docs/source/locale/de/LC_MESSAGES/iot/quick_guide_on_cloud4RPi.po new file mode 100644 index 0000000..2ac2c71 --- /dev/null +++ b/docs/source/locale/de/LC_MESSAGES/iot/quick_guide_on_cloud4RPi.po @@ -0,0 +1,198 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, sunfounder +# This file is distributed under the same license as the SunFounder Da Vinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Da Vinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-04 15:50+0800\n" +"PO-Revision-Date: 2021-08-05 09:23+0800\n" +"Last-Translator: \n" +"Language: de\n" +"Language-Team: \n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../iot/quick_guide_on_cloud4RPi.rst:2 +msgid "Quick Guide on Cloud4RPi" +msgstr "Kurzanleitung zu Cloud4RPi" + +#: ../iot/quick_guide_on_cloud4RPi.rst:5 +msgid "Install Cloud4RPi in Your Raspberry Pi" +msgstr "Installieren Sie Cloud4RPi auf Ihrem Raspberry Pi" + +#: ../iot/quick_guide_on_cloud4RPi.rst:7 +msgid "It is advisable to update your system before installing." +msgstr "Es ist ratsam, Ihr System vor der Installation zu aktualisieren." + +#: ../iot/quick_guide_on_cloud4RPi.rst:17 +msgid "Install/update the required packages." +msgstr "Installieren/aktualisieren Sie die erforderlichen Pakete." + +#: ../iot/quick_guide_on_cloud4RPi.rst:27 +msgid "Install Cloud4RPi with the following command:" +msgstr "Installieren Sie Cloud4RPi mit dem folgenden Befehl:" + +#: ../iot/quick_guide_on_cloud4RPi.rst:39 +msgid "" +"This tutorial provides the installation method for Python 3.0 and above. " +"For lower versions of Python, the commands may need to be modified." +msgstr "" +"Diese Anleitung enthält die Installationsmethode für Python 3.0 und " +"höher. Für niedrigere Versionen von Python müssen die Befehle " +"möglicherweise geändert werden." + +#: ../iot/quick_guide_on_cloud4RPi.rst:42 +msgid "Login to Cloud4RPi on Your Computer" +msgstr "Anmeldung bei Cloud4RPi auf Ihrem Computer" + +#: ../iot/quick_guide_on_cloud4RPi.rst:44 +msgid "Open Chromium Web Browser and enter this link: https://cloud4rpi.io." +msgstr "" +"Öffnen Sie den Chromium Web Browser und geben Sie diesen Link ein: " +"https://cloud4rpi.io." + +#: ../iot/quick_guide_on_cloud4RPi.rst:49 +msgid "" +"Before using it, you need to register and log in to your Cloud4RPi " +"account." +msgstr "" +"Bevor Sie es benutzen können, müssen Sie sich registrieren und bei Ihrem " +"Cloud4RPi-Konto anmelden." + +#: ../iot/quick_guide_on_cloud4RPi.rst:54 +msgid "" +"Once logged in, you should see two buttons at the top of Cloud4RPi, " +"**Devices** to display the device connections and **Control Panels** to " +"display the information received or sent from the Raspberry Pi on the " +"webpage." +msgstr "" +"Sobald Sie eingeloggt sind, sollten Sie zwei Schaltflächen am oberen Rand" +" von Cloud4RPi sehen: **Geräte**, um die Geräteverbindungen anzuzeigen, " +"und **Kontrollfelder**, um die vom Raspberry Pi empfangenen oder " +"gesendeten Informationen auf der Webseite anzuzeigen." + +#: ../iot/quick_guide_on_cloud4RPi.rst:60 +msgid "Connect Your Raspberry Pi to Cloud4RPi" +msgstr "Verbinden Sie Ihren Raspberry Pi mit Cloud4RPi" + +#: ../iot/quick_guide_on_cloud4RPi.rst:62 +msgid "" +"After logging in, click the **Devices** option, and then click **New " +"Device**." +msgstr "" +"Klicken Sie nach dem Einloggen auf die Option **Geräte** und dann auf " +"**Neues Gerät**." + +#: ../iot/quick_guide_on_cloud4RPi.rst:68 +msgid "" +"Give the new device a name, and copy the current **Device token** to the " +"clipboard." +msgstr "" +"Geben Sie dem neuen Gerät einen Namen, und kopieren Sie das aktuelle " +"**Geräte-Token** in die Zwischenablage." + +#: ../iot/quick_guide_on_cloud4RPi.rst:73 +msgid "" +"Open the terminal of the Raspberry Pi and download the test examples " +"provided by Cloud4RPi." +msgstr "" +"Öffnen Sie das Terminal des Raspberry Pi und laden Sie die von Cloud4RPi " +"bereitgestellten Testbeispiele herunter." + +#: ../iot/quick_guide_on_cloud4RPi.rst:84 +msgid "" +"Use a text editor such as Nano to modify the content of the " +"``control.py`` file." +msgstr "" +"Verwenden Sie einen Texteditor wie Nano, um den Inhalt der Datei " +"``control.py`` zu ändern." + +#: ../iot/quick_guide_on_cloud4RPi.rst:95 +msgid "Find the following line of code." +msgstr "Suchen Sie die folgende Codezeile." + +#: ../iot/quick_guide_on_cloud4RPi.rst:101 +msgid "" +"Replace ``__YOUR_DEVICE_TOKEN__`` with the **Device token** copied from " +"the Cloud4RPi. Press ``Ctrl + X`` to complete the modification." +msgstr "" +"Ersetzen Sie ``__YOUR_DEVICE_TOKEN__`` durch den **Geräte-Token**, den " +"Sie von Cloud4RPi kopiert haben. Drücken Sie ``Strg + X``, um die " +"Änderung abzuschließen." + +#: ../iot/quick_guide_on_cloud4RPi.rst:107 +msgid "Run the sample file ``control.py``." +msgstr "Führen Sie die Beispieldatei ``control.py`` aus." + +#: ../iot/quick_guide_on_cloud4RPi.rst:117 +msgid "" +"Browse back to the Cloud4RPi server page. If your Raspberry Pi is " +"connected to Cloud4RPi, the device information will turn green." +msgstr "" +"Gehen Sie zurück zur Cloud4RPi-Server-Seite. Wenn Ihr Raspberry Pi mit " +"Cloud4RPi verbunden ist, werden die Geräteinformationen grün angezeigt." + +#: ../iot/quick_guide_on_cloud4RPi.rst:123 +msgid "Using the Cloud4RPi Control Panels" +msgstr "Verwendung der Cloud4RPi Control Panels" + +#: ../iot/quick_guide_on_cloud4RPi.rst:125 +msgid "" +"The control panel on the Cloud4RPi server provides many useful widgets " +"for IoT applications. These widgets can be used to control the conponents" +" or display sensor data." +msgstr "" +"Das Bedienfeld auf dem Cloud4RPi-Server bietet viele nützliche Widgets " +"für IoT-Anwendungen. Diese Widgets können verwendet werden, um die " +"Komponenten zu steuern oder Sensordaten anzuzeigen." + +#: ../iot/quick_guide_on_cloud4RPi.rst:127 +msgid "After entering **Control Panels**, click the **New Control Panel** button." +msgstr "" +"Nachdem Sie **Kontrollfelder** eingegeben haben, klicken Sie auf die " +"Schaltfläche **Neues Kontrollfeld**." + +#: ../iot/quick_guide_on_cloud4RPi.rst:131 +msgid "Always run the ``control.py`` file before using the Control Panel." +msgstr "" +"Führen Sie immer die Datei ``control.py`` aus, bevor Sie das Control " +"Panel benutzen." + +#: ../iot/quick_guide_on_cloud4RPi.rst:136 +msgid "Enter a Control Panel name, and then click on the **Add Widget** button." +msgstr "" +"Geben Sie einen Namen für das Kontrollfeld ein, und klicken Sie dann auf " +"die Schaltfläche **Widget hinzufügen**." + +#: ../iot/quick_guide_on_cloud4RPi.rst:141 +msgid "" +"Before clicking the **Add Widget** button again, you need to select the " +"appropriate widget and the variable to be displayed." +msgstr "" +"Bevor Sie erneut auf die Schaltfläche **Widget hinzufügen** klicken, " +"müssen Sie das entsprechende Widget und die anzuzeigende Variable " +"auswählen." + +#: ../iot/quick_guide_on_cloud4RPi.rst:146 +msgid "" +"For example, we select the **Text** widget and then select **Hot Water " +"°C**, so that we can see it on the newly created control panel." +msgstr "" +"Wir wählen zum Beispiel das Widget **Text** aus und wählen dann " +"**Heißwasser °C**, so dass wir es auf dem neu erstellten Bedienfeld sehen" +" können." + +#: ../iot/quick_guide_on_cloud4RPi.rst:153 +msgid "" +"We will introduce these displayed data in detail in the chapter " +":ref:`Learn More about ``control.py```." +msgstr "" +"Diese angezeigten Daten werden wir im Kapitel :ref:`Learn More about ``control.py``` ausführlich vorstellen." + diff --git a/docs/source/locale/de/LC_MESSAGES/iot/remote_switch.po b/docs/source/locale/de/LC_MESSAGES/iot/remote_switch.po new file mode 100644 index 0000000..2ffd167 --- /dev/null +++ b/docs/source/locale/de/LC_MESSAGES/iot/remote_switch.po @@ -0,0 +1,115 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, sunfounder +# This file is distributed under the same license as the SunFounder Da Vinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Da Vinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-04 15:50+0800\n" +"PO-Revision-Date: 2021-08-05 09:27+0800\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Last-Translator: \n" +"Language-Team: \n" +"Language: de\n" +"X-Generator: Poedit 3.0\n" + +#: ../iot/remote_switch.rst:2 +msgid "Remote Switch" +msgstr "Ferngesteuerter Schalter" + +#: ../iot/remote_switch.rst:4 +msgid "" +"In this project, we will learn to use Cloud4RPi's Switch to control the " +"relay, thereby controlling the relay's load-LED. You can also change the " +"load of the relay to household appliances, but with safety in mind." +msgstr "" +"In diesem Projekt werden wir lernen, den Schalter von Cloud4RPi zu " +"verwenden, um das Relais zu steuern und damit die Last-LED des Relais zu " +"kontrollieren. Sie können die Last des Relais auch auf Haushaltsgeräte " +"ändern, aber mit Blick auf die Sicherheit." + +#: ../iot/remote_switch.rst:7 +msgid "Experimental Procedures" +msgstr "Experimentelle Verfahren" + +#: ../iot/remote_switch.rst:9 +msgid "Build the circuit." +msgstr "Bauen Sie die Schaltung auf." + +#: ../iot/remote_switch.rst:14 +msgid "Open the code." +msgstr "Öffnen Sie den Code." + +#: ../iot/remote_switch.rst:25 +msgid "Find the line below and fill in the correct device token." +msgstr "" +"Suchen Sie die untere Zeile und tragen Sie den richtigen Geräte-Token " +"ein." + +#: ../iot/remote_switch.rst:31 +msgid "Run the code." +msgstr "Führen Sie den Code aus." + +#: ../iot/remote_switch.rst:41 +msgid "" +"Go to Cloud4RPi, add a new Control Panel named project2, and click **Add " +"Widget** to add a **Switch** widget." +msgstr "" +"Gehen Sie zu Cloud4RPi, fügen Sie ein neues Control Panel mit dem Namen " +"project2 hinzu und klicken Sie auf **Widget hinzufügen**, um ein " +"**Switch**-Widget hinzuzufügen." + +#: ../iot/remote_switch.rst:46 +msgid "Once added, you can use the Switch widget to control the relay." +msgstr "" +"Nach dem Hinzufügen können Sie das Schalter-Widget zur Steuerung des " +"Relais verwenden." + +#: ../iot/remote_switch.rst:52 +msgid "Code Explanation" +msgstr "Code Erläuterung" + +#: ../iot/remote_switch.rst:58 +msgid "Relay connected to GPIO18 of the T-expansion board." +msgstr "Relais angeschlossen an GPIO18 der T-Erweiterungskarte." + +#: ../iot/remote_switch.rst:65 +msgid "Set to BCM nomenclature and set ``RELAY_PIN`` to output." +msgstr "" +"Auf BCM-Nomenklatur einstellen und ``RELAY_PIN`` auf Ausgang setzen." + +#: ../iot/remote_switch.rst:73 +msgid "" +"This function controls the relay according to the ``value`` and returns " +"the current level of the relay." +msgstr "" +"Diese Funktion steuert das Relais entsprechend dem ``Wert`` und gibt den " +"aktuellen Pegel des Relais zurück." + +#: ../iot/remote_switch.rst:77 +msgid "" +"Since the relay works at high level, the relay closes when the switch " +"state is True and opens when the switch state is False." +msgstr "" +"Da das Relais mit hohem Pegel arbeitet, schließt das Relais, wenn der " +"Schaltzustand Wahr ist, und öffnet, wenn der Schaltzustand Falsch ist." + +#: ../iot/remote_switch.rst:89 +msgid "" +"By setting the value of the ``'value'`` key, we can set the initial " +"value of the Switch widget, then always read the value of the " +"``'value'`` key and send the current level of ``RELAY_PIN`` (the value " +"returned by the function ``relay_control()``) to Cloud4RPi." +msgstr "" +"Indem wir den Wert des ``'value'`` Schlüssels setzen, können wir den " +"Anfangswert des Switch Widgets setzen, dann immer den Wert des " +"``'value'`` Schlüssels lesen und den aktuellen Pegel von ``RELAY_PIN`` " +"(der Wert, der von der Funktion ``relay_control()`` zurückgegeben wird) " +"an Cloud4RPi senden." diff --git a/docs/source/locale/de/LC_MESSAGES/iot/smart_curtain.po b/docs/source/locale/de/LC_MESSAGES/iot/smart_curtain.po new file mode 100644 index 0000000..f0451ce --- /dev/null +++ b/docs/source/locale/de/LC_MESSAGES/iot/smart_curtain.po @@ -0,0 +1,122 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, sunfounder +# This file is distributed under the same license as the SunFounder Da Vinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Da Vinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-04 15:50+0800\n" +"PO-Revision-Date: 2021-08-05 09:31+0800\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Last-Translator: \n" +"Language-Team: \n" +"Language: de\n" +"X-Generator: Poedit 3.0\n" + +#: ../iot/smart_curtain.rst:2 +msgid "Smart Curtain" +msgstr "Intelligenter Vorhang" + +#: ../iot/smart_curtain.rst:5 +msgid "" +"In this project, we will simulate a scenario where the curtains are " +"automatically opened or closed according to the brightness of the room. " +"When the photoresistor detects that the room brightness is too bright, " +"Raspberry Pi will drive the motor to close the curtain; when the room " +"brightness is too dark, the curtain will be opened." +msgstr "" +"In diesem Projekt werden wir ein Szenario simulieren, in dem die " +"Vorhänge je nach Helligkeit des Raums automatisch geöffnet oder " +"geschlossen werden. Wenn der Fotowiderstand erkennt, dass die " +"Raumhelligkeit zu hell ist, treibt der Raspberry Pi den Motor an, um den " +"Vorhang zu schließen; wenn die Raumhelligkeit zu dunkel ist, wird der " +"Vorhang geöffnet." + +#: ../iot/smart_curtain.rst:8 +msgid "" +"Also you can view the indoor brightness change through text widget on " +"Cloud4RPi, or control the lamp with Switch widget (for electricity " +"safety, this experiment uses LED instead)." +msgstr "" +"Sie können auch die Helligkeitsänderung im Innenraum über das Text-" +"Widget auf Cloud4RPi anzeigen oder die Lampe mit dem Switch-Widget " +"steuern (aus Gründen der elektrischen Sicherheit werden in diesem " +"Experiment stattdessen LEDs verwendet)." + +#: ../iot/smart_curtain.rst:12 +msgid "Experimental Procedures" +msgstr "Experimentelle Verfahren" + +#: ../iot/smart_curtain.rst:14 +msgid "Build the circuit." +msgstr "Bauen Sie die Schaltung auf." + +#: ../iot/smart_curtain.rst:19 +msgid "Open the code." +msgstr "Öffnen Sie den Code." + +#: ../iot/smart_curtain.rst:30 +msgid "Find the line below and fill in the correct device token." +msgstr "" +"Suchen Sie die untere Zeile und tragen Sie den richtigen Geräte-Token " +"ein." + +#: ../iot/smart_curtain.rst:36 +msgid "Run the code." +msgstr "Führen Sie den Code aus." + +#: ../iot/smart_curtain.rst:46 +msgid "" +"Go to Cloud4RPi, add a new control panel named **project4** and add 3 " +"widgets (Switch, Text and Chart widgets) via the **Add Widget** button." +msgstr "" +"Gehen Sie zu Cloud4RPi, fügen Sie ein neues Bedienfeld mit dem Namen " +"**project4** hinzu und fügen Sie 3 Widgets (Switch-, Text- und Diagramm-" +"Widgets) über die Schaltfläche **Add Widget** hinzu." + +#: ../iot/smart_curtain.rst:51 +msgid "" +"Once added, you can use the Switch widget to control the LED; the value " +"of the photoresistor on the Text widget will be updated every 1 minute, " +"when the value > 100, the motor rotates clockwise for 5 seconds; if the " +"value is less than 20, the motor rotates counterclockwise for 5 seconds. " +"You can see the change over time in the Chart widget." +msgstr "" +"Der Wert des Fotowiderstands im Text-Widget wird alle 1 Minute " +"aktualisiert. Ist der Wert größer als 100, dreht sich der Motor 5 " +"Sekunden lang im Uhrzeigersinn; ist der Wert kleiner als 20, dreht sich " +"der Motor 5 Sekunden lang gegen den Uhrzeigersinn. Sie können die " +"Veränderung über die Zeit im Diagramm-Widget sehen." + +#: ../iot/smart_curtain.rst:55 +msgid "Code Explanation" +msgstr "Code Erläuterung" + +#: ../iot/smart_curtain.rst:71 +msgid "" +"Read the value of channel CH0 (with photoresistor connected) of the " +"ADC0834. If the value is >100, the motor rotates clockwise for 5 " +"seconds. If the value is less than 20, the motor rotates " +"counterclockwise for 5 seconds." +msgstr "" +"Lesen Sie den Wert von Kanal CH0 (mit angeschlossenem Fotowiderstand) " +"des ADC0834 ab. Wenn der Wert >100 ist, dreht sich der Motor 5 Sekunden " +"lang im Uhrzeigersinn. Wenn der Wert kleiner als 20 ist, dreht sich der " +"Motor 5 Sekunden lang gegen den Uhrzeigersinn." + +#: ../iot/smart_curtain.rst:80 +msgid "" +"Pass ``getValue()`` into the ``'bind'`` key as a callback function, so " +"that the brightness value (the return value of the ``getValue()`` " +"function) can be sent to the Text widget." +msgstr "" +"Übergeben Sie ``getValue()`` in die ``'bind'`` Taste als Callback-" +"Funktion, so daß der Helligkeitswert (der Rückgabewert der " +"``getValue()`` Funktion) an das Text-Widget gesendet werden kann." diff --git a/docs/source/locale/de/LC_MESSAGES/iot/smart_light.po b/docs/source/locale/de/LC_MESSAGES/iot/smart_light.po new file mode 100644 index 0000000..1353b73 --- /dev/null +++ b/docs/source/locale/de/LC_MESSAGES/iot/smart_light.po @@ -0,0 +1,108 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, sunfounder +# This file is distributed under the same license as the SunFounder Da Vinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Da Vinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-04 15:50+0800\n" +"PO-Revision-Date: 2021-08-05 09:35+0800\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Last-Translator: \n" +"Language-Team: \n" +"Language: de\n" +"X-Generator: Poedit 3.0\n" + +#: ../iot/smart_light.rst:2 +msgid "Smart Light" +msgstr "Intelligentes Licht" + +#: ../iot/smart_light.rst:4 +msgid "" +"In this project, we will learn to control the brightness of LED with " +"Cloud4RPi's Silder widget." +msgstr "" +"In diesem Projekt werden wir lernen, die Helligkeit von LEDs mit dem " +"Silder-Widget von Cloud4RPi zu steuern." + +#: ../iot/smart_light.rst:7 +msgid "Experimental Procedures" +msgstr "Experimentelle Verfahren" + +#: ../iot/smart_light.rst:9 +msgid "Build the circuit." +msgstr "Bauen Sie die Schaltung auf." + +#: ../iot/smart_light.rst:14 +msgid "Open the code." +msgstr "Öffnen Sie den Code." + +#: ../iot/smart_light.rst:25 +msgid "Find the line below and fill in the correct device token." +msgstr "" +"Suchen Sie die untere Zeile und tragen Sie den richtigen Geräte-Token " +"ein." + +#: ../iot/smart_light.rst:31 +msgid "Run the code." +msgstr "Führen Sie den Code aus." + +#: ../iot/smart_light.rst:41 +msgid "" +"Go to Cloud4RPi, add a new Control Panel named project3, and click **Add " +"Widget** to add a **Slider** widget." +msgstr "" +"Gehen Sie zu Cloud4RPi, fügen Sie ein neues Control Panel namens " +"project3 hinzu und klicken Sie auf **Widget hinzufügen**, um ein " +"**Slider**-Widget hinzuzufügen." + +#: ../iot/smart_light.rst:46 +msgid "" +"Once added, you can use the Slider widget to control the brightness of " +"the LED." +msgstr "" +"Nach dem Hinzufügen können Sie das Schieberegler-Widget verwenden, um " +"die Helligkeit der LED zu steuern." + +#: ../iot/smart_light.rst:52 +msgid "Code Explanation" +msgstr "Code Erläuterung" + +#: ../iot/smart_light.rst:59 +msgid "" +"Call the ``GPIO.PWM()`` function to define ``LED_PIN`` as PWM pin and " +"set the frequency of PWM pin to 2000Hz, then use the ``start()`` " +"function to set the initial duty cycle to 0." +msgstr "" +"Rufen Sie die Funktion ``GPIO.PWM()`` auf, um ``LED_PIN`` als PWM-Pin zu " +"definieren und setzen Sie die Frequenz des PWM-Pins auf 2000Hz, dann " +"verwenden Sie die Funktion ``start()``, um das anfängliche " +"Tastverhältnis auf 0 zu setzen." + +#: ../iot/smart_light.rst:65 +msgid "" +"The value sent by Slider widget to Raspberry Pi is used as PWM duty " +"cycle to change the brightness of the LED." +msgstr "" +"Der vom Slider-Widget an den Raspberry Pi gesendete Wert wird als PWM-" +"Tastverhältnis verwendet, um die Helligkeit der LED zu ändern." + +#: ../iot/smart_light.rst:77 +msgid "" +"By setting the value of the ``'value'`` key, we can set the initial " +"value of the Slider widget, then always read the value of the " +"``'value'`` key and send the current level of ``LED_PIN`` (the value " +"returned by the function ``led_control``) to Cloud4RPi." +msgstr "" +"Indem wir den Wert des Schlüssels ``'value`` setzen, können wir den " +"Anfangswert des Slider Widgets setzen, dann immer den Wert des " +"Schlüssels ``'value`` lesen und den aktuellen Pegel von ``LED_PIN`` (der " +"Wert, der von der Funktion ``led_control`` zurückgegeben wird) an " +"Cloud4RPi senden." diff --git a/docs/source/locale/de/LC_MESSAGES/iot/temperature_and_humidity_acquisition.po b/docs/source/locale/de/LC_MESSAGES/iot/temperature_and_humidity_acquisition.po new file mode 100644 index 0000000..9a0c861 --- /dev/null +++ b/docs/source/locale/de/LC_MESSAGES/iot/temperature_and_humidity_acquisition.po @@ -0,0 +1,119 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, sunfounder +# This file is distributed under the same license as the SunFounder Da Vinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Da Vinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-04 15:50+0800\n" +"PO-Revision-Date: 2021-08-05 09:37+0800\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Last-Translator: \n" +"Language-Team: \n" +"Language: de\n" +"X-Generator: Poedit 3.0\n" + +#: ../iot/temperature_and_humidity_acquisition.rst:2 +msgid "Temperature and Humidity Acquisition" +msgstr "Erfassung von Temperatur und Luftfeuchtigkeit" + +#: ../iot/temperature_and_humidity_acquisition.rst:4 +msgid "" +"In this project, we use DHT11 to read the surrounding temperature and " +"humidity, and then display them on Cloud4RPi." +msgstr "" +"In diesem Projekt verwenden wir den DHT11, um die Umgebungstemperatur " +"und die Luftfeuchtigkeit zu messen und sie dann auf Cloud4RPi anzuzeigen." + +#: ../iot/temperature_and_humidity_acquisition.rst:7 +msgid "Experimental Procedures" +msgstr "Experimentelle Verfahren" + +#: ../iot/temperature_and_humidity_acquisition.rst:9 +msgid "Build the circuit." +msgstr "Bauen Sie die Schaltung auf." + +#: ../iot/temperature_and_humidity_acquisition.rst:14 +msgid "Open the code." +msgstr "Öffnen Sie den Code." + +#: ../iot/temperature_and_humidity_acquisition.rst:25 +msgid "Find the line below and fill in the correct device token." +msgstr "" +"Suchen Sie die untere Zeile und tragen Sie den richtigen Geräte-Token " +"ein." + +#: ../iot/temperature_and_humidity_acquisition.rst:31 +msgid "Run the code." +msgstr "Führen Sie den Code aus." + +#: ../iot/temperature_and_humidity_acquisition.rst:41 +msgid "" +"Go to Cloud4RPi, add a new Control Panel named project1, and click **Add " +"Widget**." +msgstr "" +"Gehen Sie zu Cloud4RPi, fügen Sie ein neues Control Panel mit dem Namen " +"project1 hinzu und klicken Sie auf **Add Widget**." + +#: ../iot/temperature_and_humidity_acquisition.rst:46 +msgid "" +"Select a **Chart** widget with both **Room Temp** and **CPU Temp** as " +"the variables to be displayed." +msgstr "" +"Wählen Sie ein **Diagramm**-Widget mit den beiden Variablen " +"**Raumtemperatur** und **CPU-Temperatur**, die angezeigt werden sollen." + +#: ../iot/temperature_and_humidity_acquisition.rst:52 +msgid "" +"Once added, you will see the temperature (Room Temp) and humidity (CPU " +"Temp) curves over time, and you can adjust the display window by " +"clicking on the options at the bottom right." +msgstr "" +"Nach dem Hinzufügen sehen Sie die Kurven der Temperatur (Raumtemperatur) " +"und der Luftfeuchtigkeit (CPU-Temp) über die Zeit, und Sie können das " +"Anzeigefenster anpassen, indem Sie auf die Optionen unten rechts klicken." + +#: ../iot/temperature_and_humidity_acquisition.rst:58 +msgid "Code Explanation" +msgstr "Code Erläuterung" + +#: ../iot/temperature_and_humidity_acquisition.rst:64 +msgid "Instantiate a dht11 object." +msgstr "Instanziieren Sie ein dht11-Objekt." + +#: ../iot/temperature_and_humidity_acquisition.rst:77 +msgid "" +"The temperature (``result[1]``) is obtained by this function, and the " +"function will not be interrupted until the reading is successful." +msgstr "" +"Die Temperatur (``Result[1]``) wird durch diese Funktion ermittelt, und " +"die Funktion wird nicht unterbrochen, bis die Ablesung erfolgreich ist." + +#: ../iot/temperature_and_humidity_acquisition.rst:90 +msgid "" +"The humidity (``result[0]``) is obtained by this function, and the " +"function will not be interrupted until the reading is successful." +msgstr "" +"Mit dieser Funktion wird die Luftfeuchtigkeit (``Result[0]``) ermittelt, " +"und die Funktion wird nicht unterbrochen, bis die Ablesung erfolgreich " +"war." + +#: ../iot/temperature_and_humidity_acquisition.rst:105 +msgid "" +"The temperature is stored in the ``'bind'`` of the ``'Room Temp'`` key, " +"and the humidity is stored in the ``'bind'`` of the ``'CPU Temp'`` key. " +"When Cloud4RPi receives the ``variables`` dictionary, it will convert it " +"into a JavaScript object that can be recognized by the web page." +msgstr "" +"Die Temperatur wird im ``'bind'`` des ``'Room Temp'`` Schlüssels " +"gespeichert, und die Luftfeuchtigkeit wird im ``'bind'`` des ``'CPU " +"Temp'`` Schlüssels gespeichert. Wenn Cloud4RPi das ``Variablen``-" +"Wörterbuch erhält, wird es in ein JavaScript-Objekt umgewandelt, das von " +"der Webseite erkannt werden kann." diff --git a/docs/source/locale/de/LC_MESSAGES/libraries.po b/docs/source/locale/de/LC_MESSAGES/libraries.po new file mode 100644 index 0000000..eaa589d --- /dev/null +++ b/docs/source/locale/de/LC_MESSAGES/libraries.po @@ -0,0 +1,133 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, SunFounder +# This file is distributed under the same license as the SunFounder Davinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Davinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-19 18:22+0800\n" +"PO-Revision-Date: 2021-06-01 11:13+0800\n" +"Last-Translator: \n" +"Language: de\n" +"Language-Team: \n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../libraries.rst:2 +msgid "Libraries" +msgstr "Bibliotheken" + +#: ../libraries.rst:4 +msgid "" +"Two important libraries are used in programming with Raspberry Pi, and " +"they are wiringPi and RPi.GPIO. The Raspberry Pi OS installs them by " +"default, so you can use them directly." +msgstr "" +"Bei der Programmierung mit Raspberry Pi werden zwei wichtige Bibliotheken" +" verwendet: WiringPi und RPi.GPIO. Das Raspberry Pi OS installiert sie " +"standardmäßig, Sie können sie direkt verwenden." + +#: ../libraries.rst:9 +msgid "RPi.GPIO" +msgstr "RPi.GPIO" + +#: ../libraries.rst:11 +msgid "" +"If you are a Python user, you can program GPIOs with API provided by " +"RPi.GPIO." +msgstr "" +"Wenn Sie ein Python-Benutzer sind, können Sie GPIOs mit der von RPi.GPIO " +"bereitgestellten API programmieren." + +#: ../libraries.rst:14 +msgid "" +"RPi.GPIO is a module to control Raspberry Pi GPIO channels. This package " +"provides a class to control the GPIO on a Raspberry Pi. For examples and " +"documents, visit: http://sourceforge.net/p/raspberry-gpio-" +"python/wiki/Home/." +msgstr "" +"RPi.GPIO ist ein Modul zur Steuerung von Raspberry Pi GPIO-Kanälen. " +"Dieses Paket enthält eine Klasse zur Steuerung des GPIO einer Raspberry " +"Pi. Beispiele und Dokumente finden Sie unter http://sourceforge.net/p" +"/raspberry-gpio-python/wiki/Home/" + +#: ../libraries.rst:18 +msgid "Test whether RPi.GPIO is installed or not, type in python:" +msgstr "" +"Beim Testen ob RPi.GPIO installiert ist oder nicht, geben Sie bitte " +"Python ein:" + +#: ../libraries.rst:31 + +msgid "" +"In Python CLI, input \\\"import RPi.GPIO\\\", If no error prompts, it " +"means RPi.GPIO is installed." +msgstr "" +"Geben Sie in Python CLI \"import RPi.GPIO\" ein. Wenn kein Fehler stellt, " +"bedeutet, RPi.GPIO ist installiert." + +#: ../libraries.rst:46 +msgid "If you want to quit python CLI, type in:" +msgstr "Wenn Sie die Python-CLI beenden möchten, geben Sie ein:" + +#: ../libraries.rst:62 +msgid "WiringPi" +msgstr "WiringPi" + +#: ../libraries.rst:64 +msgid "" +"wiringPi is a C language GPIO library applied to the Raspberry Pi " +"platform. It complies with GUN Lv3. The functions in wiringPi are similar" +" to those in the wiring system of Arduino. They enable the users familiar" +" with Arduino to use wiringPi more easily." +msgstr "" +"wiringPi ist eine GPIO-Bibliothek in C-Sprache, die auf die Raspberry Pi-" +"Plattform angewendet wird. Es entspricht GUN Lv3. Die Funktionen in " +"WiringPi sind ähnlich wie im Verkabelungssystem von Arduino. Die mit " +"Arduino vertrauten Benutzer wird die einfachere Verwendung von wiringPi." + +#: ../libraries.rst:69 +msgid "" +"wiringPi includes lots of GPIO commands which enable you to control all " +"kinds of interfaces on Raspberry Pi. You can test whether the wiringPi " +"library is installed successfully or not by the following instructions." +msgstr "" +"WiringPi enthält viele GPIO-Befehle, mit denen Sie alle Arten von " +"Schnittstellen auf Raspberry Pi steuern können. Anhand der folgenden " +"Anweisungen können Sie testen, ob die wiringPi-Bibliothek erfolgreich " +"installiert wurde oder nicht." + +#: ../libraries.rst:87 +msgid "" +"If you are using Raspberry Pi 4B, but the GPIO version is **2.50**, it " +"will cause no response after the C language code is running, that is, " +"GPIO pins do not work. At this time, you need to manually update to " +"version **2.52**, the update steps are as follows :" +msgstr "" +"Wenn Sie Raspberry Pi 4B verwenden, die GPIO-Version jedoch **2.50** ist," +" wird nach Ausführung des C-Sprachcodes keine Antwort ausgegeben, die " +"GPIO-Pins funktionieren nicht. Da müssen Sie manuell auf Version **2.52**" +" aktualisieren. Die Aktualisierungsschritte lauten wie folgt:" + +#: ../libraries.rst:102 +msgid "Check with:" +msgstr "Überprüfen Sie mit:" + +#: ../libraries.rst:112 +msgid "and make sure it’s version 2.52." +msgstr "und sicherstellen, es ist Version 2.52." + +#: ../libraries.rst:125 +msgid "" +"For more details about wiringPi, you can refer to `WiringPi " +"`_." +msgstr "" +"Weitere Informationen zu wiringPi finden Sie unter: `WiringPi " +"`_." + diff --git a/docs/source/locale/de/LC_MESSAGES/preparation.po b/docs/source/locale/de/LC_MESSAGES/preparation.po new file mode 100644 index 0000000..5fae867 --- /dev/null +++ b/docs/source/locale/de/LC_MESSAGES/preparation.po @@ -0,0 +1,49 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, SunFounder +# This file is distributed under the same license as the SunFounder Davinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Davinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-06-04 16:44+0800\n" +"PO-Revision-Date: 2021-05-27 11:01+0800\n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../preparation.rst:2 +msgid "Preparation" +msgstr "Vorbereitung" + +#: ../preparation.rst:4 +msgid "" +"In this chapter, we firstly learn to start up Raspberry Pi. The content " +"includes installing the OS, Raspberry Pi network and how to open " +"terminal." +msgstr "" +"Vorbereitung\n" +"In diesem Kapitel lernen wir zunächst den Raspberry Pi Der Inhalt " +"umfasst die Installation des Betriebssystems und Raspberry Pi-Netzwerks " +"und das Öffnen des Terminals." + +#: ../preparation.rst:8 +msgid "" +"You can check the complete tutorial on the official website of the " +"Raspberry Pi: `raspberry-pi-setting-up " +"`_." +msgstr "Sie können das vollständige Tutorial auf der offiziellen Website des Raspberry Pi nachlesen: " +"`raspberry-pi-setting-up `_." + +#: ../preparation.rst:10 +msgid "" +"If your Raspberry Pi is set up, you can skip the part and go into the " +"next chapter." +msgstr "Wenn Ihr Raspberry Pi eingerichtet ist, können Sie den Teil überspringen und mit dem nächsten Kapitel fortfahren." + + diff --git a/docs/source/locale/de/LC_MESSAGES/processing/blinking_dot.po b/docs/source/locale/de/LC_MESSAGES/processing/blinking_dot.po new file mode 100644 index 0000000..fc96e78 --- /dev/null +++ b/docs/source/locale/de/LC_MESSAGES/processing/blinking_dot.po @@ -0,0 +1,121 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, sunfounder +# This file is distributed under the same license as the SunFounder Da Vinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Da Vinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-04 15:50+0800\n" +"PO-Revision-Date: 2021-08-04 17:53+0800\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Last-Translator: \n" +"Language-Team: \n" +"Language: de\n" +"X-Generator: Poedit 3.0\n" + +#: ../processing/blinking_dot.rst:2 +msgid "Blinking Dot" +msgstr "Blinkender Punkt" + +#: ../processing/blinking_dot.rst:4 +msgid "" +"In this project, we will draw a dot on Processing, which blinks " +"synchronously with the LED. Please build the circuit as shown in the " +"diagram and run the sketch." +msgstr "" +"In diesem Projekt werden wir einen Punkt auf Processing zeichnen, der " +"synchron mit der LED blinkt. Bitte bauen Sie die Schaltung wie im " +"Diagramm gezeigt auf und führen Sie die Skizze aus." + +#: ../processing/blinking_dot.rst:10 +msgid "**Wiring**" +msgstr "**Verdrahtung**" + +#: ../processing/blinking_dot.rst:14 +msgid "**Sketch**" +msgstr "**Skizzieren**" + +#: ../processing/blinking_dot.rst:40 +msgid "**How it works?**" +msgstr "**Wie es funktioniert?**" + +#: ../processing/blinking_dot.rst:42 +msgid "" +"At the beginning of the sketch, you need to embed Processing's GPIO " +"function library by ``import processing.io.*;``, which is indispensable " +"for circuit experiments." +msgstr "" +"Am Anfang der Skizze müssen Sie die GPIO-Funktionsbibliothek von " +"Processing durch ``import processing.io.*;`` einbetten, was für " +"Schaltungsexperimente unverzichtbar ist." + +#: ../processing/blinking_dot.rst:44 +msgid "" +"**Frame rate** is the frequency of bitmaps appearing on the board, " +"expressed in hertz (Hz). In other words, it is also the frequency at " +"which the ``draw()`` function is called. In ``setup()``, setting the " +"**frame rate** to 2 will call ``draw()`` every 0.5s." +msgstr "" +"**Framerate** ist die Frequenz der auf der Platine erscheinenden " +"Bitmaps, ausgedrückt in Hertz (Hz). Mit anderen Worten, es ist auch die " +"Häufigkeit, mit der die Funktion ``draw()`` aufgerufen wird. Wenn Sie in " +"``setup()`` die **Framerate** auf 2 setzen, wird ``draw()`` alle 0,5s " +"aufgerufen." + +#: ../processing/blinking_dot.rst:46 +msgid "" +"Each call of the ``draw()`` function takes the inverse of ``state`` and " +"subsequently determines it. If the value is ``true``, the LED is lit and " +"the brush is filled with red; if not, the LED is turned off and the " +"brush is filled with gray." +msgstr "" +"Jeder Aufruf der Funktion ``draw()`` nimmt die Umkehrung von ``state`` " +"und bestimmt diese anschließend. Wenn der Wert ``true`` ist, leuchtet " +"die LED und der Pinsel ist rot gefüllt; wenn nicht, wird die LED " +"ausgeschaltet und der Pinsel wird mit Grau gefüllt." + +#: ../processing/blinking_dot.rst:48 +msgid "" +"After completing the judgment, use the ``ellipse()`` function to draw a " +"circle. It should be noted that ``width`` and ``height`` are system " +"variables used to store the width and height of the display window." +msgstr "" +"Verwenden Sie nach Abschluss der Beurteilung die Funktion ``ellipse()``, " +"um einen Kreis zu zeichnen. Es sollte beachtet werden, dass ``width`` " +"und ``height`` Systemvariablen sind, die verwendet werden, um die Breite " +"und Höhe des Anzeigefensters zu speichern." + +#: ../processing/blinking_dot.rst:50 +msgid "" +"There are two other points to note. When using GPIOs, you need to use " +"the ``GPIO.pinMode()`` function to set the INPUT/OUTPUT state of the " +"pin, and then use the ``GPIO.digitalWrite()`` function to assign a value " +"(HIGH/LOW) to the pin ." +msgstr "" +"Es sind noch zwei weitere Punkte zu beachten. Wenn Sie GPIOs verwenden, " +"müssen Sie die Funktion ``GPIO.pinMode()`` verwenden, um den INPUT/" +"OUTPUT-Zustand des Pins festzulegen, und dann die Funktion ``GPIO." +"digitalWrite()`` verwenden, um einen Wert (HIGH) /LOW) an den Stift ." + +#: ../processing/blinking_dot.rst:55 +msgid "" +"Please try to avoid using ``delay()`` in ``draw()`` because it will " +"affect the display window refresh." +msgstr "" +"Bitte vermeiden Sie die Verwendung von ``delay()`` in ``draw()``, da " +"dies die Aktualisierung des Anzeigefensters beeinflusst." + +#: ../processing/blinking_dot.rst:57 +msgid "" +"For more please refer to `Processing Reference `_." +msgstr "" +"Weitere Informationen finden Sie unter `Verarbeitungsreferenz `_." diff --git a/docs/source/locale/de/LC_MESSAGES/processing/clickable_color_blocks.po b/docs/source/locale/de/LC_MESSAGES/processing/clickable_color_blocks.po new file mode 100644 index 0000000..c3ec6f1 --- /dev/null +++ b/docs/source/locale/de/LC_MESSAGES/processing/clickable_color_blocks.po @@ -0,0 +1,90 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, sunfounder +# This file is distributed under the same license as the SunFounder Da Vinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Da Vinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-04 15:50+0800\n" +"PO-Revision-Date: 2021-08-04 17:55+0800\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Last-Translator: \n" +"Language-Team: \n" +"Language: de\n" +"X-Generator: Poedit 3.0\n" + +#: ../processing/clickable_color_blocks.rst:2 +msgid "Clickable Color Blocks" +msgstr "Anklickbare Farbblöcke" + +#: ../processing/clickable_color_blocks.rst:4 +msgid "" +"We've already tried drawing a clickable dot to control the LED, so let's " +"take it a step further and draw 3 colored squares to adjust the RGB " +"colors!" +msgstr "" +"Wir haben bereits versucht, einen anklickbaren Punkt zu zeichnen, um die " +"LED zu steuern, also gehen wir noch einen Schritt weiter und zeichnen 3 " +"farbige Quadrate, um die RGB-Farben anzupassen!" + +#: ../processing/clickable_color_blocks.rst:8 +msgid "**Wiring**" +msgstr "**Verdrahtung**" + +#: ../processing/clickable_color_blocks.rst:13 +msgid "**Sketch**" +msgstr "**Skizzieren**" + +#: ../processing/clickable_color_blocks.rst:54 +msgid "**How it works?**" +msgstr "**Wie es funktioniert?**" + +#: ../processing/clickable_color_blocks.rst:56 +msgid "" +"This project has a lot in common with :ref:`Clickable Dot`, except that " +"it refines the conditions for determining mouse click event." +msgstr "" +"Dieses Projekt hat viel mit :ref:`Clickable Dot` gemeinsam, außer dass " +"es die Bedingungen für die Bestimmung des Mausklick-Ereignisses " +"verfeinert." + +#: ../processing/clickable_color_blocks.rst:58 +msgid "" +"First draw three color blocks in ``draw()``, then get which color block " +"was clicked based on the value of mouseX (the X-axis coordinate of the " +"mouse), and finally make RGB light up the corresponding color." +msgstr "" +"Zeichnen Sie zuerst drei Farbblöcke in ``draw()``, ermitteln Sie dann, " +"welcher Farbblock basierend auf dem Wert von mouseX (der X-Achsen-" +"Koordinate der Maus) angeklickt wurde, und lassen Sie schließlich RGB " +"die entsprechende Farbe aufleuchten." + +#: ../processing/clickable_color_blocks.rst:60 +msgid "**What more?**" +msgstr "**Was mehr?**" + +#: ../processing/clickable_color_blocks.rst:62 +msgid "" +"Based on the addition of light, we can make RGB LED display seven colors " +"- adding red to green produces yellow; adding all three primary colors " +"together produces white. Now you can try it out for yourself." +msgstr "" +"Basierend auf der Zugabe von Licht können wir eine siebenfarbige RGB-LED-" +"Anzeige erstellen - das Hinzufügen von Rot zu Grün erzeugt Gelb; Wenn " +"man alle drei Primärfarben zusammen addiert, erhält man Weiß. Jetzt " +"können Sie es selbst ausprobieren." + +#: ../processing/clickable_color_blocks.rst:65 +msgid "" +"For more please refer to `Processing Reference `_." +msgstr "" +"Weitere Informationen finden Sie unter `Verarbeitungsreferenz `_." diff --git a/docs/source/locale/de/LC_MESSAGES/processing/clickable_dot.po b/docs/source/locale/de/LC_MESSAGES/processing/clickable_dot.po new file mode 100644 index 0000000..bbd2f7a --- /dev/null +++ b/docs/source/locale/de/LC_MESSAGES/processing/clickable_dot.po @@ -0,0 +1,81 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, sunfounder +# This file is distributed under the same license as the SunFounder Da Vinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Da Vinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-04 15:50+0800\n" +"PO-Revision-Date: 2021-08-04 17:56+0800\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Last-Translator: \n" +"Language-Team: \n" +"Language: de\n" +"X-Generator: Poedit 3.0\n" + +#: ../processing/clickable_dot.rst:2 +msgid "Clickable Dot" +msgstr "Anklickbarer Punkt" + +#: ../processing/clickable_dot.rst:4 +msgid "" +"We've tried drawing motion graphic, responding to mouse event, and " +"controlling LED. So, we might as well combine these functions, draw a " +"clickable dot, to control the LED!" +msgstr "" +"Wir haben versucht, Animationen zu zeichnen, auf Mausereignisse zu " +"reagieren und die LED zu steuern. Wir können diese Funktionen also " +"genauso gut kombinieren, einen anklickbaren Punkt zeichnen, um die LED " +"zu steuern!" + +#: ../processing/clickable_dot.rst:8 +msgid "**Wiring**" +msgstr "**Verdrahtung**" + +#: ../processing/clickable_dot.rst:12 +msgid "**Sketch**" +msgstr "**Skizzieren**" + +#: ../processing/clickable_dot.rst:42 +msgid "**How it works?**" +msgstr "**Wie es funktioniert?**" + +#: ../processing/clickable_dot.rst:44 +msgid "" +"This project has a lot in common with :ref:`Blinking Dot`, the " +"difference is that it puts the toggle state in the mouse event. This " +"causes the LED to not blink automatically, but to light up and go off " +"with a mouse click." +msgstr "" +"Dieses Projekt hat viel mit :ref:`Blinking Dot` gemeinsam, der " +"Unterschied besteht darin, dass es den Toggle-Status in das Mausereignis " +"versetzt. Dadurch blinkt die LED nicht automatisch, sondern leuchtet auf " +"und erlischt mit einem Mausklick." + +#: ../processing/clickable_dot.rst:47 +msgid "" +"And in the ``mouseClicked()`` event, the ``dist()`` function is used to " +"determine the position of the mouse at the time of the click, and the " +"dot is considered clicked only if the distance between the mouse and the " +"center of the dot is less than the radius." +msgstr "" +"Und im Ereignis ``mouseClicked()`` wird die Funktion ``dist()`` " +"verwendet, um die Position der Maus zum Zeitpunkt des Klickens zu " +"bestimmen, und der Punkt wird nur dann als angeklickt betrachtet, wenn " +"der Abstand zwischen der Maus und der Mittelpunkt des Punktes ist " +"kleiner als der Radius." + +#: ../processing/clickable_dot.rst:49 +msgid "" +"For more please refer to `Processing Reference `_." +msgstr "" +"Weitere Informationen finden Sie unter `Verarbeitungsreferenz `_." diff --git a/docs/source/locale/de/LC_MESSAGES/processing/dot_on_the_swing.po b/docs/source/locale/de/LC_MESSAGES/processing/dot_on_the_swing.po new file mode 100644 index 0000000..6ce97dc --- /dev/null +++ b/docs/source/locale/de/LC_MESSAGES/processing/dot_on_the_swing.po @@ -0,0 +1,186 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, sunfounder +# This file is distributed under the same license as the SunFounder Da Vinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Da Vinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-04 15:50+0800\n" +"PO-Revision-Date: 2021-08-04 18:00+0800\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Last-Translator: \n" +"Language-Team: \n" +"Language: de\n" +"X-Generator: Poedit 3.0\n" + +#: ../processing/dot_on_the_swing.rst:2 +msgid "Dot on the Swing" +msgstr "Punkt auf der Schaukel" + +#: ../processing/dot_on_the_swing.rst:4 +msgid "" +"In this project, 3 buttons are connected, one to change the size of the " +"dot, one to change the position and the last one to change the color. If " +"you press all 3 buttons at the same time, you will get a dot that is " +"swinging and has a variable color." +msgstr "" +"In diesem Projekt sind 3 Schaltflächen verbunden, eine zum Ändern der " +"Punktgröße, eine zum Ändern der Position und die letzte zum Ändern der " +"Farbe. Wenn Sie alle 3 Tasten gleichzeitig drücken, erhalten Sie einen " +"schwingenden Punkt mit variabler Farbe." + +#: ../processing/dot_on_the_swing.rst:9 +msgid "**Wiring**" +msgstr "**Verdrahtung**" + +#: ../processing/dot_on_the_swing.rst:13 +msgid "**Sketch**" +msgstr "**Skizzieren**" + +#: ../processing/dot_on_the_swing.rst:107 +msgid "**How it works?**" +msgstr "**Wie es funktioniert?**" + +#: ../processing/dot_on_the_swing.rst:109 +msgid "" +"Instead of drawing dot directly, we create a ``Dot`` class here. Then, " +"declare the object (in this case ``myDot``)." +msgstr "" +"Anstatt einen Punkt direkt zu zeichnen, erstellen wir hier eine ``Dot``-" +"Klasse. Dann deklarieren Sie das Objekt (in diesem Fall ``myDot``)." + +#: ../processing/dot_on_the_swing.rst:112 +msgid "" +"This is a simple way to draw dots with multiple identical properties. For " +"example, if we add three functions to the dot in this project - change " +"size, change position and change color - then each dot we declare will " +"have the same function. We can use the same button to make them do the " +"same thing, or we can use different buttons to control each dot separately." +msgstr "" +"Dies ist eine einfache Möglichkeit, Punkte mit mehreren identischen " +"Eigenschaften zu zeichnen. Wenn wir beispielsweise dem Punkt in diesem " +"Projekt drei Funktionen hinzufügen - Größe ändern, Position ändern und " +"Farbe ändern -, dann hat jeder von uns deklarierte Punkt dieselbe " +"Funktion. Wir können dieselbe Schaltfläche verwenden, damit sie dasselbe " +"tun, oder wir können verschiedene Schaltflächen verwenden, um jeden Punkt " +"separat zu steuern." + +#: ../processing/dot_on_the_swing.rst:116 +msgid "Using **classes** makes your sketch beautiful, powerful and flexible." +msgstr "" +"Die Verwendung von **Klassen** macht Ihre Skizze schön, kraftvoll und " +"flexibel." + +#: ../processing/dot_on_the_swing.rst:118 +msgid "" +"`Class (computer programming) - Wikipedia `_" +msgstr "" +"`Klasse (Computerprogrammierung) - Wikipedia `_" + +#: ../processing/dot_on_the_swing.rst:120 +msgid "Next, let's take a closer look at the ``Dot`` class." +msgstr "" +"Als nächstes werfen wir einen genaueren Blick auf die Klasse ``Dot``." + +#: ../processing/dot_on_the_swing.rst:127 +msgid "" +"In the declaration, it needs to pass in four parameters, which are the X " +"and Y coordinate value of the position, the size, and the color (here it " +"is set to the `HSB color mode `_ )." +msgstr "" +"In der Deklaration muss es vier Parameter übergeben, nämlich den X- und Y-" +"Koordinatenwert der Position, die Größe und die Farbe (hier ist es auf den " +"`HSB-Farbmodus `_ )." + +#: ../processing/dot_on_the_swing.rst:129 +msgid "" +"Each parameter will be assigned to 2 sets of values ​​(initial value and " +"current value)." +msgstr "" +"Jedem Parameter werden 2 Wertesätze zugewiesen (Anfangswert und aktueller " +"Wert)." + +#: ../processing/dot_on_the_swing.rst:148 +msgid "" +"In addition to the initial value and the current value, there is also a " +"set of range values. It is not difficult to understand that the initial " +"value is used to determine the initial state of the dot (determined by the " +"incoming parameters), while the current value will change within the range " +"to make the dot move." +msgstr "" +"Neben dem Anfangswert und dem aktuellen Wert gibt es auch eine Reihe von " +"Bereichswerten. Es ist nicht schwer zu verstehen, dass der Anfangswert " +"verwendet wird, um den Anfangszustand des Punktes (bestimmt durch die " +"eingehenden Parameter) zu bestimmen, während sich der aktuelle Wert " +"innerhalb des Bereichs ändert, um den Punkt zu bewegen." + +#: ../processing/dot_on_the_swing.rst:150 +msgid "" +"Therefore, except for the X coordinate value, the current values of the " +"other three parameters are calculated as follows:" +msgstr "" +"Daher werden die aktuellen Werte der anderen drei Parameter mit Ausnahme " +"des X-Koordinatenwertes wie folgt berechnet:" + +#: ../processing/dot_on_the_swing.rst:167 +msgid "" +"If you are familiar with trigonometric functions, it should not be " +"difficult to understand `sine and cosine `_, which gives a smooth periodic change (from -1 to 1) of the " +"current value of the dot." +msgstr "" +"Wenn Sie mit trigonometrischen Funktionen vertraut sind, sollte es nicht " +"schwer sein, `Sinus und Cosinus `_ zu " +"verstehen, was eine gleichmäßige periodische Änderung (von -1 zu 1) " +"ergibt. des aktuellen Wertes des Punktes." + +#: ../processing/dot_on_the_swing.rst:169 +msgid "" +"We also need to add a seed, ``timer``, for the periodic variation. It adds " +"the fixed value in the method ``update()`` and is called in ``draw()``." +msgstr "" +"Wir müssen auch einen Startwert, ``timer``, für die periodische Variation " +"hinzufügen. Es fügt den festen Wert in die Methode ``update()`` ein und " +"wird in ``draw()`` aufgerufen." + +#: ../processing/dot_on_the_swing.rst:177 +msgid "" +"Finally, the dot is displayed according to the current value using the " +"method ``show()``, which is also called in ``draw()``." +msgstr "" +"Schließlich wird der Punkt mit der Methode ``show()`` entsprechend dem " +"aktuellen Wert angezeigt, die auch in ``draw()`` aufgerufen wird." + +#: ../processing/dot_on_the_swing.rst:186 +msgid "**What more?**" +msgstr "**Was mehr?**" + +#: ../processing/dot_on_the_swing.rst:188 +msgid "" +"Having mastered the use of classes, you can already draw multiple dots " +"with the same properties, so why not try to do something cooler. For " +"example, how about drawing a stable binary star system, or making a 'DUET' " +"game?" +msgstr "" +"Wenn Sie die Verwendung von Klassen beherrschen, können Sie bereits " +"mehrere Punkte mit den gleichen Eigenschaften zeichnen. Warum also nicht " +"etwas Cooleres versuchen? Wie wäre es zum Beispiel, ein stabiles " +"Doppelsternsystem zu zeichnen oder ein 'DUET'-Spiel zu machen?" + +#: ../processing/dot_on_the_swing.rst:192 +msgid "" +"For more please refer to `Processing Reference `_." +msgstr "" +"Weitere Informationen finden Sie unter `Verarbeitungsreferenz `_." diff --git a/docs/source/locale/de/LC_MESSAGES/processing/drag_number.po b/docs/source/locale/de/LC_MESSAGES/processing/drag_number.po new file mode 100644 index 0000000..27b1889 --- /dev/null +++ b/docs/source/locale/de/LC_MESSAGES/processing/drag_number.po @@ -0,0 +1,53 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, sunfounder +# This file is distributed under the same license as the SunFounder Da Vinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Da Vinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-04 15:50+0800\n" +"PO-Revision-Date: 2021-08-04 18:04+0800\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Last-Translator: \n" +"Language-Team: \n" +"Language: de\n" +"X-Generator: Poedit 3.0\n" + +#: ../processing/drag_number.rst:2 +msgid "Drag Number" +msgstr "Zahl ziehen" + +#: ../processing/drag_number.rst:4 +msgid "Let's draw a slider bar to control the 7-segment Display." +msgstr "" +"Lassen Sie uns einen Schieberegler zeichnen, um die 7-Segment-Anzeige zu " +"steuern." + +#: ../processing/drag_number.rst:9 +msgid "**Wiring**" +msgstr "**Verdrahtung**" + +#: ../processing/drag_number.rst:13 +msgid "**Sketch**" +msgstr "**Skizzieren**" + +#: ../processing/drag_number.rst:122 +msgid "**How it works?**" +msgstr "**Wie es funktioniert?**" + +#: ../processing/drag_number.rst:124 +msgid "" +"This project integrates the Slider and 7-segment Display of the previous " +"course. For specific knowledge points, please refer to :ref:`Show " +"Number` and :ref:`Metronome`." +msgstr "" +"Dieses Projekt integriert den Slider und die 7-Segment-Anzeige des " +"vorherigen Kurses. Spezifische Wissenspunkte finden Sie unter :ref:`Show " +"Number` und :ref:`Metronome`." diff --git a/docs/source/locale/de/LC_MESSAGES/processing/draw_a_matchmaker.po b/docs/source/locale/de/LC_MESSAGES/processing/draw_a_matchmaker.po new file mode 100644 index 0000000..6bdb643 --- /dev/null +++ b/docs/source/locale/de/LC_MESSAGES/processing/draw_a_matchmaker.po @@ -0,0 +1,173 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, sunfounder +# This file is distributed under the same license as the SunFounder Da Vinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Da Vinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-04 15:50+0800\n" +"PO-Revision-Date: 2021-08-04 18:08+0800\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Last-Translator: \n" +"Language-Team: \n" +"Language: de\n" +"X-Generator: Poedit 3.0\n" + +#: ../processing/draw_a_matchmaker.rst:2 +msgid "Draw a Matchmaker" +msgstr "Zeichne einen Matchmaker" + +#: ../processing/draw_a_matchmaker.rst:4 +msgid "" +"You're now running the Processing Development Environment (or PDE). There's " +"not much to it; the large area is the Text Editor, and there's a row of " +"buttons across the top; this is the toolbar. Below the editor is the Message " +"Area, and below that is the Console. The Message Area is used for one line " +"messages, and the Console is used for more technical details." +msgstr "" +"Sie führen jetzt die Processing Development Environment (oder PDE) aus. Es " +"ist nicht viel dabei; der große Bereich ist der Texteditor, und oben gibt es " +"eine Reihe von Schaltflächen; Dies ist die Symbolleiste. Unterhalb des " +"Editors befindet sich der Nachrichtenbereich und darunter die Konsole. Der " +"Nachrichtenbereich wird für einzeilige Nachrichten verwendet, und die Konsole " +"wird für weitere technische Details verwendet." + +#: ../processing/draw_a_matchmaker.rst:9 +msgid "Let's get familiar with the usage of Processing and draw a matchmaker." +msgstr "" +"Machen wir uns mit der Verwendung von Processing vertraut und ziehen wir " +"einen Matchmaker." + +#: ../processing/draw_a_matchmaker.rst:11 +msgid "**Sketch**" +msgstr "**Skizzieren**" + +#: ../processing/draw_a_matchmaker.rst:13 +msgid "" +"Copy the sketch below into Processing and run it. A new display window will " +"appear and a cheering matchmaker will be drawn." +msgstr "" +"Kopieren Sie die folgende Skizze in Processing und führen Sie sie aus. Ein " +"neues Anzeigefenster erscheint und ein jubelnder Matchmaker wird ausgelost." + +#: ../processing/draw_a_matchmaker.rst:31 +msgid "" +"If you run it and the message area turns red and reports some errors, then " +"there is something wrong with the sketch. Make sure you copy the sample " +"sketch exactly: numbers should be enclosed in parentheses, with commas " +"between each number, and lines should end with semicolons." +msgstr "" +"Wenn Sie es ausführen und der Nachrichtenbereich rot wird und einige Fehler " +"melden, dann stimmt etwas mit der Skizze nicht. Stellen Sie sicher, dass Sie " +"die Beispielskizze genau kopieren: Zahlen sollten in Klammern eingeschlossen " +"werden, mit Kommas zwischen jeder Zahl, und Zeilen sollten mit Semikolon " +"enden." + +#: ../processing/draw_a_matchmaker.rst:34 +msgid "**How it works?**" +msgstr "**Wie es funktioniert?**" + +#: ../processing/draw_a_matchmaker.rst:36 +msgid "" +"The key here is to realize that the display window can be treated as a square " +"of paper." +msgstr "" +"Der Schlüssel hier ist zu erkennen, dass das Anzeigefenster wie ein Quadrat " +"aus Papier behandelt werden kann." + +#: ../processing/draw_a_matchmaker.rst:38 +msgid "" +"Each pixel of the display window is a coordinate (x,y) that determines the " +"position of a point in space. The origin (0,0) of the coordinates is in the " +"upper left corner, the positive direction of the X-axis is horizontally to " +"the right, and the positive direction of the Y-axis is vertically down." +msgstr "" +"Jedes Pixel des Anzeigefensters ist eine Koordinate (x,y), die die Position " +"eines Punktes im Raum bestimmt. Der Ursprung (0,0) der Koordinaten liegt in " +"der oberen linken Ecke, die positive Richtung der X-Achse liegt horizontal " +"nach rechts und die positive Richtung der Y-Achse ist vertikal nach unten." + +#: ../processing/draw_a_matchmaker.rst:40 +msgid "" +"What we have to do is to specify what shape and color should appear at these " +"pixel coordinates." +msgstr "" +"Was wir tun müssen, ist anzugeben, welche Form und Farbe an diesen " +"Pixelkoordinaten erscheinen soll." + +#: ../processing/draw_a_matchmaker.rst:42 +msgid "" +"For example, draw a rectangle of width 20 and height 60 with coordinates " +"(100,120) as the midpoint." +msgstr "" +"Zeichnen Sie beispielsweise ein Rechteck der Breite 20 und Höhe 60 mit den " +"Koordinaten (100, 120) als Mittelpunkt." + +#: ../processing/draw_a_matchmaker.rst:51 +msgid "" +"Once we understand the relationship between the display window and the axes, " +"this sketch is not difficult for us, we just need to understand some simple " +"graphic drawing statements." +msgstr "" +"Sobald wir die Beziehung zwischen dem Anzeigefenster und den Achsen " +"verstanden haben, fällt uns diese Skizze nicht schwer, wir müssen nur einige " +"einfache grafische Zeichenanweisungen verstehen." + +#: ../processing/draw_a_matchmaker.rst:53 +msgid "" +"``size(width, height)``: Defines the dimension of the display window width " +"and height in units of pixels." +msgstr "" +"``size(width, height)``: Definiert die Dimension der Breite und Höhe des " +"Anzeigefensters in Pixeleinheiten." + +#: ../processing/draw_a_matchmaker.rst:54 +msgid "" +"``background(red, green, blue)``: Set the background color of the display " +"window." +msgstr "" +"``background(red, green, blue)``: Stellen Sie die Hintergrundfarbe des " +"Anzeigefensters ein." + +#: ../processing/draw_a_matchmaker.rst:55 +msgid "" +"``rectMode(mode)``: Modifies the location from which rectangles are drawn by " +"changing the way in which parameters given to ``rect()`` are intepreted." +msgstr "" +"``rectMode(mode)``: Ändert die Position, von der aus Rechtecke gezeichnet " +"werden, indem die Art und Weise geändert wird, wie die an ``rect()`` " +"übergebenen Parameter interpretiert werden." + +#: ../processing/draw_a_matchmaker.rst:56 +msgid "``rect(x, y, width, height)``: Draws a rectangle to the screen." +msgstr "" +"``rect(x, y, width, height)``: Zeichnet ein Rechteck auf den Bildschirm." + +#: ../processing/draw_a_matchmaker.rst:57 +msgid "``ellipse(x, y, width, height)``: Draws an ellipse (oval) to the screen." +msgstr "" +"``ellipse(x, y, width, height)``: Zeichnet eine Ellipse (oval) auf den " +"Bildschirm." + +#: ../processing/draw_a_matchmaker.rst:58 +msgid "" +"``line(x1, y1, x2, y2)``: Draws a line (a direct path between two points) to " +"the screen." +msgstr "" +"``line(x1, y1, x2, y2)``: Zeichnet eine Linie (einen direkten Pfad zwischen " +"zwei Punkten) zum Bildschirm." + +#: ../processing/draw_a_matchmaker.rst:60 +msgid "" +"For more please refer to `Processing Reference `_." +msgstr "" +"Weitere Informationen finden Sie unter `Verarbeitungsreferenz `_." diff --git a/docs/source/locale/de/LC_MESSAGES/processing/hello_mouse.po b/docs/source/locale/de/LC_MESSAGES/processing/hello_mouse.po new file mode 100644 index 0000000..c2a61d1 --- /dev/null +++ b/docs/source/locale/de/LC_MESSAGES/processing/hello_mouse.po @@ -0,0 +1,99 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, sunfounder +# This file is distributed under the same license as the SunFounder Da Vinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Da Vinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-04 15:50+0800\n" +"PO-Revision-Date: 2021-08-04 18:10+0800\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Last-Translator: \n" +"Language-Team: \n" +"Language: de\n" +"X-Generator: Poedit 3.0\n" + +#: ../processing/hello_mouse.rst:2 +msgid "Hello Mouse" +msgstr "Hallo Maus" + +#: ../processing/hello_mouse.rst:4 +msgid "" +"In this project, your mouse will keep shooting lines towards a point; " +"move the mouse and you will draw a unique line of stars. Press the mouse " +"to restart the drawing." +msgstr "" +"In diesem Projekt schießt Ihre Maus weiterhin Linien auf einen Punkt; " +"Bewegen Sie die Maus und Sie werden eine einzigartige Sternenlinie " +"zeichnen. Drücken Sie die Maus, um die Zeichnung neu zu starten." + +#: ../processing/hello_mouse.rst:8 +msgid "**Sketch**" +msgstr "**Skizzieren**" + +#: ../processing/hello_mouse.rst:31 +msgid "**How it works?**" +msgstr "**Wie es funktioniert?**" + +#: ../processing/hello_mouse.rst:33 +msgid "" +"The previous project was drawing a single image without any animation or " +"interaction." +msgstr "" +"Das vorherige Projekt zeichnete ein einzelnes Bild ohne Animation oder " +"Interaktion." + +#: ../processing/hello_mouse.rst:35 +msgid "" +"If we want to make an interactive sketch, we need to add the ``setup()`` " +"and ``draw()`` functions (these are built-in functions that are called " +"automatically) to build the frame." +msgstr "" +"Wenn wir eine interaktive Skizze erstellen möchten, müssen wir die " +"Funktionen ``setup()`` und ``draw()`` (dies sind integrierte Funktionen, " +"die automatisch aufgerufen werden) hinzufügen, um den Rahmen zu " +"erstellen." + +#: ../processing/hello_mouse.rst:37 +msgid "``setup()``: Executed only once at the start of the sketch." +msgstr "``setup()``: Wird nur einmal zu Beginn des Sketches ausgeführt." + +#: ../processing/hello_mouse.rst:38 +msgid "" +"``draw()``: Executed repeatedly, where we usually add the sketch for " +"drawing the animation." +msgstr "" +"``draw()``: Wird wiederholt ausgeführt, wobei wir normalerweise die " +"Skizze zum Zeichnen der Animation hinzufügen." + +#: ../processing/hello_mouse.rst:55 +msgid "This sketch above already works smoothly as an interactive sketch." +msgstr "" +"Diese obige Skizze funktioniert bereits reibungslos als interaktive " +"Skizze." + +#: ../processing/hello_mouse.rst:57 +msgid "" +"Next you can add a mouse click event. This event can be implemented with " +"the ``mousePressed()`` function, where we add statements to refresh the " +"target point and clear the screen." +msgstr "" +"Als nächstes können Sie ein Mausklick-Ereignis hinzufügen. Dieses " +"Ereignis kann mit der Funktion ``mousePressed()`` implementiert werden, " +"wo wir Anweisungen hinzufügen, um den Zielpunkt zu aktualisieren und den " +"Bildschirm zu leeren." + +#: ../processing/hello_mouse.rst:81 +msgid "" +"For more please refer to `Processing Reference `_." +msgstr "" +"Weitere Informationen finden Sie unter `Verarbeitungsreferenz `_." diff --git a/docs/source/locale/de/LC_MESSAGES/processing/inflating_the_dot.po b/docs/source/locale/de/LC_MESSAGES/processing/inflating_the_dot.po new file mode 100644 index 0000000..4b9fa07 --- /dev/null +++ b/docs/source/locale/de/LC_MESSAGES/processing/inflating_the_dot.po @@ -0,0 +1,89 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, sunfounder +# This file is distributed under the same license as the SunFounder Da Vinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Da Vinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-04 15:50+0800\n" +"PO-Revision-Date: 2021-08-04 18:13+0800\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Last-Translator: \n" +"Language-Team: \n" +"Language: de\n" +"X-Generator: Poedit 3.0\n" + +#: ../processing/inflating_the_dot.rst:2 +msgid "Inflating the Dot" +msgstr "Aufblasen des Dot" + +#: ../processing/inflating_the_dot.rst:4 +msgid "" +"Next, let's build a circuit that allows the button to control the size " +"of the dot. When we press the button, the dot will quickly get bigger; " +"when we release the button, the dot will gradually get smaller, which " +"makes the dot look like a balloon being inflated." +msgstr "" +"Als nächstes bauen wir eine Schaltung, die es der Schaltfläche " +"ermöglicht, die Größe des Punkts zu steuern. Wenn wir die Taste drücken, " +"wird der Punkt schnell größer; Wenn wir die Taste loslassen, wird der " +"Punkt allmählich kleiner, wodurch der Punkt wie ein aufgeblasener Ballon " +"aussieht." + +#: ../processing/inflating_the_dot.rst:9 +msgid "**Wiring**" +msgstr "**Verdrahtung**" + +#: ../processing/inflating_the_dot.rst:13 +msgid "**Sketch**" +msgstr "**Skizzieren**" + +#: ../processing/inflating_the_dot.rst:39 +msgid "**How it works?**" +msgstr "**Wie es funktioniert?**" + +#: ../processing/inflating_the_dot.rst:41 +msgid "" +"This project uses the input function compared to the previous 2 projects " +"that used the output function of the GPIO." +msgstr "" +"Dieses Projekt verwendet die Eingabefunktion im Vergleich zu den " +"vorherigen 2 Projekten, die die Ausgabefunktion des GPIO verwendet haben." + +#: ../processing/inflating_the_dot.rst:43 +msgid "" +"The ``GPIO.pinMode()`` function is used to set ``buttonPin`` to pull-up " +"input mode, which makes the pin get high automatically in the default " +"state." +msgstr "" +"Die Funktion ``GPIO.pinMode()`` wird verwendet, um ``buttonPin`` in den " +"Pull-Up-Eingangsmodus zu setzen, wodurch der Pin im Standardzustand " +"automatisch hoch wird." + +#: ../processing/inflating_the_dot.rst:45 +msgid "" +"Then use the ``GPIO.digitalRead()`` function to read the value of " +"``buttonPin``. When the value is LOW, it means the button is pressed, at " +"which point let the diameter of the dot increase by 5; if the button is " +"released, then the diameter of the dot will decrease by 1." +msgstr "" +"Verwenden Sie dann die Funktion ``GPIO.digitalRead()``, um den Wert von " +"``buttonPin`` auszulesen. Wenn der Wert NIEDRIG ist, bedeutet dies, dass " +"die Taste gedrückt wird. Lassen Sie dann den Durchmesser des Punkts um 5 " +"zunehmen; Wird die Taste losgelassen, verringert sich der Durchmesser " +"des Punktes um 1." + +#: ../processing/inflating_the_dot.rst:47 +msgid "" +"For more please refer to `Processing Reference `_." +msgstr "" +"Weitere Informationen finden Sie unter `Verarbeitungsreferenz `_." diff --git a/docs/source/locale/de/LC_MESSAGES/processing/metronome.po b/docs/source/locale/de/LC_MESSAGES/processing/metronome.po new file mode 100644 index 0000000..e1f6339 --- /dev/null +++ b/docs/source/locale/de/LC_MESSAGES/processing/metronome.po @@ -0,0 +1,106 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, sunfounder +# This file is distributed under the same license as the SunFounder Da Vinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Da Vinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-04 15:50+0800\n" +"PO-Revision-Date: 2021-08-04 18:15+0800\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Last-Translator: \n" +"Language-Team: \n" +"Language: de\n" +"X-Generator: Poedit 3.0\n" + +#: ../processing/metronome.rst:2 +msgid "Metronome" +msgstr "Metronom" + +#: ../processing/metronome.rst:4 +msgid "" +"Here we will make a metronome, the metronome is divided into 5 levels, " +"the higher the level, the more urgent the buzzer call." +msgstr "" +"Hier machen wir ein Metronom, das Metronom ist in 5 Stufen unterteilt, " +"je höher die Stufe, desto dringender der Summerruf." + +#: ../processing/metronome.rst:9 +msgid "**Wiring**" +msgstr "**Verdrahtung**" + +#: ../processing/metronome.rst:15 +msgid "An active buzzer is used here, and it has a white sticker on it." +msgstr "" +"Hier wird ein aktiver Summer verwendet, der mit einem weißen Aufkleber " +"versehen ist." + +#: ../processing/metronome.rst:17 +msgid "**Sketch**" +msgstr "**Skizzieren**" + +#: ../processing/metronome.rst:98 +msgid "**How it works?**" +msgstr "**Wie es funktioniert?**" + +#: ../processing/metronome.rst:101 +msgid "Here, we created a ``Slider`` class and made it act as **WIDGET**." +msgstr "" +"Hier haben wir eine ``Slider``-Klasse erstellt und sie als **WIDGET** " +"fungieren lassen." + +#: ../processing/metronome.rst:107 +msgid "In the declaration, it needs to be passed in 7 parameters." +msgstr "In der Deklaration muss es in 7 Parametern übergeben werden." + +#: ../processing/metronome.rst:109 +msgid "" +"The first four parameters determine the size of the widget, followed by " +"the coordinates (x1, y1) of the starting point in the upper left corner " +"and (x2, y2) in the lower right corner." +msgstr "" +"Die ersten vier Parameter bestimmen die Größe des Widgets, gefolgt von " +"den Koordinaten (x1, y1) des Startpunkts in der oberen linken Ecke und " +"(x2, y2) in der unteren rechten Ecke." + +#: ../processing/metronome.rst:111 +msgid "" +"The last three parameters determine its numerical range (min to max) and " +"initial value." +msgstr "" +"Die letzten drei Parameter bestimmen seinen Zahlenbereich (min bis max) " +"und den Anfangswert." + +#: ../processing/metronome.rst:113 +msgid "" +"It has two methods, the effect of ``dragPoint()`` is to make the slider " +"draggable and return the slider's current position value." +msgstr "" +"Es hat zwei Methoden, die Wirkung von ``dragPoint()`` besteht darin, den " +"Schieberegler verschiebbar zu machen und den aktuellen Positionswert des " +"Schiebereglers zurückzugeben." + +#: ../processing/metronome.rst:126 +msgid "" +"Another method ``show()`` is to show the Slider. At the same time, the " +"range value and current value are displayed in the corresponding " +"position." +msgstr "" +"Eine andere Methode ``show()`` besteht darin, den Slider anzuzeigen. " +"Gleichzeitig werden der Bereichswert und der aktuelle Wert an der " +"entsprechenden Stelle angezeigt." + +#: ../processing/metronome.rst:144 +msgid "" +"For more please refer to `Processing Reference `_." +msgstr "" +"Weitere Informationen finden Sie unter `Verarbeitungsreferenz `_." diff --git a/docs/source/locale/de/LC_MESSAGES/processing/play_with_processing.po b/docs/source/locale/de/LC_MESSAGES/processing/play_with_processing.po new file mode 100644 index 0000000..5b23afe --- /dev/null +++ b/docs/source/locale/de/LC_MESSAGES/processing/play_with_processing.po @@ -0,0 +1,115 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, sunfounder +# This file is distributed under the same license as the SunFounder Da Vinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Da Vinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-06 10:37+0800\n" +"PO-Revision-Date: 2021-08-04 18:20+0800\n" +"Last-Translator: \n" +"Language: de\n" +"Language-Team: \n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../processing/play_with_processing.rst:2 +msgid "Play with Processing" +msgstr "Spielen Sie mit der Verarbeitung" + +#: ../processing/play_with_processing.rst:5 +msgid "What is Processing?" +msgstr "Was ist Verarbeitung?" + +#: ../processing/play_with_processing.rst:7 +msgid "" +"Processing is a simple programming environment that was created to make " +"it easier to develop visually oriented applications with an emphasis on " +"animation and providing users with instant feedback through interaction. " +"The developers wanted a means to \\\"sketch\\\" ideas in code. As its " +"capabilities have expanded over the past decade, Processing has come to " +"be used for more advanced production-level work in addition to its " +"sketching role. Originally built as a domain-specific extension to Java " +"targeted towards artists and designers, Processing has evolved into a " +"full-blown design and prototyping tool used for large-scale installation " +"work, motion graphics, and complex data visualization." +msgstr "" +"Processing ist eine einfache Programmierumgebung, die entwickelt wurde, " +"um die Entwicklung visuell orientierter Anwendungen mit Schwerpunkt auf " +"Animation zu erleichtern und Benutzern durch Interaktion sofortiges " +"Feedback zu geben. Die Entwickler wollten ein Mittel, um Ideen im Code zu" +" „skizzieren“. Da sich seine Fähigkeiten in den letzten zehn Jahren " +"erweitert haben, wird Processing neben seiner Skizzierfunktion auch für " +"anspruchsvollere Arbeiten auf Produktionsebene eingesetzt. Ursprünglich " +"als domänenspezifische Erweiterung für Java für Künstler und Designer " +"entwickelt, hat sich Processing zu einem ausgewachsenen Design- und " +"Prototyping-Tool entwickelt, das für groß angelegte " +"Installationsarbeiten, Motion Graphics und komplexe Datenvisualisierungen" +" verwendet wird." + +#: ../processing/play_with_processing.rst:12 +msgid "" +"Processing is based on Java, but because program elements in Processing " +"are fairly simple, you can learn to use it even if you don't know any " +"Java. If you're familiar with Java, it's best to forget that Processing " +"has anything to do with Java for a while, until you get the hang of how " +"the API works." +msgstr "" +"Processing basiert auf Java, aber da die Programmelemente in Processing " +"recht einfach sind, können Sie es auch ohne Java-Kenntnisse erlernen. " +"Wenn Sie mit Java vertraut sind, vergessen Sie am besten, dass Processing" +" für eine Weile etwas mit Java zu tun hat, bis Sie sich mit der " +"Funktionsweise der API vertraut gemacht haben." + +#: ../processing/play_with_processing.rst:15 +msgid "" +"This text is from the tutorial, `Processing Overview " +"`_." +msgstr "" +"Dieser Text stammt aus dem Tutorial `Processing Overview " +"`_." + +#: ../processing/play_with_processing.rst:18 +msgid "Install the Processing" +msgstr "Installieren Sie die Verarbeitung" + +#: ../processing/play_with_processing.rst:22 +msgid "" +"Before you can use Processing, you need to access the Raspberry Pi " +"desktop remotely (:ref:`Remote Desktop`) or connect a display for the " +"Raspberry Pi." +msgstr "" +"Bevor Sie Processing verwenden können, müssen Sie aus der Ferne auf den " +"Raspberry Pi-Desktop zugreifen (:ref:`Remote Desktop`) oder ein Display " +"für den Raspberry Pi anschließen." + +#: ../processing/play_with_processing.rst:24 +msgid "Run the following command in Terminal to install Processing." +msgstr "" +"Führen Sie den folgenden Befehl im Terminal aus, um Processing zu " +"installieren." + +#: ../processing/play_with_processing.rst:34 +msgid "Once the installation is complete, type ``processing`` to open it." +msgstr "" +"Wenn die Installation abgeschlossen ist, geben Sie ``processing`` ein, um" +" sie zu öffnen." + +#: ../processing/play_with_processing.rst:40 +msgid "" +"For a detailed tutorial, please refer to `Pi Processing " +"`_." +msgstr "" +"Eine ausführliche Anleitung finden Sie unter `Pi Processing " +"`_." + +#: ../processing/play_with_processing.rst:43 +msgid "Projects" +msgstr "Projekte" + diff --git a/docs/source/locale/de/LC_MESSAGES/processing/show_number.po b/docs/source/locale/de/LC_MESSAGES/processing/show_number.po new file mode 100644 index 0000000..ae8ca10 --- /dev/null +++ b/docs/source/locale/de/LC_MESSAGES/processing/show_number.po @@ -0,0 +1,182 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, sunfounder +# This file is distributed under the same license as the SunFounder Da Vinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Da Vinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-04 15:50+0800\n" +"PO-Revision-Date: 2021-08-04 18:26+0800\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Last-Translator: \n" +"Language-Team: \n" +"Language: de\n" +"X-Generator: Poedit 3.0\n" + +#: ../processing/show_number.rst:2 +msgid "Show Number" +msgstr "Anzahl anzeigen" + +#: ../processing/show_number.rst:4 +msgid "" +"In this lesson, we use processing to drive a 7-segment display to show a " +"figure from 0 to 9 and A to F." +msgstr "" +"In dieser Lektion verwenden wir die Verarbeitung, um eine 7-Segment-Anzeige " +"anzusteuern, um eine Zahl von 0 bis 9 und A bis F anzuzeigen." + +#: ../processing/show_number.rst:7 +msgid "**Wiring**" +msgstr "**Verdrahtung**" + +#: ../processing/show_number.rst:12 +msgid "**Sketch**" +msgstr "**Skizzieren**" + +#: ../processing/show_number.rst:70 +msgid "**How it works?**" +msgstr "**Wie es funktioniert?**" + +#: ../processing/show_number.rst:72 +msgid "" +"Import ``processing.io.*`` and use the GPIO function library to control the " +"digital tube pins." +msgstr "" +"Importieren Sie ``processing.io.*`` und verwenden Sie die GPIO-" +"Funktionsbibliothek, um die digitalen Röhrenpins zu steuern." + +#: ../processing/show_number.rst:74 +msgid "" +"Define array ``SegCode = " +"{0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71}" +"`` which represents a segment code array from 0 to F in Hexadecimal (Common " +"cathode)." +msgstr "" +"Definiere das Array ``SegCode = " +"{0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71}" +"`` was ein Segmentcode-Array von 0 bis . darstellt F in Hexadezimal " +"(gemeinsame Kathode)." + +#: ../processing/show_number.rst:77 +msgid "" +"``setup()`` function sets the three pins SDI,RCLK and SRCLK as output, and the " +"initial data as 0." +msgstr "" +"Die Funktion ``setup()`` setzt die drei Pins SDI,RCLK und SRCLK als Ausgang " +"und die Anfangsdaten auf 0." + +#: ../processing/show_number.rst:79 +msgid "" +"``hc595_shift(int dat)`` function is used to shift the ``SegCode`` to 74HC595." +msgstr "" +"Die Funktion ``hc595 shift(in data)`` wird verwendet, um den ``SegCode`` auf " +"74HC595 zu verschieben." + +#: ../processing/show_number.rst:103 +msgid "" +"``n=(0x80 & (dat << i))`` means to shift dat to the left by ``i`` bits and " +"then do the ``&`` operation with 0x80." +msgstr "" +"``n=(0x80 & (dat << i))`` bedeutet, dat um ``i`` Bits nach links zu " +"verschieben und dann die ``&`` Operation mit 0x80 auszuführen." + +#: ../processing/show_number.rst:105 +msgid "" +"The rule of ``&`` operation is that when both sides of ``&`` are 1, the result " +"is 1, otherwise the result is 0." +msgstr "" +"Die Regel der ``&``-Operation lautet, dass, wenn beide Seiten von ``und`` 1 " +"sind, das Ergebnis 1 ist, andernfalls ist das Ergebnis 0." + +#: ../processing/show_number.rst:107 +msgid "" +"For example, we assume dat=0x3f,i=2(0011 1111 << 2 shift to 1111 1100), then " +"1111 1100 & 1000 0000 (0x80)) = 1000 0000." +msgstr "" +"Zum Beispiel nehmen wir an dat=0x3f,i=2(0011 1111 << 2 Verschiebung zu 1111 " +"1100), dann 1111 1100 & 1000 0000 (0x80)) = 1000 0000." + +#: ../processing/show_number.rst:109 +msgid "At last assign the dat data to SDI(DS) by bits." +msgstr "Zuletzt weisen Sie SDI(DS) die Dat-Daten bitweise zu." + +#: ../processing/show_number.rst:111 +msgid "" +"``digitalWrite(SRCLK, 1)`` when SRCLK generates a rising edge pulse from 0 to " +"1, the data will be transferred from the DS register to the shift register;" +msgstr "" +"``digitalWrite(SRCLK, 1)`` wenn SRCLK einen Anstiegsflankenimpuls von 0 bis 1 " +"erzeugt, werden die Daten vom DS-Register zum Schieberegister übertragen;" + +#: ../processing/show_number.rst:113 +msgid "" +"``digitalWrite(RCLK, 1)`` when RCLK generates a rising edge pulse from 0 to 1, " +"the data will be transferred from the shift register to the storage register." +msgstr "" +"``digitalWrite(RCLK, 1)`` Wenn RCLK einen Anstiegsflankenimpuls von 0 auf 1 " +"erzeugt, werden die Daten vom Schieberegister zum Speicherregister übertragen." + +#: ../processing/show_number.rst:121 +msgid "``fill()``: Sets the color used to fill shapes." +msgstr "" +"``fill()``: Legt die Farbe fest, die zum Füllen von Formen verwendet wird." + +#: ../processing/show_number.rst:122 +msgid "" +"``textAlign(CENTER,CENTER)``: Sets the current alignment for drawing text. The " +"parameters ``LEFT``, ``CENTER``, and ``RIGHT`` set the display characteristics " +"of the letters in relation to the values for the x and y parameters of the " +"``text()`` function." +msgstr "" +"``textAlign(CENTER,CENTER)``: Legt die aktuelle Ausrichtung zum Zeichnen von " +"Text fest. Die Parameter ``LEFT``, ``CENTER`` und ``RIGHT`` setzen die " +"Darstellungseigenschaften der Buchstaben in Relation zu den Werten für die x- " +"und y-Parameter der Funktion ``text()``." + +#: ../processing/show_number.rst:123 +msgid "" +"``textSize()``: Sets the current font size. This size will be used in all " +"subsequent calls to the ``text()`` function. Font size is measured in units of " +"pixels." +msgstr "" +"``textSize()``: Setzt die aktuelle Schriftgröße. Diese Größe wird in allen " +"nachfolgenden Aufrufen der Funktion ``text()`` verwendet. Die Schriftgröße " +"wird in Pixeleinheiten gemessen." + +#: ../processing/show_number.rst:125 +msgid "These functions can customize the text style displayed on the processing." +msgstr "" +"Diese Funktionen können den bei der Verarbeitung angezeigten Textstil anpassen." + +#: ../processing/show_number.rst:137 +msgid "" +"The ``frameCount`` is a seed, which is related to ``frameRate``. By default " +"``frameRate`` is 60, which means that ``frameCount`` will accumulate 60 times " +"per second." +msgstr "" +"Der ``frameCount`` ist ein Seed, der mit ``frameRate`` verwandt ist. " +"Standardmäßig ist ``frameRate`` 60, was bedeutet, dass ``frameCount`` 60 Mal " +"pro Sekunde akkumuliert." + +#: ../processing/show_number.rst:140 +msgid "" +"Then we can let processing and 7-segment display to show the figure from 0 to " +"9 and A to F simultaneously." +msgstr "" +"Dann können wir Verarbeitung und 7-Segment-Anzeige die Zahl von 0 bis 9 und A " +"bis F gleichzeitig anzeigen lassen." + +#: ../processing/show_number.rst:142 +msgid "" +"For more please refer to `Processing Reference `_." +msgstr "" +"Weitere Informationen finden Sie unter `Verarbeitungsreferenz `_." diff --git a/docs/source/locale/de/LC_MESSAGES/remote_desktop.po b/docs/source/locale/de/LC_MESSAGES/remote_desktop.po new file mode 100644 index 0000000..d81572c --- /dev/null +++ b/docs/source/locale/de/LC_MESSAGES/remote_desktop.po @@ -0,0 +1,290 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, SunFounder +# This file is distributed under the same license as the SunFounder Davinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Davinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-04 15:50+0800\n" +"PO-Revision-Date: 2021-06-01 11:26+0800\n" +"Last-Translator: \n" +"Language: de\n" +"Language-Team: \n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../remote_desktop.rst:2 +msgid "Remote Desktop" +msgstr "Remotedesktop" + +#: ../remote_desktop.rst:4 +msgid "There are two ways to control the desktop of the Raspberry Pi remotely:" +msgstr "" +"Es gibt zwei Möglichkeiten, den Desktop des Raspberry Pi aus der Ferne zu" +" steuern:" + +#: ../remote_desktop.rst:6 +msgid "**VNC** and **XRDP**, you can use any of them." +msgstr "**VNC** und **XRDP**, Sie können jeden von ihnen verwenden." + +#: ../remote_desktop.rst:9 +msgid "VNC" +msgstr "VNC" + +#: ../remote_desktop.rst:11 +msgid "You can use the function of remote desktop through VNC." +msgstr "Sie können die Funktion des Remotedesktops über VNC verwenden." + +#: ../remote_desktop.rst:13 +msgid "**Enable VNC service**" +msgstr "**Aktivieren Sie den VNC-Dienst**" + +#: ../remote_desktop.rst:15 +msgid "" +"The VNC service has been installed in the system. By default, VNC is " +"disabled. You need to enable it in config." +msgstr "" +"Der VNC-Dienst wurde im System installiert. Mit Default ist VNC " +"deaktiviert. Sie müssen es in der Konfiguration aktivieren." + +#: ../remote_desktop.rst:18 ../remote_desktop.rst:63 ../remote_desktop.rst:123 +#: ../remote_desktop.rst:158 +msgid "**Step 1**" +msgstr "**Schritt 1**" + +#: ../remote_desktop.rst:20 +msgid "Input the following command:" +msgstr "Geben Sie den folgenden Befehl ein:" + +msgid "IMG_280" +msgstr "" + +#: ../remote_desktop.rst:35 ../remote_desktop.rst:67 ../remote_desktop.rst:127 +#: ../remote_desktop.rst:165 +msgid "**Step 2**" +msgstr "**Schritt 2**" + +#: ../remote_desktop.rst:37 +msgid "" +"Choose **3** **Interfacing Options** by press the down arrow key on your " +"keyboard, then press the **Enter** key." +msgstr "" +"Wählen Sie **3** **Schnittstellenoptionen**, indem Sie die " +"Abwärtspfeiltaste auf Ihrer Tastatur drücken und dann die " +"**Eingabetaste** drücken." + +#: ../remote_desktop.rst:44 ../remote_desktop.rst:76 ../remote_desktop.rst:140 +#: ../remote_desktop.rst:176 +msgid "**Step 3**" +msgstr "**Schritt 3**" + +#: ../remote_desktop.rst:46 +msgid "**P3 VNC**" +msgstr "**P3 VNC**" + +#: ../remote_desktop.rst:52 ../remote_desktop.rst:85 ../remote_desktop.rst:151 +#: ../remote_desktop.rst:187 +msgid "**Step 4**" +msgstr "**Schritt 4**" + +#: ../remote_desktop.rst:54 +msgid "Select **Yes -> OK -> Finish** to exit the configuration." +msgstr "" +"Wählen Sie **Ja -> OK -> Fertig** stellen, um die Konfiguration zu " +"beenden." + +msgid "IMG_283" +msgstr "" + +#: ../remote_desktop.rst:61 +msgid "**Login to VNC**" +msgstr "**Melden Sie sich bei VNC an**" + +#: ../remote_desktop.rst:65 +msgid "" +"You need to download and install the `VNC Viewer " +"`_ on personal " +"computer. After the installation is done, open it." +msgstr "" +"Sie müssen den `VNC Viewer " +"`_ herunterladen und" +" auf Ihrem PC installieren. Nachdem die Installation abgeschlossen ist, " +"öffnen Sie es." + +#: ../remote_desktop.rst:69 +msgid "Then select “\\ **New connection**\\ ”." +msgstr "Wählen Sie dann “\\ **Neue Verbindung**\\ ”." + +#: ../remote_desktop.rst +msgid "IMG_285" +msgstr "" + +#: ../remote_desktop.rst:78 +msgid "Input IP address of Raspberry Pi and any **Name**." +msgstr "" +"Geben Sie die IP-Adresse des Raspberry Pi und einen beliebigen **Namen** " +"ein." + +msgid "IMG_286" +msgstr "" + +#: ../remote_desktop.rst:87 +msgid "Double click the **connection** just created:" +msgstr "Doppelklicken Sie auf die gerade erstellte **Verbindung**:" + +msgid "IMG_287" +msgstr "" + +#: ../remote_desktop.rst:94 +msgid "**Step 5**" +msgstr "**Schritt 5**" + +#: ../remote_desktop.rst:96 +msgid "Enter Username (**pi**) and Password (**raspberry** by default)." +msgstr "" +"Geben Sie Benutzername (**pi**) und Passwort ein (**raspberry** mit " +"Default)." + +msgid "IMG_288" +msgstr "" + +#: ../remote_desktop.rst:103 +msgid "**Step 6**" +msgstr "**Schritt 6**" + +#: ../remote_desktop.rst:105 +msgid "Now you can see the desktop of the Raspberry Pi:" +msgstr "Jetzt können Sie den Desktop des Raspberry Pi sehen:" + +msgid "IMG_289" +msgstr "" + +#: ../remote_desktop.rst:112 +msgid "That's the end of the VNC part." +msgstr "" + +#: ../remote_desktop.rst:116 +msgid "XRDP" +msgstr "XRDP" + +#: ../remote_desktop.rst:118 +msgid "" +"Another method of remote desktop is XRDP, it provides a graphical login " +"to remote machines using RDP (Microsoft Remote Desktop Protocol)." +msgstr "" +"Eine andere Methode des Remote-Desktops ist XRDP. Sie bietet eine " +"grafische Anmeldung an Remote-Computern mithilfe von RDP (Microsoft " +"Remote Desktop Protocol)." + +#: ../remote_desktop.rst:121 +msgid "**Install XRDP**" +msgstr "**Installieren Sie XRDP**" + +#: ../remote_desktop.rst:125 +msgid "Login to Raspberry Pi by using SSH." +msgstr "Melden Sie sich mit SSH bei Raspberry Pi an." + +#: ../remote_desktop.rst:129 +msgid "Input the following instructions to install XRDP." +msgstr "Geben Sie die folgenden Anweisungen ein, um XRDP zu installieren." + +#: ../remote_desktop.rst:142 +msgid "Later, the installation starts." +msgstr "Später beginnt die Installation." + +#: ../remote_desktop.rst:144 +msgid "Enter \"Y\", press key “Enter” to confirm." +msgstr "Geben Sie “Y” ein und drücken Sie zur Bestätigung die Taste “Enter”." + +msgid "图片1" +msgstr "图片1" + +#: ../remote_desktop.rst:153 +msgid "" +"Finished the installation, you should login to your Raspberry Pi by using" +" Windows remote desktop applications." +msgstr "" +"Wenn Sie die Installation abgeschlossen haben, sollten Sie sich mit " +"Windows-Remotedesktopanwendungen bei Ihrem Raspberry Pi anmelden." + +#: ../remote_desktop.rst:156 +msgid "**Login to XRDP**" +msgstr "**Melden Sie sich bei XRDP an**" + +#: ../remote_desktop.rst:160 +msgid "" +"If you are a Windows user, you can use the Remote Desktop feature that " +"comes with Windows. If you are a Mac user, you can download and use " +"Microsoft Remote Desktop from the APP Store, and there is not much " +"difference between the two. The next example is Windows remote desktop." +msgstr "" +"Wenn Sie Windows-Benutzer sind, können Sie die mit Windows gelieferte " +"Remotedesktopfunktion verwenden. Wenn Sie Mac-Benutzer sind, können Sie " +"Microsoft Remote Desktop aus dem APP Store herunterladen und verwenden, " +"und es gibt keinen großen Unterschied dazwischen. Das nächste Beispiel " +"ist der Windows-Remotedesktop." + +#: ../remote_desktop.rst:167 +msgid "" +"Type in“\\ **mstsc**\\ ” in Run (WIN+R) to open the Remote Desktop " +"Connection, and input the IP address of Raspberry Pi, then click on " +"“Connect”." +msgstr "" +"Geben Sie “\\ **mstsc**\\ ” in Ausführen (WIN + R) ein, um die " +"Remotedesktopverbindung zu öffnen, und geben Sie die IP-Adresse von " +"Raspberry Pi ein. Klicken Sie dann auf “Verbinden”." + +msgid "IMG_291" +msgstr "" + +#: ../remote_desktop.rst:178 +msgid "" +"Then the xrdp login page pops out. Please type in your username and " +"password. After that, please click “OK”. At the first time you log in, " +"your username is “pi” and the password is “raspberry”." +msgstr "" +"Dann erscheint die xrdp-Anmeldeseite. Bitte geben Sie Ihren Benutzernamen" +" und Ihr Passwort ein. Danach klicken Sie bitte auf “OK”. Wenn Sie sich " +"zum ersten Mal anmelden, lautet Ihr Benutzername “pi” und das Passwort " +"“raspberry”." + +msgid "IMG_292" +msgstr "" + +#: ../remote_desktop.rst:189 +msgid "Here, you successfully login to RPi by using the remote desktop." +msgstr "Hier können Sie sich erfolgreich über den Remotedesktop bei RPi anmelden." + +msgid "2019-11-07-090413_1024x600_scrot" +msgstr "2019-11-07-090413_1024x600_scrot" + +#: ../remote_desktop.rst:196 +msgid "**Copyright Notice**" +msgstr "**Urheberrechtshinweis**" + +#: ../remote_desktop.rst:198 +msgid "" +"All contents including but not limited to texts, images, and code in this" +" manual are owned by the SunFounder Company. You should only use it for " +"personal study, investigation, enjoyment, or other non-commercial or " +"nonprofit purposes, under the related regulations and copyrights laws, " +"without infringing the legal rights of the author and relevant right " +"holders. For any individual or organization that uses these for " +"commercial profit without permission, the Company reserves the right to " +"take legal action." +msgstr "" +"Alle Inhalte, einschließlich, aber nicht beschränkt auf Texte, Bilder und" +" Kode in diesem Handbuch, sind Eigentum der SunFounder Unternehmen. Sie " +"sollten es nur für persönliche Studien, Nachforschungen, Genüsse oder " +"andere nichtkommerzielle oder gemeinnützige Zwecke gemäß den " +"entsprechenden Bestimmungen und Urheberrechtsgesetzen verwenden, ohne die" +" gesetzlichen Rechte des Autors und der relevanten Rechteinhaber zu " +"verletzen. Für jede Person oder Organisation, die diese ohne Erlaubnis " +"für kommerzielle Zwecke nutzt, behält sich das Unternehmen das Recht vor," +" rechtliche Schritte einzuleiten." diff --git a/docs/source/locale/de/LC_MESSAGES/scratch/play_with_scratch.po b/docs/source/locale/de/LC_MESSAGES/scratch/play_with_scratch.po new file mode 100644 index 0000000..61e722c --- /dev/null +++ b/docs/source/locale/de/LC_MESSAGES/scratch/play_with_scratch.po @@ -0,0 +1,49 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, sunfounder +# This file is distributed under the same license as the SunFounder Da Vinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Da Vinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-04 15:50+0800\n" +"PO-Revision-Date: 2021-08-04 16:15+0800\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" +"Last-Translator: \n" +"Language-Team: \n" +"X-Generator: Poedit 3.0\n" +"Language: de\n" + +#: ../scratch/play_with_scratch.rst:2 +msgid "Play with Scratch" +msgstr "Spielen mit Scratch" + +#: ../scratch/play_with_scratch.rst:4 +msgid "" +"Scratch is a block-based visual programming language and website " +"targeted primarily at children 8-16 as an educational tool for coding. " +"Users of the site can create projects on the web using a block-like " +"interface. The service is developed by the MIT Media Lab, has been " +"translated into 70+ languages, and is used in most parts of the world." +msgstr "" +"Scratch ist eine blockbasierte visuelle Programmiersprache und " +"Website, die sich in erster Linie an Kinder von 8 bis 16 Jahren als " +"pädagogisches Werkzeug zum Programmieren richtet. Benutzer der Website " +"können Projekte im Web über eine blockartige Oberfläche erstellen. Der " +"Service wird vom MIT Media Lab entwickelt, wurde in mehr als 70 " +"Sprachen übersetzt und wird in den meisten Teilen der Welt verwendet." + +#: ../scratch/play_with_scratch.rst:7 +msgid "" +"Here you will learn to use Scratch 3 in Raspberry Pi and access " +"Raspberry Pi GPIO with Scratch 3, which is not possible with online " +"Scratch." +msgstr "" +"Hier lernen Sie, Scratch 3 im Raspberry Pi zu verwenden und mit " +"Scratch 3 auf Raspberry Pi GPIO zuzugreifen, was mit Online Scratch " +"nicht möglich ist." diff --git a/docs/source/locale/de/LC_MESSAGES/scratch/quick_quide_on_scratch.po b/docs/source/locale/de/LC_MESSAGES/scratch/quick_quide_on_scratch.po new file mode 100644 index 0000000..29500ad --- /dev/null +++ b/docs/source/locale/de/LC_MESSAGES/scratch/quick_quide_on_scratch.po @@ -0,0 +1,234 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, sunfounder +# This file is distributed under the same license as the SunFounder Da Vinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Da Vinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-04 15:50+0800\n" +"PO-Revision-Date: 2021-08-04 16:44+0800\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" +"Last-Translator: \n" +"Language-Team: \n" +"X-Generator: Poedit 3.0\n" +"Language: de\n" + +#: ../scratch/quick_quide_on_scratch.rst:2 +msgid "Quick Guide on Scratch" +msgstr "Kurzanleitung zu Scratch" + +#: ../scratch/quick_quide_on_scratch.rst:6 +msgid "" +"When programming with Scratch 3, you may need a screen for a better " +"experience. Of course, if you don't have a screen, you can also use **VNC** " +"to access the Raspberry Pi desktop remotely, for a detailed tutorial please " +"refer to :ref:`VNC`." +msgstr "" +"Wenn Sie mit Scratch 3 programmieren, benötigen Sie möglicherweise einen " +"Bildschirm, um eine bessere Erfahrung zu machen. Wenn Sie keinen Bildschirm " +"haben, können Sie natürlich auch **VNC** verwenden, um aus der Ferne auf den " +"Raspberry Pi-Desktop zuzugreifen; eine detaillierte Anleitung finden Sie " +"unter :ref:`VNC`." + +#: ../scratch/quick_quide_on_scratch.rst:8 +msgid "" +"In addition, Scratch 3 needs at least 1GB of RAM to run, and we recommend a " +"Raspberry Pi 4 with at least 2GB RAM. While you can run Scratch 3 on a " +"Raspberry Pi 2, 3, 3B+, or a Raspberry 4 with 1GB RAM, performance on these " +"models is reduced, and depending on what other software you run at the same " +"time, Scratch 3 may fail to start due to lack of memory." +msgstr "" +"Darüber hinaus benötigt Scratch 3 mindestens 1 GB RAM, und wir empfehlen " +"einen Raspberry Pi 4 mit mindestens 2 GB RAM. Sie können Scratch 3 zwar auf " +"einem Raspberry Pi 2, 3, 3B+ oder einem Raspberry 4 mit 1 GB RAM ausführen, " +"aber die Leistung ist bei diesen Modellen reduziert und je nachdem, welche " +"andere Software Sie gleichzeitig ausführen, kann Scratch 3 aufgrund von " +"Speichermangel nicht starten." + +#: ../scratch/quick_quide_on_scratch.rst:11 +msgid "Install Scratch 3" +msgstr "Scratch 3 installieren" + +#: ../scratch/quick_quide_on_scratch.rst:12 +msgid "" +"When installing Raspberry Pi OS (:ref:`Installing the OS`), you have to " +"choose the version with desktop, either with desktop only or with desktop " +"and recommended software." +msgstr "" +"Bei der Installation von Raspberry Pi OS (:ref:`Installing the OS`) müssen " +"Sie die Version mit Desktop auswählen, entweder nur mit Desktop oder mit " +"Desktop und empfohlener Software." + +#: ../scratch/quick_quide_on_scratch.rst:14 +msgid "" +"If you install the version with the recommended software, you can see " +"Scratch 3 in the system menu at **Programming**." +msgstr "" +"Wenn Sie die Version mit der empfohlenen Software installieren, können Sie " +"Scratch 3 im Systemmenü unter **Programming** sehen." + +#: ../scratch/quick_quide_on_scratch.rst:16 +msgid "" +"If you installed the desktop-only version, you will need to install Scratch " +"3 manually, as described below." +msgstr "" +"Wenn Sie die reine Desktop-Version installiert haben, müssen Sie Scratch 3 " +"manuell installieren, wie unten beschrieben." + +#: ../scratch/quick_quide_on_scratch.rst:18 +msgid "Open up the menu, click on **Preferences** -> **Recommended Software**." +msgstr "" +"Öffnen Sie das Menü und klicken Sie auf **Preferences** -> **Recommended " +"Software**." + +#: ../scratch/quick_quide_on_scratch.rst:23 +msgid "" +"Find scratch 3 and check it, then click **Apply** and finally wait for the " +"installation to finish." +msgstr "" +"Suchen Sie Scratch 3 und markieren Sie es, klicken Sie dann auf **Apply** " +"und warten Sie schließlich, bis die Installation abgeschlossen ist." + +#: ../scratch/quick_quide_on_scratch.rst:28 +msgid "" +"Once the installation is complete, you should see it on the **Programming** " +"in the system menu." +msgstr "" +"Sobald die Installation abgeschlossen ist, sollten Sie sie unter " +"**Programming** im Systemmenü finden." + +#: ../scratch/quick_quide_on_scratch.rst:34 +msgid "About Scratch 3's Interface" +msgstr "Über die Benutzeroberfläche von Scratch 3" + +#: ../scratch/quick_quide_on_scratch.rst:36 +msgid "" +"Scratch 3 is designed to be fun, educational, and easy to learn. It has " +"tools for creating interactive stories, games, art, simulations, and more, " +"using block-based programming. Scratch also has its own paint " +"editor and sound editor built-in." +msgstr "" +"Scratch 3 ist so konzipiert, dass es Spaß macht, lehrreich und leicht zu " +"erlernen ist. Es verfügt über Werkzeuge zum Erstellen von interaktiven " +"Geschichten, Spielen, Kunst, Simulationen und mehr, die auf blockbasierter " +"Programmierung basieren. Scratch hat auch einen eigenen Mal- und Sound-" +"Editor integriert." + +#: ../scratch/quick_quide_on_scratch.rst:38 +msgid "" +"The top of scratch 3 has some basic options, the first one from left to " +"right is the language option, you can choose different languages for " +"programming. The second one is the **File** option, you can create new " +"files, read local files and save current files with this option. The third " +"is the **Edit** option, which allows you to resume some deletion operations " +"and enable the acceleration mode (in which the sprite movement becomes " +"particularly fast). The fourth is the **Tutorials** option, which allows you " +"to view tutorials for some projects. The fifth is the file naming option, " +"where you can rename the project." +msgstr "" +"Oben in Scratch 3 gibt es einige grundlegende Optionen, die erste von links " +"nach rechts ist die Sprachoption, mit der Sie verschiedene Sprachen für die " +"Programmierung auswählen können. Die zweite ist die Option **Datei**. Mit " +"dieser Option können Sie neue Dateien erstellen, lokale Dateien lesen und " +"aktuelle Dateien speichern. Die dritte ist die Option **Bearbeiten**, mit " +"der Sie einige Löschvorgänge fortsetzen und den Beschleunigungsmodus " +"aktivieren können (in dem die Sprite-Bewegung besonders schnell wird). Die " +"vierte Option ist die Option **Tutorien**, mit der Sie sich Tutorials für " +"einige Projekte ansehen können. Die fünfte Option ist die Option Dateinamen, " +"mit der Sie das Projekt umbenennen können." + +#: ../scratch/quick_quide_on_scratch.rst:43 +msgid "**Code**" +msgstr "**Skripte**" + +#: ../scratch/quick_quide_on_scratch.rst:45 +msgid "" +"It has three main sections: a stage area, block palette, and coding area. " +"Programming by clicking and dragging the block on the block palette to the " +"coding area, and finally your programming results will be displayed on the " +"stage area." +msgstr "" +"Es besteht aus drei Hauptbereichen: einem Bühnenbereich, einer Blockpalette " +"und einem Codierbereich. Programmierung durch Anklicken und Ziehen des " +"Blocks auf der Blockpalette in den Codierbereich und schließlich werden Ihre " +"Programmierergebnisse im Bühnenbereich angezeigt." + +#: ../scratch/quick_quide_on_scratch.rst:50 +msgid "" +"Here is the sprites area of Scratch 3. Above the area are the basic " +"parameters of the sprites, you can add sprites that come with Scratch 3 or " +"upload local sprites." +msgstr "" +"Hier ist der Sprites-Bereich von Scratch 3. Oberhalb des Bereichs befinden " +"sich die Grundparameter der Sprites. Sie können Sprites hinzufügen, die mit " +"Scratch 3 geliefert werden, oder lokale Sprites hochladen." + +#: ../scratch/quick_quide_on_scratch.rst:55 +msgid "" +"Here is the Scratch 3 backdrop area, mainly to add a suitable backdrop for " +"your stage, you can add the backdrop that comes with Scratch 3 or upload a " +"local one." +msgstr "" +"Hier ist der Scratch 3 Hintergrundbereich, hauptsächlich um einen passenden " +"Hintergrund für deine Bühne hinzuzufügen. Du kannst den Hintergrund, der mit " +"Scratch 3 geliefert wird, hinzufügen oder einen lokalen Hintergrund " +"hochladen." + +#: ../scratch/quick_quide_on_scratch.rst:60 +msgid "This is a **Add Extension** button." +msgstr "Dies ist eine Schaltfläche **Erweiterung hinzufügen**." + +#: ../scratch/quick_quide_on_scratch.rst:65 +msgid "" +"In Scratch 3, we can add all kinds of useful extensions, here we take " +"**Video Sensing** as an example and click on it." +msgstr "" +"In Scratch 3 können wir alle Arten von nützlichen Erweiterungen hinzufügen, " +"hier nehmen wir **Video-Erfassung** als Beispiel und klicken es an." + +#: ../scratch/quick_quide_on_scratch.rst:70 +msgid "" +"You will see it on the block palette and you can use the functions " +"associated with this extension. If you have a camera connected, you will see " +"the camera screen on the stage area." +msgstr "" +"Sie wird in der Blockpalette angezeigt und Sie können die mit dieser " +"Erweiterung verbundenen Funktionen nutzen. Wenn Sie eine Kamera " +"angeschlossen haben, sehen Sie den Kamerabildschirm im Bühnenbereich." + +#: ../scratch/quick_quide_on_scratch.rst:74 +msgid "**Costumes**" +msgstr "**Kostüme**" + +#: ../scratch/quick_quide_on_scratch.rst:76 +msgid "" +"Click on the **Costumes** option in the upper left corner to enter the " +"costumes palette. Different costumes allow the sprites to have different " +"static movements, and when these static movements are stitched together, " +"they form a coherent dynamic movement." +msgstr "" +"Klicken Sie auf die Option **Kostüme** in der oberen linken Ecke, um die " +"Kostümpalette zu öffnen. Verschiedene Kostüme ermöglichen den Sprites " +"unterschiedliche statische Bewegungen, und wenn diese statischen Bewegungen " +"zusammengefügt werden, bilden sie eine kohärente dynamische Bewegung." + +#: ../scratch/quick_quide_on_scratch.rst:80 +msgid "**Sounds**" +msgstr "**Klänge**" + +#: ../scratch/quick_quide_on_scratch.rst:82 +msgid "" +"You may need to use some music clips to make your experiments more " +"interesting. Click on the **Sounds** option in the upper left corner and you " +"can edit the current sound or select/upload a new one." +msgstr "" +"Möglicherweise müssen Sie einige Musikclips verwenden, um Ihre Experimente " +"interessanter zu gestalten. Klicken Sie auf die Option **Sounds** in der " +"oberen linken Ecke und Sie können den aktuellen Sound bearbeiten oder einen " +"neuen Sound auswählen bzw. hochladen." diff --git a/docs/source/locale/de/LC_MESSAGES/scratch/scratch_1.10_rotating_fan.po b/docs/source/locale/de/LC_MESSAGES/scratch/scratch_1.10_rotating_fan.po new file mode 100644 index 0000000..9e7f44b --- /dev/null +++ b/docs/source/locale/de/LC_MESSAGES/scratch/scratch_1.10_rotating_fan.po @@ -0,0 +1,162 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, sunfounder +# This file is distributed under the same license as the SunFounder Da Vinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Da Vinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-04 15:50+0800\n" +"PO-Revision-Date: 2021-08-04 17:49+0800\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Last-Translator: \n" +"Language-Team: \n" +"Language: de\n" +"X-Generator: Poedit 3.0\n" + +#: ../scratch/scratch_1.10_rotating_fan.rst:2 +msgid "1.10 Rotating fan" +msgstr "1.10 Rotierender Lüfter" + +#: ../scratch/scratch_1.10_rotating_fan.rst:5 +msgid "In this project, we will make a spinning star sprite and fan." +msgstr "" +"In diesem Projekt werden wir ein sich drehendes Stern-Sprite und einen " +"Fächer herstellen." + +#: ../scratch/scratch_1.10_rotating_fan.rst:10 +msgid "Required Components" +msgstr "Erforderliche Komponenten" + +#: ../scratch/scratch_1.10_rotating_fan.rst:15 +msgid "Build the Circuit" +msgstr "Baue die Schaltung" + +#: ../scratch/scratch_1.10_rotating_fan.rst:20 +msgid "Load the Code and See What Happens" +msgstr "Laden Sie den Code und sehen Sie, was passiert" + +#: ../scratch/scratch_1.10_rotating_fan.rst:22 +msgid "Load the code file (``1.10_rotating_fan.sb3``) to Scratch 3." +msgstr "Laden Sie die Codedatei (``1.10_rotating_fan.sb3``) in Scratch 3." + +#: ../scratch/scratch_1.10_rotating_fan.rst:24 +msgid "" +"After clicking the green flag on the stage, click on the star sprite," +"then it and the motor will rotate clockwise; you can change the " +"direction of rotation by clicking on the two **arrow** sprites. When you " +"click on the **star** sprite again, it and the motor will stop rotating." +msgstr "" +"Nachdem Sie auf die grüne Flagge auf der Bühne geklickt haben, klicken " +"Sie auf das Stern-Sprite, dann dreht sich der Motor im Uhrzeigersinn. " +"Sie können die Drehrichtung ändern, indem Sie auf die beiden **Pfeil**-" +"Sprites klicken. Wenn Sie erneut auf das **Stern**-Sprite klicken, hören " +"es und der Motor auf zu drehen." + +#: ../scratch/scratch_1.10_rotating_fan.rst:27 +msgid "Tips on Sprite" +msgstr "Tipps zu Figur" + +#: ../scratch/scratch_1.10_rotating_fan.rst:28 +msgid "" +"Delete the default sprite, then select the **Star** sprite and the " +"**Arrow1** sprite, and copy Arrow1 once." +msgstr "" +"Löschen Sie das Standard-Sprite, wählen Sie dann das **Star**-Sprite und " +"das **Arrow1**-Sprite aus und kopieren Sie Arrow1 einmal." + +#: ../scratch/scratch_1.10_rotating_fan.rst:32 +msgid "" +"In the **Costumes** option, change the Arrow2 sprite to a different " +"direction costume." +msgstr "" +"Ändern Sie in der Option **Kostüme** das Arrow2-Sprite in ein anderes " +"Richtungskostüm." + +#: ../scratch/scratch_1.10_rotating_fan.rst:36 +msgid "Adjust the size and position of the sprite appropriately." +msgstr "Passen Sie die Größe und Position des Sprites entsprechend an." + +#: ../scratch/scratch_1.10_rotating_fan.rst:42 +msgid "Tips on Codes" +msgstr "Tipps zu Codes" + +#: ../scratch/scratch_1.10_rotating_fan.rst:44 +msgid "**Flow Chart**" +msgstr "**Flussdiagramm**" + +#: ../scratch/scratch_1.10_rotating_fan.rst:48 +msgid "" +"In this code, you will see 2 pink blocks, turn left and turn right, " +"which are our custom blocks (functions)." +msgstr "" +"In diesem Code sehen Sie 2 rosa Blöcke, biegen Sie links ab und biegen " +"Sie rechts ab, die unsere benutzerdefinierten Blöcke (Funktionen) sind." + +#: ../scratch/scratch_1.10_rotating_fan.rst:52 +msgid "**How to Make a Block?**" +msgstr "**Wie erstelle ich einen Block?**" + +#: ../scratch/scratch_1.10_rotating_fan.rst:54 +msgid "" +"Let's learn how to make a block (function). The block (function) can be " +"used to simplify your program, especially if you perform the same " +"operation multiple times. Putting these operations into a newly declared " +"block can be very convenient for you." +msgstr "" +"Lassen Sie uns lernen, wie man einen Block (eine Funktion) erstellt. Der " +"Block (Funktion) kann verwendet werden, um Ihr Programm zu vereinfachen, " +"insbesondere wenn Sie dieselbe Operation mehrmals ausführen. Das " +"Einfügen dieser Operationen in einen neu deklarierten Block kann für Sie " +"sehr praktisch sein." + +#: ../scratch/scratch_1.10_rotating_fan.rst:56 +msgid "" +"First find **My Blocks** in the block palette, then select **Make a " +"Block**." +msgstr "" +"Suchen Sie zuerst **Meine Blöcke** in der Blockpalette und wählen Sie " +"dann **Block erstellen**." + +#: ../scratch/scratch_1.10_rotating_fan.rst:60 +msgid "Enter the name of the new block." +msgstr "Geben Sie den Namen des neuen Blocks ein." + +#: ../scratch/scratch_1.10_rotating_fan.rst:64 +msgid "" +"After writing the function of the new block in the coding area, save it " +"and then you can find the block in the blocks palette." +msgstr "" +"Nachdem Sie die Funktion des neuen Blocks in den Codierbereich " +"geschrieben haben, speichern Sie diese und Sie finden den Block dann in " +"der Blockpalette." + +#: ../scratch/scratch_1.10_rotating_fan.rst:68 +msgid "**turn left**" +msgstr "**Biegen Sie links ab**" + +#: ../scratch/scratch_1.10_rotating_fan.rst:70 +msgid "" +"This is the code inside the turn left block to make the motor rotate " +"counterclockwise." +msgstr "" +"Dies ist der Code innerhalb des Linksabbiegeblocks, um den Motor gegen " +"den Uhrzeigersinn drehen zu lassen." + +#: ../scratch/scratch_1.10_rotating_fan.rst:75 +msgid "**turn right**" +msgstr "**Biegen Sie rechts ab**" + +#: ../scratch/scratch_1.10_rotating_fan.rst:77 +msgid "" +"This is the code inside the turn right block to make the motor rotate " +"clockwise." +msgstr "" +"Dies ist der Code im Block rechts drehen, um den Motor im Uhrzeigersinn " +"drehen zu lassen." diff --git a/docs/source/locale/de/LC_MESSAGES/scratch/scratch_1.1_wand.po b/docs/source/locale/de/LC_MESSAGES/scratch/scratch_1.1_wand.po new file mode 100644 index 0000000..b338cff --- /dev/null +++ b/docs/source/locale/de/LC_MESSAGES/scratch/scratch_1.1_wand.po @@ -0,0 +1,142 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, sunfounder +# This file is distributed under the same license as the SunFounder Da Vinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Da Vinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-04 15:50+0800\n" +"PO-Revision-Date: 2021-08-04 17:03+0800\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" +"Last-Translator: \n" +"Language-Team: \n" +"X-Generator: Poedit 3.0\n" +"Language: de\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ../scratch/scratch_1.1_wand.rst:2 +msgid "1.1 Wand" +msgstr "1.1 Zauberstab" + +#: ../scratch/scratch_1.1_wand.rst:4 +msgid "" +"Today we will use LED, Raspberry Pi and Scratch to make a fun game. When we " +"wave the magic wand, the LED will blink." +msgstr "" +"Heute werden wir LED, Raspberry Pi und Scratch verwenden, um ein lustiges Spiel " +"zu machen. Wenn wir den Zauberstab schwingen, blinkt die LED." + +#: ../scratch/scratch_1.1_wand.rst:9 +msgid "Required Components" +msgstr "Erforderliche Komponenten" + +#: ../scratch/scratch_1.1_wand.rst:14 +msgid "Build the Circuit" +msgstr "Bauen Sie den Stromkreis auf" + +#: ../scratch/scratch_1.1_wand.rst:19 +msgid "Add GPIO Extension" +msgstr "GPIO-Erweiterung hinzufügen" + +#: ../scratch/scratch_1.1_wand.rst:21 +msgid "" +"Click on the **Add Extension** button in the bottom left corner,then add the " +"**Raspberry Pi GPIO**, an extension we use for all of our Scratch projects." +msgstr "" +"Klicken Sie auf die Schaltfläche **Erweiterung hinzufügen** in der unteren " +"linken Ecke und fügen Sie dann **Raspberry Pi GPIO** hinzu, eine Erweiterung, " +"die wir für alle unsere Scratch-Projekte verwenden." + +#: ../scratch/scratch_1.1_wand.rst:33 +msgid "Load the Code and See What Happens" +msgstr "Laden Sie den Code und sehen Sie, was passiert" + +#: ../scratch/scratch_1.1_wand.rst:35 +msgid "" +"Load the code file from your computer(``home/pi/davinci-kit-for-raspberry-pi/" +"scratch/code``) to Scratch 3." +msgstr "" +"Lade die Code-Datei von deinem Computer (``home/pi/davinci-kit-for-raspberry-pi/" +"scratch/code``) in Scratch 3." + +#: ../scratch/scratch_1.1_wand.rst:41 +msgid "" +"After clicking the magic wand in the stage area, you will see the LED will " +"blink for two seconds." +msgstr "" +"Nachdem du den Zauberstab im Bühnenbereich angeklickt hast, blinkt die LED zwei " +"Sekunden lang." + +#: ../scratch/scratch_1.1_wand.rst:47 +msgid "Tips on Sprite" +msgstr "Tipps zu Figur" + +#: ../scratch/scratch_1.1_wand.rst:49 +msgid "Click on the **Upload Sprite**." +msgstr "Klicken Sie auf die Schaltfläche **Figur hochladen**." + +#: ../scratch/scratch_1.1_wand.rst:53 +msgid "" +"Upload **Wand.png** from the ``home/pi/davinci-kit-for-raspberry-pi/scratch/" +"picture`` path to Scratch 3." +msgstr "" +"Lade **Wand.png** aus dem Pfad ``home/pi/davinci-kit-for-raspberry-pi/scratch/" +"picture`` in Scratch 3 hoch." + +#: ../scratch/scratch_1.1_wand.rst:57 +msgid "Finally, delete the **Sprite1**." +msgstr "Löschen Sie schließlich die **Figur1**." + +#: ../scratch/scratch_1.1_wand.rst:62 +msgid "Tips on Codes" +msgstr "Tipps zu Codes" + +#: ../scratch/scratch_1.1_wand.rst:67 +msgid "" +"This is an event block whose trigger condition is to click on the green flag on " +"the stage. A trigger event is required at the beginning of all codes, and you " +"can select other trigger events in the **Events** category of the **block " +"palette**." +msgstr "" +"Dies ist ein Ereignisblock, dessen Auslösebedingung das Klicken auf die grüne " +"Flagge auf der Bühne ist. Ein Auslöseereignis ist am Anfang aller Codes " +"erforderlich, und Sie können andere Auslöseereignisse in der Kategorie " +"**Ereignisse** der **Blockpalette** auswählen." + +#: ../scratch/scratch_1.1_wand.rst:72 +msgid "For example, we can now change the trigger event to a click on the sprite." +msgstr "" +"Zum Beispiel können wir jetzt das Auslöseereignis in einen Klick auf das Figur " +"ändern." + +#: ../scratch/scratch_1.1_wand.rst:77 +msgid "" +"This is a block with a set number of cycles. When we fill in the number 10, the " +"events in the block will be executed 10 times." +msgstr "" +"Dies ist ein Block mit einer bestimmten Anzahl von Zyklen. Wenn wir die Zahl 10 " +"eingeben, werden die Ereignisse im Block 10 Mal ausgeführt." + +#: ../scratch/scratch_1.1_wand.rst:82 +msgid "This block is used to pause the program for a period of time in seconds." +msgstr "" +"Mit diesem Satz wird das Programm für eine bestimmte Zeitspanne in Sekunden " +"angehalten." + +#: ../scratch/scratch_1.1_wand.rst:87 +msgid "" +"Since the BCM naming method is used in Scratch, this code is setting " +"GPIO17(BCM17) as 0V (low level). Since the cathode of LED is connected to " +"GPIO17, thus the LED will light up. On the contrary, if you set GPIO(BCM17) as " +"high, the LED will turn off." +msgstr "" +"Da in Scratch die BCM-Benennungsmethode verwendet wird, setzt dieser Code " +"GPIO17(BCM17) auf 0V (Low Level). Da die Kathode der LED mit GPIO17 verbunden " +"ist, wird die LED aufleuchten. Wenn Sie dagegen GPIO(BCM17) auf einen hohen " +"Wert einstellen, wird die LED ausgeschaltet." diff --git a/docs/source/locale/de/LC_MESSAGES/scratch/scratch_1.2_colorful_balls.po b/docs/source/locale/de/LC_MESSAGES/scratch/scratch_1.2_colorful_balls.po new file mode 100644 index 0000000..c86dbb8 --- /dev/null +++ b/docs/source/locale/de/LC_MESSAGES/scratch/scratch_1.2_colorful_balls.po @@ -0,0 +1,144 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, sunfounder +# This file is distributed under the same license as the SunFounder Da Vinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Da Vinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-04 15:50+0800\n" +"PO-Revision-Date: 2021-08-04 17:12+0800\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Last-Translator: \n" +"Language-Team: german\n" +"Language: de\n" +"X-Generator: Poedit 3.0\n" + +#: ../scratch/scratch_1.2_colorful_balls.rst:2 +msgid "1.2 Colorful Balls" +msgstr "1.2 Bunte Kugeln" + +#: ../scratch/scratch_1.2_colorful_balls.rst:5 +msgid "" +"Clicking on different colored balls on the stage area will cause the RGB " +"LED to light up in different colors." +msgstr "" +"Wenn du auf verschiedenfarbige Kugeln auf der Bühne klickst, leuchtet " +"die RGB-LED in verschiedenen Farben auf." + +#: ../scratch/scratch_1.2_colorful_balls.rst:10 +msgid "Required Components" +msgstr "Erforderliche Komponenten" + +#: ../scratch/scratch_1.2_colorful_balls.rst:15 +msgid "Build the Circuit" +msgstr "Bauen Sie den Stromkreis auf" + +#: ../scratch/scratch_1.2_colorful_balls.rst:21 +msgid "Load the Code and See What Happens" +msgstr "Laden Sie den Code und sehen Sie, was passiert" + +#: ../scratch/scratch_1.2_colorful_balls.rst:23 +msgid "" +"After loading the code file (``1.2_colorful_balls.sb3``) into Scratch 3, " +"the RGB LED will light up yellow, blue, red, green or purple " +"respectively when you click on the corresponding ball." +msgstr "" +"Nachdem du die Codedatei (``1.2_colorful_balls.sb3``) in Scratch 3 " +"geladen hast, leuchtet die RGB-LED gelb, blau, rot, grün oder lila, wenn " +"du auf den entsprechenden Ball klickst." + +#: ../scratch/scratch_1.2_colorful_balls.rst:26 +msgid "Tips on Sprites" +msgstr "Tipps zu Figur" + +#: ../scratch/scratch_1.2_colorful_balls.rst:28 +msgid "Delete the default sprite, then choose the **Ball** sprite." +msgstr "" +"Löschen Sie das Standard-Sprite und wählen Sie dann das Sprite **Ball**." + +#: ../scratch/scratch_1.2_colorful_balls.rst:32 +msgid "And duplicate it 5 times." +msgstr "Und duplizieren Sie es 5 Mal." + +#: ../scratch/scratch_1.2_colorful_balls.rst:36 +msgid "" +"Choose different costumes for these 5 **Ball** sprites and move them to " +"the corresponding positions." +msgstr "" +"Wähle verschiedene Kostüme für diese 5 **Ball**-Sprites und bewege sie " +"an die entsprechenden Positionen." + +#: ../scratch/scratch_1.2_colorful_balls.rst:41 +msgid "Tips on Codes" +msgstr "Tipps zu Codes" + +#: ../scratch/scratch_1.2_colorful_balls.rst:42 +msgid "" +"Before understanding the code, we need to understand the `RGB color " +"model `_." +msgstr "" +"Bevor wir den Code verstehen, müssen wir das \"RGB-Farbmodell " +"\" verstehen." + +#: ../scratch/scratch_1.2_colorful_balls.rst:44 +msgid "" +"The RGB color model is an additive color model in which red, green, and " +"blue light are added together in various ways to reproduce a broad array " +"of colors." +msgstr "" +"Das RGB-Farbmodell ist ein additives Farbmodell, bei dem rotes, grünes " +"und blaues Licht auf verschiedene Weise addiert werden, um eine breite " +"Palette von Farben zu reproduzieren." + +#: ../scratch/scratch_1.2_colorful_balls.rst:46 +msgid "" +"Additive color mixing: adding red to green yields yellow; adding green " +"to blue yields cyan; adding blue to red yields magenta; adding all three " +"primary colors together yields white." +msgstr "" +"Additive Farbmischung: Wenn man Rot zu Grün addiert, erhält man Gelb; " +"wenn man Grün zu Blau addiert, erhält man Cyan; wenn man Blau zu Rot " +"addiert, erhält man Magenta; wenn man alle drei Grundfarben addiert, " +"erhält man Weiß." + +#: ../scratch/scratch_1.2_colorful_balls.rst:51 +msgid "" +"An RGB LED is a combination of 3 LEDs(red LED, green LED, blue LED ) in " +"just one package, you can produce almost any color by combining those " +"three colors. It has 4 pins, one of which is GND, and the other 3 pins " +"control 3 LEDs respectively." +msgstr "" +"Eine RGB-LED ist eine Kombination von 3 LEDs (rote LED, grüne LED, blaue " +"LED) in nur einem Gehäuse, Sie können fast jede Farbe durch die " +"Kombination dieser drei Farben erzeugen. Sie hat 4 Pins, von denen einer " +"GND ist, und die anderen 3 Pins steuern jeweils 3 LEDs." + +#: ../scratch/scratch_1.2_colorful_balls.rst:54 +msgid "So the code to make the RGB LED light yellow is as follows." +msgstr "" +"Der Code, um die RGB-LED gelb leuchten zu lassen, lautet also wie folgt." + +#: ../scratch/scratch_1.2_colorful_balls.rst:59 +msgid "" +"When the Ball sprite (yellow ball) is clicked, we set gpio17 high (red " +"LED on), gpio18 high (green LED on) and gpio27 low (blue LED off) so " +"that the RGB LED will light yellow." +msgstr "" +"Wenn das Ball-Sprite (gelber Ball) angeklickt wird, setzen wir gpio17 " +"hoch (rote LED an), gpio18 hoch (grüne LED an) und gpio27 niedrig (blaue " +"LED aus), so dass die RGB-LED gelb leuchtet." + +#: ../scratch/scratch_1.2_colorful_balls.rst:61 +msgid "" +"You can Write codes to other sprites in the same way to make the RGB " +"LEDs light up in the corresponding colors." +msgstr "" +"Du kannst auf die gleiche Weise Codes in andere Sprites schreiben, um " +"die RGB-LEDs in den entsprechenden Farben aufleuchten zu lassen." diff --git a/docs/source/locale/de/LC_MESSAGES/scratch/scratch_1.3_tumbler.po b/docs/source/locale/de/LC_MESSAGES/scratch/scratch_1.3_tumbler.po new file mode 100644 index 0000000..15124a8 --- /dev/null +++ b/docs/source/locale/de/LC_MESSAGES/scratch/scratch_1.3_tumbler.po @@ -0,0 +1,95 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, sunfounder +# This file is distributed under the same license as the SunFounder Da Vinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Da Vinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-04 15:50+0800\n" +"PO-Revision-Date: 2021-08-04 17:17+0800\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Last-Translator: \n" +"Language-Team: \n" +"Language: de\n" +"X-Generator: Poedit 3.0\n" + +#: ../scratch/scratch_1.3_tumbler.rst:2 +msgid "1.3 Tumbler" +msgstr "1.3 Becher" + +#: ../scratch/scratch_1.3_tumbler.rst:4 +msgid "In this project, we will make a tilt switch controlled tumbler toy." +msgstr "" +"In diesem Projekt werden wir ein kippschaltergesteuertes Tumbler-Spielzeug " +"bauen." + +#: ../scratch/scratch_1.3_tumbler.rst:9 +msgid "Required Components" +msgstr "Erforderliche Komponenten" + +#: ../scratch/scratch_1.3_tumbler.rst:14 +msgid "Build the Circuit" +msgstr "Bauen Sie den Stromkreis auf" + +#: ../scratch/scratch_1.3_tumbler.rst:20 +msgid "Load the Code and See What Happens" +msgstr "Laden Sie den Code und sehen Sie, was passiert s" + +#: ../scratch/scratch_1.3_tumbler.rst:22 +msgid "Load the code file (``1.3_tumbler.sb3``) to Scratch 3." +msgstr "Lade die Code-Datei (``1.3_tumbler.sb3``) in Scratch 3." + +#: ../scratch/scratch_1.3_tumbler.rst:24 +msgid "" +"When the tilt switch is placed upright, the tumbler is standing. If you tilt " +"it, the tumbler will also fall. Place it upright again, and the tumbler will " +"stand up again." +msgstr "" +"Wenn der Kippschalter senkrecht steht, bleibt der Becher stehen. Wenn Sie ihn " +"kippen, fällt auch der Becher um. Stellen Sie ihn wieder aufrecht, und der " +"Becher steht wieder aufrecht." + +#: ../scratch/scratch_1.3_tumbler.rst:28 +msgid "Tips on Sprite" +msgstr "Tipps zu Figur" + +#: ../scratch/scratch_1.3_tumbler.rst:29 +msgid "" +"Select Sprite1 and click **Costumes** in the top left corner; upload **tumbler1." +"png** and **tumbler2.png** from the ``home/pi/davinci-kit-for-raspberry-pi/" +"scratch/picture`` path via the **Upload Costume** button; delete the default 2 " +"costumes, and rename the sprite to **tumbler**." +msgstr "" + +#: ../scratch/scratch_1.3_tumbler.rst:34 +msgid "Tips on Codes" +msgstr "Tipps zu Codes" + +#: ../scratch/scratch_1.3_tumbler.rst:39 +msgid "When the green flag is clicked, the initial state of gpio17 is set to low." +msgstr "" +"Wenn die grüne Flagge angeklickt wird, wird der Ausgangszustand von gpio17 auf " +"low gesetzt." + +#: ../scratch/scratch_1.3_tumbler.rst:44 +msgid "" +"When pin17 is low (the tilt switch is placed upright), we switch the tumbler " +"sprite's costume to tumbler1 (upright state)." +msgstr "" +"Wenn Pin17 niedrig ist (der Kippschalter ist aufrecht), schalten wir das Kostüm " +"des Tumbler-Sprites auf Tumbler1 (aufrechter Zustand)." + +#: ../scratch/scratch_1.3_tumbler.rst:49 +msgid "" +"When pin17 is high (tilt switch is tilted), switch the tumbler sprite's costume " +"to tumbler2 (tilt state)." +msgstr "" +"Wenn Pin17 High ist (Kippschalter ist gekippt), schaltet das Kostüm des Tumbler-" +"Sprites auf Tumbler2 (Kippzustand)." diff --git a/docs/source/locale/de/LC_MESSAGES/scratch/scratch_1.4_hare.po b/docs/source/locale/de/LC_MESSAGES/scratch/scratch_1.4_hare.po new file mode 100644 index 0000000..69413c7 --- /dev/null +++ b/docs/source/locale/de/LC_MESSAGES/scratch/scratch_1.4_hare.po @@ -0,0 +1,134 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, sunfounder +# This file is distributed under the same license as the SunFounder Da Vinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Da Vinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-04 15:50+0800\n" +"PO-Revision-Date: 2021-08-04 17:22+0800\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Last-Translator: \n" +"Language-Team: \n" +"Language: de\n" +"X-Generator: Poedit 3.0\n" + +#: ../scratch/scratch_1.4_hare.rst:2 +msgid "1.4 Hare" +msgstr "1.4 Hase" + +#: ../scratch/scratch_1.4_hare.rst:4 +msgid "" +"Today, we will use Button, Raspberry Pi and Scratch to create a hare " +"with various changes!" +msgstr "" +"Heute werden wir Button, Raspberry Pi und Scratch verwenden, um einen " +"Hasen mit verschiedenen Veränderungen zu erstellen!" + +#: ../scratch/scratch_1.4_hare.rst:6 +msgid "" +"When we press the first button, the hare in the stage area will change " +"its body color; when we press the second button, the hare will change " +"its body size; when we press the third button, the hare will take a step " +"forward." +msgstr "" +"Wenn wir den ersten Knopf drücken, ändert der Hase im Bühnenbereich " +"seine Körperfarbe; wenn wir den zweiten Knopf drücken, ändert der Hase " +"seine Körpergröße; wenn wir den dritten Knopf drücken, macht der Hase " +"einen Schritt nach vorne." + +#: ../scratch/scratch_1.4_hare.rst:11 +msgid "Required Components" +msgstr "Erforderliche Komponenten" + +#: ../scratch/scratch_1.4_hare.rst:16 +msgid "Build the Circuit" +msgstr "Bauen Sie den Stromkreis auf" + +#: ../scratch/scratch_1.4_hare.rst:21 +msgid "Load the Code and See What Happens" +msgstr "Laden Sie den Code und sehen Sie, was passiert" + +#: ../scratch/scratch_1.4_hare.rst:23 +msgid "Load the code file (``1.4_hare.sb3``) into Scratch 3." +msgstr "Lade die Code-Datei (``1.4_hare.sb3``) in Scratch 3." + +#: ../scratch/scratch_1.4_hare.rst:25 +msgid "" +"Now you can try to press each of the 3 buttons to see how the Hare on " +"the stage will change." +msgstr "" +"Jetzt kannst du versuchen, jeden der 3 Knöpfe zu drücken, um zu sehen, " +"wie sich der Hase auf der Bühne verändert." + +#: ../scratch/scratch_1.4_hare.rst:29 +msgid "Tips on Sprite" +msgstr "Tipps zu Figur" + +#: ../scratch/scratch_1.4_hare.rst:31 +msgid "" +"Click the **Choose a Sprite** button in the lower right corner of the " +"sprite area, enter **Hare** in the search box, and then click to add it." +msgstr "" +"Klicken Sie auf die Schaltfläche **Figur auswählen** in der unteren " +"rechten Ecke des Sprite-Bereichs, geben Sie **Hase** in das Suchfeld " +"ein, und klicken Sie dann, um es hinzuzufügen." + +#: ../scratch/scratch_1.4_hare.rst:35 +msgid "Delete Sprite1." +msgstr "Löschen Sie Figur1." + +#: ../scratch/scratch_1.4_hare.rst:41 +msgid "Tips on Codes" +msgstr "Tipps zu Codes" + +#: ../scratch/scratch_1.4_hare.rst:46 +msgid "" +"This is an event block that is triggered when the level of GPIO17 is " +"high, which means that the button is pressed at that moment." +msgstr "" +"Dies ist ein Ereignisblock, der ausgelöst wird, wenn der Pegel von " +"GPIO17 hoch ist, was bedeutet, dass die Taste zu diesem Zeitpunkt " +"gedrückt wird." + +#: ../scratch/scratch_1.4_hare.rst:51 +msgid "" +"This is a block to change the color of **Hare**, the range of the value " +"is 0 ~ 199, beyond 199 will change from 0 again." +msgstr "" +"Dies ist ein Block, um die Farbe von **Hase** zu ändern, der Bereich des " +"Wertes ist 0 ~ 199, über 199 wird wieder von 0 geändert." + +#: ../scratch/scratch_1.4_hare.rst:56 +msgid "" +"This is a block used to change the size for sprite, the higher the " +"value, the larger the sprite." +msgstr "" +"Dies ist ein Block, der verwendet wird, um die Größe für das Sprite zu " +"ändern. Je höher der Wert, desto größer das Sprite." + +#: ../scratch/scratch_1.4_hare.rst:59 +msgid "" +"The sprite is also not infinitely large, and its maximum size is related " +"to the original image size." +msgstr "" +"Das Sprite ist auch nicht unendlich groß, und seine maximale Größe hängt " +"von der Größe des Originalbildes ab." + +#: ../scratch/scratch_1.4_hare.rst:64 +msgid "" +"This is a block that switches sprite costumes, and when **Hare**'s " +"costume keeps switching, it does a series of coherent actions. For " +"example, in this project, make **Hare** take a step forward." +msgstr "" +"Dies ist ein Block, der die Kostüme der Sprites wechselt. Wenn **Hase** " +"sein Kostüm wechselt, führt er eine Reihe von kohärenten Aktionen aus. " +"In diesem Projekt soll **Hase** zum Beispiel einen Schritt nach vorne " +"machen." diff --git a/docs/source/locale/de/LC_MESSAGES/scratch/scratch_1.5_wake_up_the_owl.po b/docs/source/locale/de/LC_MESSAGES/scratch/scratch_1.5_wake_up_the_owl.po new file mode 100644 index 0000000..452d7b4 --- /dev/null +++ b/docs/source/locale/de/LC_MESSAGES/scratch/scratch_1.5_wake_up_the_owl.po @@ -0,0 +1,104 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, sunfounder +# This file is distributed under the same license as the SunFounder Da Vinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Da Vinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-04 15:50+0800\n" +"PO-Revision-Date: 2021-08-04 17:28+0800\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Last-Translator: \n" +"Language-Team: \n" +"Language: de\n" +"X-Generator: Poedit 3.0\n" + +#: ../scratch/scratch_1.5_wake_up_the_owl.rst:2 +msgid "1.5 Wake up the Owl" +msgstr "1.5 Weck die Eule auf" + +#: ../scratch/scratch_1.5_wake_up_the_owl.rst:4 +msgid "Today we are going to play a game of waking up the owl." +msgstr "" +"Heute werden wir ein Spiel spielen, bei dem es darum geht, die Eule zu wecken." + +#: ../scratch/scratch_1.5_wake_up_the_owl.rst:6 +msgid "" +"When someone approaches the PIR sensor module, the owl will wake up from sleep." +msgstr "" +"Wenn sich jemand dem PIR-Sensormodul nähert, erwacht die Eule aus dem Schlaf." + +#: ../scratch/scratch_1.5_wake_up_the_owl.rst:11 +msgid "Required Components" +msgstr "Erforderliche Komponenten" + +#: ../scratch/scratch_1.5_wake_up_the_owl.rst:16 +msgid "Build the Circuit" +msgstr "Bauen Sie den Stromkreis auf" + +#: ../scratch/scratch_1.5_wake_up_the_owl.rst:21 +msgid "Load the Code and See What Happens" +msgstr "Laden Sie den Code und sehen Sie, was passiert" + +#: ../scratch/scratch_1.5_wake_up_the_owl.rst:23 +msgid "Load the code file (``1.5_wake_up_the_owl.sb3``) to Scratch 3." +msgstr "Laden Sie die Codedatei (``1.5_wake_up_the_owl.sb3``) in Scratch 3." + +#: ../scratch/scratch_1.5_wake_up_the_owl.rst:25 +msgid "" +"When you approach the PIR sensor module, you will see the owl on the stage area " +"open its wings and wake up, and when you leave, the owl will go back to sleep " +"again." +msgstr "" +"Wenn Sie sich dem PIR-Sensormodul nähern, sehen Sie, wie die Eule auf dem " +"Bühnenbereich ihre Flügel öffnet und aufwacht, und wenn Sie gehen, schläft die " +"Eule wieder ein." + +#: ../scratch/scratch_1.5_wake_up_the_owl.rst:29 +msgid "Tips on Sprite" +msgstr "Tipps zu Figur" + +#: ../scratch/scratch_1.5_wake_up_the_owl.rst:31 +msgid "" +"Select Sprite1 and click **Costumes** in the top left corner; upload **owl1." +"png** and **owl2.png** from the ``home/pi/davinci-kit-for-raspberry-pi/scratch/" +"picture`` path via the **Upload Costume** button; delete the default 2 " +"costumes, and rename the sprite to **owl**." +msgstr "" +"Wählen Sie Sprite1 und klicken Sie auf **Kostüme** in der oberen linken Ecke; " +"laden Sie **owl1.png** und **owl2.png** aus dem Pfad ``home/pi/davinci-kit-for-" +"raspberry-pi/scratch/picture`` über die Schaltfläche **Kostüm hochladen** hoch; " +"löschen Sie die 2 Standardkostüme und benennen Sie das Sprite in **owl** um." + +#: ../scratch/scratch_1.5_wake_up_the_owl.rst:36 +msgid "Tips on Codes" +msgstr "Tipps zu Codes" + +#: ../scratch/scratch_1.5_wake_up_the_owl.rst:41 +msgid "When the green flag is clicked, the initial state of gpio17 is set to low." +msgstr "" +"Wenn die grüne Flagge angeklickt wird, wird der Ausgangszustand von gpio17 auf " +"low gesetzt." + +#: ../scratch/scratch_1.5_wake_up_the_owl.rst:46 +msgid "" +"When pin17 is low (no one is approaching), switch the costume of the owl sprite " +"to owl1 (sleeping state)." +msgstr "" +"Wenn Pin17 niedrig ist (es nähert sich niemand), schalte das Kostüm des Eulen-" +"Sprites auf Eule1 (Schlafzustand)." + +#: ../scratch/scratch_1.5_wake_up_the_owl.rst:51 +msgid "" +"When pin17 is high (someone is approaching), we switch the costume of owl " +"sprite to owl2 (wake up state)." +msgstr "" +"Wenn Pin17 hoch ist (jemand nähert sich), schalten wir das Kostüm des Eulen-" +"Sprites auf Eule2 (Wachzustand)." diff --git a/docs/source/locale/de/LC_MESSAGES/scratch/scratch_1.6_water_lamp.po b/docs/source/locale/de/LC_MESSAGES/scratch/scratch_1.6_water_lamp.po new file mode 100644 index 0000000..3a73257 --- /dev/null +++ b/docs/source/locale/de/LC_MESSAGES/scratch/scratch_1.6_water_lamp.po @@ -0,0 +1,155 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, sunfounder +# This file is distributed under the same license as the SunFounder Da Vinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Da Vinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-04 15:50+0800\n" +"PO-Revision-Date: 2021-08-04 17:32+0800\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Last-Translator: \n" +"Language-Team: \n" +"Language: de\n" +"X-Generator: Poedit 3.0\n" + +#: ../scratch/scratch_1.6_water_lamp.rst:2 +msgid "1.6 Water Lamp" +msgstr "1.6 Water Lamp" + +#: ../scratch/scratch_1.6_water_lamp.rst:5 +msgid "" +"Today, we will use LED Bar Graph, Raspberry Pi and scratch to make a " +"Water Lamp." +msgstr "" +"Heute werden wir mit LED-Balkengrafik, Raspberry Pi und Scratch eine " +"Wasserlampe bauen." + +#: ../scratch/scratch_1.6_water_lamp.rst:7 +msgid "" +"The LED Bar Graph will light up in order with the direction of the " +"arrows on the stage." +msgstr "" +"Die LED-Balkenanzeige leuchtet in der Reihenfolge der Pfeile auf der " +"Bühne auf." + +#: ../scratch/scratch_1.6_water_lamp.rst:12 +msgid "Required Components" +msgstr "Erforderliche Komponenten" + +#: ../scratch/scratch_1.6_water_lamp.rst:17 +msgid "Build the Circuit" +msgstr "Bauen Sie den Stromkreis auf" + +#: ../scratch/scratch_1.6_water_lamp.rst:22 +msgid "Load the Code and See What Happens" +msgstr "Laden Sie den Code und sehen Sie, was passiert" + +#: ../scratch/scratch_1.6_water_lamp.rst:24 +msgid "" +"Load the code file (``1.6_water_lamp.sb3``) from your computer to " +"Scratch 3." +msgstr "" +"Lade die Code-Datei (``1.6_water_lamp.sb3``) von deinem Computer in " +"Scratch 3." + +#: ../scratch/scratch_1.6_water_lamp.rst:26 +msgid "" +"By clicking on **Arrow1**, the LEDs on the LED bar are lit in sequence " +"from the left to the right (one at a time) and then off. Click " +"**Arrow2** and the LEDs light up in the opposite order." +msgstr "" +"Wenn Sie auf **Pfeil1** klicken, leuchten die LEDs auf der LED-Leiste " +"nacheinander von links nach rechts auf (eine nach der anderen) und gehen " +"dann aus. Klicken Sie auf **Pfeil2** und die LEDs leuchten in der " +"umgekehrten Reihenfolge auf." + +#: ../scratch/scratch_1.6_water_lamp.rst:29 +msgid "Tips on Sprites" +msgstr "Tipps zu Figur" + +#: ../scratch/scratch_1.6_water_lamp.rst:31 +msgid "Delete the default sprite and choose the **Arrow1** sprite." +msgstr "" +"Löschen Sie das Standard-Figur und wählen Sie das Figur **Pfeil1**." + +#: ../scratch/scratch_1.6_water_lamp.rst:35 +msgid "" +"Here we will need 2 **Arrow1** sprites, which can be done with the " +"duplicate button." +msgstr "" +"Hier benötigen wir 2 **Pfeil1**-Sprites, die mit dem Duplikat-Button " +"erstellt werden können." + +#: ../scratch/scratch_1.6_water_lamp.rst:39 +msgid "" +"Click on the **Arrow 2** sprite and change the direction of the arrow by " +"selecting costume 2." +msgstr "" +"Klicken Sie auf das Sprite **Pfeil 2** und ändern Sie die Richtung des " +"Pfeils, indem Sie Kostüm 2 wählen." + +#: ../scratch/scratch_1.6_water_lamp.rst:44 +msgid "Now let's make a variable." +msgstr "Nun wollen wir eine Variable erstellen." + +#: ../scratch/scratch_1.6_water_lamp.rst:49 +msgid "Name it as **num**." +msgstr "Benennen Sie es als **num**." + +#: ../scratch/scratch_1.6_water_lamp.rst:54 +msgid "Follow the same method to create a list called **led**." +msgstr "Gehen Sie genauso vor, um eine Liste namens **led** zu erstellen." + +#: ../scratch/scratch_1.6_water_lamp.rst:59 +msgid "" +"After adding, you should see the **num** variable and the **led** list " +"on the stage area." +msgstr "" +"Nach dem Hinzufügen sollten Sie die Variable **num** und die Liste " +"**led** im Bühnenbereich sehen." + +#: ../scratch/scratch_1.6_water_lamp.rst:61 +msgid "" +"Click **+** to add 10 list items and enter the pin numbers in order " +"(17,18,27,22,23,24,25,2,3,8)." +msgstr "" +"Klicken Sie auf **+**, um 10 Listenelemente hinzuzufügen, und geben Sie " +"die Pin-Nummern der Reihe nach ein (17,18,27,22,23,24,25,2,3,8)." + +#: ../scratch/scratch_1.6_water_lamp.rst:66 +msgid "Tips on Codes" +msgstr "Tipps zu Codes" + +#: ../scratch/scratch_1.6_water_lamp.rst:71 +msgid "" +"This is an event block that is triggered when the current sprite is " +"clicked." +msgstr "" +"Dies ist ein Ereignisblock, der ausgelöst wird, wenn das aktuelle Sprite " +"angeklickt wird." + +#: ../scratch/scratch_1.6_water_lamp.rst:76 +msgid "" +"The initial value of the **num** variable determines which LED is lit " +"first." +msgstr "" +"Der Anfangswert der Variablen **num** bestimmt, welche LED zuerst " +"leuchtet." + +#: ../scratch/scratch_1.6_water_lamp.rst:81 +msgid "" +"Set the pin corresponding to **num** in the led list to low to light the " +"LED, and then set the pin corresponding to **num-1** to high to turn off " +"the previous LED." +msgstr "" +"Setzen Sie den Pin mit der Nummer **num** in der LED-Liste auf low, um " +"die LED zum Leuchten zu bringen, und setzen Sie dann den Pin mit der " +"Nummer **num-1** auf high, um die vorherige LED auszuschalten." diff --git a/docs/source/locale/de/LC_MESSAGES/scratch/scratch_1.7_doorbell.po b/docs/source/locale/de/LC_MESSAGES/scratch/scratch_1.7_doorbell.po new file mode 100644 index 0000000..8c07f76 --- /dev/null +++ b/docs/source/locale/de/LC_MESSAGES/scratch/scratch_1.7_doorbell.po @@ -0,0 +1,119 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, sunfounder +# This file is distributed under the same license as the SunFounder Da Vinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Da Vinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-04 15:50+0800\n" +"PO-Revision-Date: 2021-08-04 17:37+0800\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Last-Translator: \n" +"Language-Team: \n" +"Language: de\n" +"X-Generator: Poedit 3.0\n" + +#: ../scratch/scratch_1.7_doorbell.rst:2 +msgid "1.7 Doorbell" +msgstr "1.7 Türklingel" + +#: ../scratch/scratch_1.7_doorbell.rst:4 +msgid "" +"Today we will make a doorbell, click the button3 sprite on the stage, " +"the buzzer will sound; click again, the buzzer will stop sounding." +msgstr "" +"Heute werden wir eine Türklingel bauen, klicke auf das Button3-Sprite " +"auf der Bühne, der Summer ertönt; klicke erneut, der Summer hört auf zu " +"ertönen." + +#: ../scratch/scratch_1.7_doorbell.rst:9 +msgid "Required Components" +msgstr "Erforderliche Komponenten" + +#: ../scratch/scratch_1.7_doorbell.rst:14 +msgid "Build the Circuit" +msgstr "Bauen Sie den Stromkreis auf" + +#: ../scratch/scratch_1.7_doorbell.rst:19 +msgid "Load the Code and See What Happens" +msgstr "Laden Sie den Code und sehen Sie, was passiert" + +#: ../scratch/scratch_1.7_doorbell.rst:21 +msgid "Load the code file (``1.7_doorbell.sb3``) to Scratch 3." +msgstr "Lade die Code-Datei (``1.7_doorbell.sb3``) in Scratch 3." + +#: ../scratch/scratch_1.7_doorbell.rst:23 +msgid "" +"Click on the green flag on the stage. When we click on the Button 3 " +"sprite, it will turn blue and then the buzzer will sound; when we click " +"again, the **Button3** sprite reverts to gray and the buzzer stops " +"sounding." +msgstr "" +"Klicken Sie auf die grüne Flagge auf der Bühne. Wenn wir auf das Sprite " +"Button 3 klicken, wird es blau und der Summer ertönt. Wenn wir erneut " +"klicken, wird das Sprite **Button3** wieder grau und der Summer hört auf " +"zu ertönen." + +#: ../scratch/scratch_1.7_doorbell.rst:27 +msgid "Tips on Sprite" +msgstr "Tipps zu Figur" + +#: ../scratch/scratch_1.7_doorbell.rst:29 +msgid "Delete the default sprite, then choose the **Button 3** sprite." +msgstr "" +"Löschen Sie das Standard-Sprite und wählen Sie dann das Sprite **Button " +"3**." + +#: ../scratch/scratch_1.7_doorbell.rst:33 +msgid "Then set the size to 200." +msgstr "Dann setzen Sie die Größe auf 200." + +#: ../scratch/scratch_1.7_doorbell.rst:38 +msgid "Tips on Codes" +msgstr "Tipps zu Codes" + +#: ../scratch/scratch_1.7_doorbell.rst:43 +msgid "This block allows you to switch the sprite's costume." +msgstr "Mit diesem Block kannst du das Kostüm des Sprites wechseln." + +#: ../scratch/scratch_1.7_doorbell.rst:48 +msgid "" +"Set gpio17 to low to make the buzzer sound; set it to high and the " +"buzzer will not sound." +msgstr "" +"Setzen Sie gpio17 auf niedrig, damit der Summer ertönt; stellen Sie ihn " +"auf hoch und der Summer ertönt nicht." + +#: ../scratch/scratch_1.7_doorbell.rst:51 +msgid "" +"The **status** switch is used here, and we will use a flowchart to help " +"you understand the whole code." +msgstr "" +"Hier wird der Schalter **status** verwendet, und wir verwenden ein " +"Flussdiagramm, um Ihnen das Verständnis des gesamten Codes zu " +"erleichtern." + +#: ../scratch/scratch_1.7_doorbell.rst:53 +msgid "" +"When the green flag is clicked, the **status** will be set to 0 first, " +"and wait for the sprite to be clicked at this time; if **button3** " +"sprite is clicked, it will switch to costume as **button-b** costume " +"(blue) and the **status** will be set to 1. When the main program " +"receives the **status** as 1, it will let the buzzer sound at 0.1s " +"interval. If **button3** is clicked again, it will switch to **button-" +"a** costume (gray) and **status** will be set to 0 again." +msgstr "" +"Wenn das grüne Flag angeklickt wird, wird der **Status** zuerst auf 0 " +"gesetzt und gewartet, bis das Sprite zu diesem Zeitpunkt angeklickt " +"wird; Wenn **button3** geklickt wird, wechselt es zum Kostüm als " +"**button-b** Kostüm (blau) und der **Status** wird auf 1 gesetzt. Wenn " +"das Hauptprogramm den **Status* erhält * als 1 wird der Summer im 0,1s-" +"Intervall ertönt. Wenn **button3** erneut geklickt wird, wechselt es zu " +"**button-a** Kostüm (grau) und **status** wird wieder auf 0 gesetzt." diff --git a/docs/source/locale/de/LC_MESSAGES/scratch/scratch_1.8_123_wooden_man.po b/docs/source/locale/de/LC_MESSAGES/scratch/scratch_1.8_123_wooden_man.po new file mode 100644 index 0000000..9b63061 --- /dev/null +++ b/docs/source/locale/de/LC_MESSAGES/scratch/scratch_1.8_123_wooden_man.po @@ -0,0 +1,135 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, sunfounder +# This file is distributed under the same license as the SunFounder Da Vinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Da Vinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-04 15:50+0800\n" +"PO-Revision-Date: 2021-08-04 17:41+0800\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Last-Translator: \n" +"Language-Team: \n" +"Language: de\n" +"X-Generator: Poedit 3.0\n" + +#: ../scratch/scratch_1.8_123_wooden_man.rst:2 +msgid "1.8 123 Wooden Man" +msgstr "1.8 123 Holzmann" + +#: ../scratch/scratch_1.8_123_wooden_man.rst:4 +msgid "Today, we are going to play a game of 123 wooden man." +msgstr "Heute spielen wir 123 Holzmann." + +#: ../scratch/scratch_1.8_123_wooden_man.rst:6 +msgid "" +"Click on the green flag to start the game, hold down the right arrow key " +"on the keyboard to make the sprite go right. If the green light is on, " +"the sprite can move; but when the red LED is on, you have to stop the " +"sprite from moving; otherwise the buzzer will keep ringing." +msgstr "" +"Klicken Sie auf die grüne Flagge, um das Spiel zu starten, halten Sie die " +"rechte Pfeiltaste auf der Tastatur gedrückt, um das Sprite nach rechts zu " +"bewegen. Wenn das grüne Licht leuchtet, kann sich das Sprite bewegen; " +"aber wenn die rote LED leuchtet, müssen Sie die Bewegung des Sprites " +"stoppen; andernfalls klingelt der Summer weiter." + +#: ../scratch/scratch_1.8_123_wooden_man.rst:11 +msgid "Required Components" +msgstr "Erforderliche Komponenten" + +#: ../scratch/scratch_1.8_123_wooden_man.rst:16 +msgid "Build the Circuit" +msgstr "Baue die Schaltung" + +#: ../scratch/scratch_1.8_123_wooden_man.rst:22 +msgid "Load the Code and See What Happens" +msgstr "Laden Sie den Code und sehen Sie, was passiert" + +#: ../scratch/scratch_1.8_123_wooden_man.rst:24 +msgid "Load the code file (``1.8_123_wooden_man.sb3``) to Scratch 3." +msgstr "Laden Sie die Codedatei (``1.8_123_wooden_man.sb3``) in Scratch 3." + +#: ../scratch/scratch_1.8_123_wooden_man.rst:26 +msgid "" +"When the green LED is on, you can use the right arrow key to control " +"**Avery** to walk to the right; when the red LED is on, if you continue " +"to let **Avery** move to the right, then an alarm will sound." +msgstr "" +"Wenn die grüne LED leuchtet, können Sie **Avery** mit der rechten " +"Pfeiltaste so steuern, dass sie nach rechts geht; Wenn die rote LED " +"leuchtet und Sie **Avery** weiter nach rechts bewegen lassen, ertönt ein " +"Alarm." + +#: ../scratch/scratch_1.8_123_wooden_man.rst:29 +msgid "Tips on Sprite" +msgstr "Tipps zu Sprite" + +#: ../scratch/scratch_1.8_123_wooden_man.rst:30 +msgid "Delete the default sprite, then choose the **Avery Walking** sprite." +msgstr "" +"Löschen Sie das Standard-Sprite und wählen Sie dann das **Avery Walking**-" +"Sprite." + +#: ../scratch/scratch_1.8_123_wooden_man.rst:36 +msgid "Tips on Codes" +msgstr "Tipps zu Codes" + +#: ../scratch/scratch_1.8_123_wooden_man.rst:41 +msgid "Initialize all pins to high." +msgstr "Initialisieren Sie alle Pins auf High." + +#: ../scratch/scratch_1.8_123_wooden_man.rst:46 +msgid "" +"When the game starts, assign the status variable to 1, indicating that " +"the Avery Walking sprite is movable, and then set gpio18 to low, which " +"lights up the green LED for 5s." +msgstr "" +"Wenn das Spiel startet, weisen Sie die Statusvariable auf 1 zu, um " +"anzuzeigen, dass das Avery Walking-Sprite beweglich ist, und setzen Sie " +"dann gpio18 auf niedrig, wodurch die grüne LED 5 Sekunden lang " +"aufleuchtet." + +#: ../scratch/scratch_1.8_123_wooden_man.rst:51 +msgid "" +"Set gpio18 to high, then set gpio27 to low, which means turn off the " +"green LED and light up the yellow LED for 0.5s." +msgstr "" +"Setzen Sie gpio18 auf hoch und dann gpio27 auf niedrig, d.h. schalten Sie " +"die grüne LED aus und leuchten Sie die gelbe LED für 0,5s auf." + +#: ../scratch/scratch_1.8_123_wooden_man.rst:56 +msgid "" +"Assign the status variable to 0, which means the Avery Walking sprite is " +"not moving; then set gpio27 to low and gpio17 to high, which turns off " +"the yellow LED and then lights up the red LED for 3s. Finally, set gpio17 " +"to high to turn off the red LED." +msgstr "" +"Weisen Sie die Statusvariable auf 0 zu, was bedeutet, dass sich das Avery " +"Walking-Sprite nicht bewegt; setze dann gpio27 auf low und gpio17 auf " +"high, was die gelbe LED ausschaltet und dann die rote LED für 3s " +"aufleuchtet. Setzen Sie schließlich gpio17 auf hoch, um die rote LED " +"auszuschalten." + +#: ../scratch/scratch_1.8_123_wooden_man.rst:61 +msgid "" +"When we press the right arrow key on the keyboard, we need to switch the " +"**Avery Walking** sprite to the next costume so that we can see Avery " +"walking to the right. Then we need to determine the value of the " +"**status** variable. If it is 0, it means that the Avery Walking sprite " +"is not moving at this moment, and the buzzer will sound to warn you that " +"you cannot press the right arrow key again." +msgstr "" +"Wenn wir die rechte Pfeiltaste auf der Tastatur drücken, müssen wir das " +"Sprite **Avery Walking** auf das nächste Kostüm umschalten, damit wir " +"Avery nach rechts gehen sehen. Dann müssen wir den Wert der Variable " +"**status** bestimmen. Wenn es 0 ist, bedeutet dies, dass sich das Avery " +"Walking-Sprite in diesem Moment nicht bewegt, und der Summer ertönt, um " +"Sie zu warnen, dass Sie die rechte Pfeiltaste nicht erneut drücken können." diff --git a/docs/source/locale/de/LC_MESSAGES/scratch/scratch_1.9_inflating_the_balloon.po b/docs/source/locale/de/LC_MESSAGES/scratch/scratch_1.9_inflating_the_balloon.po new file mode 100644 index 0000000..f55e352 --- /dev/null +++ b/docs/source/locale/de/LC_MESSAGES/scratch/scratch_1.9_inflating_the_balloon.po @@ -0,0 +1,160 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, sunfounder +# This file is distributed under the same license as the SunFounder Da Vinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Da Vinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-04 15:50+0800\n" +"PO-Revision-Date: 2021-08-04 17:45+0800\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Last-Translator: \n" +"Language-Team: \n" +"Language: de\n" +"X-Generator: Poedit 3.0\n" + +#: ../scratch/scratch_1.9_inflating_the_balloon.rst:2 +msgid "1.9 Inflating the Balloon" +msgstr "1.9 Aufblasen des Ballons" + +#: ../scratch/scratch_1.9_inflating_the_balloon.rst:4 +msgid "Here, we will play a game of ballooning." +msgstr "Hier spielen wir eine Ballonfahrt." + +#: ../scratch/scratch_1.9_inflating_the_balloon.rst:6 +msgid "" +"By toggling Slide to the left to start to inflate the balloon, at this time " +"the balloon will get bigger and bigger. If the balloon is too large will blow " +"up; if the balloon is too small, it will not float into the air. You need to " +"judge when to toggle the switch to the right to stop pumping." +msgstr "" +"Durch Umschalten von Slide nach links, um den Ballon aufzublasen, wird der " +"Ballon zu diesem Zeitpunkt immer größer. Wenn der Ballon zu groß ist, bläst " +"er auf; Wenn der Ballon zu klein ist, schwebt er nicht in der Luft. Sie " +"müssen beurteilen, wann Sie den Schalter nach rechts schieben müssen, um das " +"Pumpen zu stoppen." + +#: ../scratch/scratch_1.9_inflating_the_balloon.rst:11 +msgid "Required Components" +msgstr "Erforderliche Komponenten" + +#: ../scratch/scratch_1.9_inflating_the_balloon.rst:16 +msgid "Build the Circuit" +msgstr "Baue die Schaltung" + +#: ../scratch/scratch_1.9_inflating_the_balloon.rst:21 +msgid "Load the Code and See What Happens" +msgstr "Laden Sie den Code und sehen Sie, was passiert" + +#: ../scratch/scratch_1.9_inflating_the_balloon.rst:23 +msgid "Load the code file (``1.9_inflating_the_balloon.sb3``) to Scratch 3." +msgstr "" +"Laden Sie die Codedatei (``1.9_inflating_the_balloon.sb3``) in Scratch 3." + +#: ../scratch/scratch_1.9_inflating_the_balloon.rst:25 +msgid "" +"By toggling Slider to the left to start to inflate the balloon, at this time " +"the balloon will get bigger and bigger. If the balloon is too large will blow " +"up; if the balloon is too small, it will not float into the air. You need to " +"judge when to toggle the switch to the right to stop pumping." +msgstr "" +"Durch Umschalten des Schiebereglers nach links, um mit dem Aufblasen des " +"Ballons zu beginnen, wird der Ballon zu diesem Zeitpunkt immer größer. Wenn " +"der Ballon zu groß ist, bläst er auf; Wenn der Ballon zu klein ist, schwebt " +"er nicht in der Luft. Sie müssen beurteilen, wann Sie den Schalter nach " +"rechts schieben müssen, um das Pumpen zu stoppen." + +#: ../scratch/scratch_1.9_inflating_the_balloon.rst:29 +msgid "Tips on Sprite" +msgstr "Tipps zu Figur" + +#: ../scratch/scratch_1.9_inflating_the_balloon.rst:31 +msgid "Delete the previous Sprite1 sprite, then add the **Balloon1** sprite." +msgstr "" +"Löschen Sie das vorherige Sprite1-Sprite und fügen Sie dann das **Balloon1**-" +"Sprite hinzu." + +#: ../scratch/scratch_1.9_inflating_the_balloon.rst:35 +msgid "" +"A balloon explosion sound effect is used in this project, so let's see how it " +"was added." +msgstr "" +"In diesem Projekt wird ein Ballonexplosions-Soundeffekt verwendet. Sehen wir " +"uns also an, wie er hinzugefügt wurde." + +#: ../scratch/scratch_1.9_inflating_the_balloon.rst:37 +msgid "" +"Click the **Sound** option at the top, then click **Upload Sound** to upload " +"``boom.wav`` from the ``home/pi/davinci-kit-for-raspberry-pi/scratch/sound`` " +"path to Scratch 3." +msgstr "" +"Klicken Sie oben auf die Option **Sound** und dann auf **Sound hochladen**, " +"um ``boom.wav`` von ``home/pi/davinci-kit-for-raspberry-pi/scratch/sound`` hochzuladen. Pfad zu Scratch 3." + +#: ../scratch/scratch_1.9_inflating_the_balloon.rst:42 +msgid "Tips on Codes" +msgstr "Tipps zu Codes" + +#: ../scratch/scratch_1.9_inflating_the_balloon.rst:47 +msgid "" +"This is an event block, and the trigger condition is that gpio17 is high, " +"that is, the switch is toggled to the left." +msgstr "" +"Dies ist ein Ereignisblock, und die Triggerbedingung ist, dass gpio17 hoch " +"ist, dh der Schalter wird nach links geschaltet." + +#: ../scratch/scratch_1.9_inflating_the_balloon.rst:52 +msgid "Set the size threshold of the Ballon1 sprite to 120" +msgstr "Stellen Sie die Größenschwelle des Ballon1-Sprites auf 120 . ein" + +#: ../scratch/scratch_1.9_inflating_the_balloon.rst:57 +msgid "" +"Move the coordinates of the Balloon1 sprite to (0,0), which is the center of " +"the stage area." +msgstr "" +"Verschieben Sie die Koordinaten des Sprites Balloon1 auf (0,0), die Mitte des " +"Bühnenbereichs." + +#: ../scratch/scratch_1.9_inflating_the_balloon.rst:62 +msgid "Set the size of the Balloon1 sprite to 50 and show it in the stage area." +msgstr "" +"Stellen Sie die Größe des Balloon1-Sprites auf 50 ein und zeigen Sie es im " +"Bühnenbereich an." + +#: ../scratch/scratch_1.9_inflating_the_balloon.rst:67 +msgid "" +"Set up a loop to inflate the balloon, this loop stops when the slider switch " +"is toggled to the right." +msgstr "" +"Richten Sie eine Schlaufe zum Aufblasen des Ballons ein. Diese Schlaufe " +"stoppt, wenn der Schieberegler nach rechts geschoben wird." + +#: ../scratch/scratch_1.9_inflating_the_balloon.rst:69 +msgid "" +"Within this loop, the balloon size is increased by 1 every 0.1s, and if it is " +"larger than ``maxSize``, the balloon will burst, at which point the boom " +"sound is made and the code is exited." +msgstr "" +"Innerhalb dieser Schleife wird die Ballongröße alle 0,1s um 1 erhöht, und " +"wenn sie größer als ``maxSize`` ist, platzt die Sprechblase, woraufhin das " +"Boom-Geräusch erzeugt und der Code verlassen wird." + +#: ../scratch/scratch_1.9_inflating_the_balloon.rst:74 +msgid "" +"After the last loop exits (Slider toggles to the right), determine the " +"position of the Balloon1 sprite based on its size. If the size of the " +"Balloon1 sprite is greater than 90, lift off (move the coordinates to (0, " +"90), otherwise land (move the coordinates to (0, -149)." +msgstr "" +"Nachdem die letzte Schleife beendet wurde (Slider schaltet nach rechts), " +"bestimmen Sie die Position des Balloon1-Sprites basierend auf seiner Größe. " +"Wenn die Größe des Balloon1-Sprites größer als 90 ist, heben Sie ab (bewegen " +"Sie die Koordinaten auf (0, 90), andernfalls landen Sie (bewegen Sie die " +"Koordinaten auf (0, -149)." diff --git a/docs/source/locale/de/LC_MESSAGES/scratch/scratch_project.po b/docs/source/locale/de/LC_MESSAGES/scratch/scratch_project.po new file mode 100644 index 0000000..a3b3a1d --- /dev/null +++ b/docs/source/locale/de/LC_MESSAGES/scratch/scratch_project.po @@ -0,0 +1,49 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, sunfounder +# This file is distributed under the same license as the SunFounder Da Vinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Da Vinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-04 15:50+0800\n" +"PO-Revision-Date: 2021-08-04 17:50+0800\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Last-Translator: \n" +"Language-Team: \n" +"Language: de\n" +"X-Generator: Poedit 3.0\n" + +#: ../scratch/scratch_project.rst:2 +msgid "Projects" +msgstr "Projekte" + +#: ../scratch/scratch_project.rst:4 +msgid "In this chapter, you will play with Scratch 3 through 18 projects." +msgstr "In diesem Kapitel spielen Sie mit Scratch 3 durch 18 Projekte." + +#: ../scratch/scratch_project.rst:6 +msgid "" +"If you are a user who has just used Scratch 3, we recommend that you try " +"the projects in order so that you can quickly get started with Scratch 3." +msgstr "" +"Wenn Sie ein Benutzer sind, der gerade Scratch 3 verwendet hat, " +"empfehlen wir Ihnen, die Projekte der Reihe nach auszuprobieren, damit " +"Sie schnell mit Scratch 3 beginnen können." + +#: ../scratch/scratch_project.rst:9 +msgid "" +"Before trying the projects, you should have downloaded the relevant " +"materials and code files. Open a Terminal and enter the following " +"command to download them from github." +msgstr "" +"Bevor Sie die Projekte ausprobieren, sollten Sie die entsprechenden " +"Materialien und Codedateien heruntergeladen haben. Öffnen Sie ein " +"Terminal und geben Sie den folgenden Befehl ein, um sie von github " +"herunterzuladen." diff --git a/docs/source/locale/de/LC_MESSAGES/set_up_your_raspberry_pi.po b/docs/source/locale/de/LC_MESSAGES/set_up_your_raspberry_pi.po new file mode 100644 index 0000000..7d8219f --- /dev/null +++ b/docs/source/locale/de/LC_MESSAGES/set_up_your_raspberry_pi.po @@ -0,0 +1,349 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, SunFounder +# This file is distributed under the same license as the SunFounder Davinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Davinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-19 18:22+0800\n" +"PO-Revision-Date: 2021-06-01 11:30+0800\n" +"Last-Translator: \n" +"Language: pi\n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../set_up_your_raspberry_pi.rst:2 +msgid "Set up Your Raspberry Pi" +msgstr "Richten Sie Ihren Raspberry Pi ein" + +#: ../set_up_your_raspberry_pi.rst:5 +msgid "If You Have a Screen" +msgstr "Wenn Sie einen Bildschirm haben" + +#: ../set_up_your_raspberry_pi.rst:7 +msgid "" +"If you have a screen, it will be easy for you to operate on the Raspberry" +" Pi." +msgstr "" +"Wenn Sie einen Bildschirm haben, können Sie den Raspberry Pi problemlos " +"bedienen." + +#: ../set_up_your_raspberry_pi.rst:10 +msgid "**Required Components**" +msgstr "**Erforderliche Komponenten**" + +#: ../set_up_your_raspberry_pi.rst:13 +msgid "Any Raspberry Pi" +msgstr "Jeglicher Raspberry -Pi" + +#: ../set_up_your_raspberry_pi.rst:13 +msgid "1 \\* Power Adapter" +msgstr "1 \\* Netzteil" + +#: ../set_up_your_raspberry_pi.rst:14 +msgid "1 \\* Micro SD card" +msgstr "1 \\* Micro SD Karte" + +#: ../set_up_your_raspberry_pi.rst:14 +msgid "1 \\* Screen Power Adapter" +msgstr "1 \\* Bildschirm Netzteil" + +#: ../set_up_your_raspberry_pi.rst:15 +msgid "1 \\* HDMI cable" +msgstr "1 \\* HDMI Kabel" + +#: ../set_up_your_raspberry_pi.rst:15 +msgid "1 \\* Screen" +msgstr "1 \\* Bildschirm" + +#: ../set_up_your_raspberry_pi.rst:16 +msgid "1 \\* Mouse" +msgstr "1 \\* Maus" + +#: ../set_up_your_raspberry_pi.rst:16 +msgid "1 \\* Keyboard" +msgstr "1 \\* Tastatur" + +#: ../set_up_your_raspberry_pi.rst:19 +msgid "" +"Insert the SD card you’ve set up with Raspberry Pi OS into the micro SD " +"card slot on the underside of your Raspberry Pi." +msgstr "" +"Legen Sie die mit Raspberry Pi OS eingerichtete SD-Karte in den Micro-SD-" +"Kartensteckplatz an der Unterseite Ihres Raspberry Pi ein." + +#: ../set_up_your_raspberry_pi.rst:21 +msgid "Plug in the Mouse and Keyboard." +msgstr "Stecken Sie die Maus und Tastatur ein." + +#: ../set_up_your_raspberry_pi.rst:23 +msgid "" +"Connect the screen to Raspberry Pi’s HDMI port and make sure your screen " +"is plugged into a wall socket and switched on." +msgstr "" +"Schließen Sie den Bildschirm an den HDMI-Anschluss von Raspberry Pi an " +"und stellen Sie sicher, dass Ihr Bildschirm an eine Wand Steckdose " +"angeschlossen und eingeschaltet ist." + +#: ../set_up_your_raspberry_pi.rst:27 +msgid "" +"If you use a Raspberry Pi 4, you need to connect the screen to the HDMI0 " +"(nearest the power in port)." +msgstr "" +"Hinweis: Wenn Sie einen Raspberry Pi 4 verwenden, müssen Sie den " +"Bildschirm an den HDMI0 anschließen (der dem Stromanschluss am nächsten " +"liegt)." + +#: ../set_up_your_raspberry_pi.rst:29 +msgid "" +"Use the power adapter to power the Raspberry Pi. After a few seconds, the" +" Raspberry Pi OS desktop will be displayed." +msgstr "" +"Verwenden Sie das Netzteil und versorgen den Raspberry Pi mit Strom. Nach" +" einigen Sekunden wird der Raspberry Pi OS-Bildschirm angezeigt." + +#: ../set_up_your_raspberry_pi.rst:35 +msgid "If You Have No Screen" +msgstr "Wenn Sie keinen Bildschirm haben" + +#: ../set_up_your_raspberry_pi.rst:37 +msgid "" +"If you don’t have a display, you can log in to the Raspberry Pi remotely," +" but before that, you need to get the IP of the Raspberry Pi." +msgstr "" +"Wenn Sie keine Anzeige haben, können Sie sich aus der Ferne beim " +"Raspberry Pi anmelden. Zuvor müssen Sie jedoch die IP-Addresse des " +"Raspberry Pi abrufen." + +#: ../set_up_your_raspberry_pi.rst:41 +msgid "Get the IP Address" +msgstr "Die IP-Adresse bekommen" + +#: ../set_up_your_raspberry_pi.rst:43 +msgid "" +"After the Raspberry Pi is connected to WIFI, we need to get the IP " +"address of it. There are many ways to know the IP address, and two of " +"them are listed as follows." +msgstr "" +"Nachdem der Raspberry Pi mit WIFI verbunden ist, müssen wir die IP-" +"Adresse davon erhalten. Es gibt viele Möglichkeiten, die IP-Adresse zu " +"ermitteln, und zwei davon sind wie folgt aufgeführt." + +#: ../set_up_your_raspberry_pi.rst:47 +msgid "**1.  Checking via the router**" +msgstr "**1. Überprüfung über den Router**" + +#: ../set_up_your_raspberry_pi.rst:49 +msgid "" +"If you have permission to log in the router(such as a home network), you " +"can check the addresses assigned to Raspberry Pi on the admin interface " +"of router." +msgstr "" +"Wenn Sie berechtigt sind, sich beim Router anzumelden (z. B. in einem " +"Heimnetzwerk), können Sie die Raspberry Pi zugewiesenen Adressen auf der " +"Administrationsoberfläche des Routers überprüfen." + +#: ../set_up_your_raspberry_pi.rst:53 +msgid "" +"The default hostname of the Raspberry Pi OS is **raspberrypi**, and you " +"need to find it. (If you are using ArchLinuxARM system, please find " +"alarmpi.)" +msgstr "" +"Der Default Hostname des Raspberry Pi-Betriebssystems ist " +"**raspberrypi**, und bitte Sie ihn finden. (Wenn Sie das ArchLinuxARM-" +"System verwenden, suchen Sie bitte alarmpi.)" + +#: ../set_up_your_raspberry_pi.rst:57 +msgid "**2. Network Segment Scanning**" +msgstr "**2. Scannen von Netzwerksegmenten**" + +#: ../set_up_your_raspberry_pi.rst:59 +msgid "" +"You can also use network scanning to look up the IP address of Raspberry " +"Pi. You can apply the software, **Advanced IP scanner** and so on." +msgstr "" +"Sie können auch Netzwerk Scannen verwenden, um die IP-Adresse von " +"Raspberry Pi zu ermitteln. Sie können die Software anwenden, den " +"**erweiterten IP-Scanner** usw." + +#: ../set_up_your_raspberry_pi.rst:62 +msgid "" +"Scan the IP range set, and the name of all connected devices will be " +"displayed. Similarly, the default hostname of the Raspberry Pi OS is " +"**raspberrypi**, if you haven't modified it." +msgstr "" +"Scannen Sie den eingestellten IP-Bereich, und alle angeschlossenen " +"Gerätsnamen wird angezeigt. Ebenso, der Default Hostname des Raspberry " +"Pi-Betriebssystems ist **raspberrypi**, wenn Sie ihn nicht geändert " +"haben." + +#: ../set_up_your_raspberry_pi.rst:67 +msgid "Use the SSH Remote Control" +msgstr "Verwenden Sie die SSH-Fernbedienung" + +#: ../set_up_your_raspberry_pi.rst:69 +msgid "" +"We can open the Bash Shell of Raspberry Pi by applying SSH. Bash is the " +"standard default shell of Linux. The Shell itself is a program written in" +" C that is the bridge linking the customers and Unix/Linux. Moreover, it " +"can help to complete most of the work needed." +msgstr "" +"Wir können die Bash Shell von Raspberry Pi öffnen, mit Anwendung von SSH." +" Bash ist die Default Standard Shell von Linux. Die Shell selbst ist ein " +"in C geschriebenes Programm und stellt die Brücke zwischen den Kunden und" +" Unix / Linux dar. Darüber hinaus kann es helfen, den größten Teil der " +"erforderlichen Arbeit zu erledigen." + +#: ../set_up_your_raspberry_pi.rst:74 +msgid "**For Linux or/Mac OS X Users**" +msgstr "**Für Linux- oder Mac OS X-Benutzer**" + +#: ../set_up_your_raspberry_pi.rst:76 ../set_up_your_raspberry_pi.rst:125 +msgid "**Step 1**" +msgstr "**Schritt 1**" + +#: ../set_up_your_raspberry_pi.rst:78 +msgid "" +"Go to **Applications**->\\ **Utilities**, find the **Terminal**, and open" +" it." +msgstr "" +"Gehen Sie zu **Anwendungen**->\\ **Dienstprogramme**, suchen Sie das " +"**Terminal** und öffnen Sie es." + +#: ../set_up_your_raspberry_pi.rst:84 ../set_up_your_raspberry_pi.rst:129 +msgid "**Step 2**" +msgstr "**Schritt 2**" + +#: ../set_up_your_raspberry_pi.rst:86 + +msgid "" +"Type in **ssh pi@ip_address** . \\\"pi\\\" is your username and " +"\\\"ip_address\\\" is your IP address. For example:" +msgstr "" +"Geben Sie **ssh pi @ ip_address** ein. \"Pi\" ist Ihr Benutzername und " +"\"ip_address\" ist Ihre IP-Adresse. Z. B. :" + +#: ../set_up_your_raspberry_pi.rst:93 ../set_up_your_raspberry_pi.rst:138 +msgid "**Step 3**" +msgstr "**Schritt 3**" + +#: ../set_up_your_raspberry_pi.rst:95 + +msgid "Input \\\"yes\\\"." +msgstr "Geben Sie \"yes\" ein." + +#: ../set_up_your_raspberry_pi.rst:100 ../set_up_your_raspberry_pi.rst:143 +msgid "**Step 4**" +msgstr "**Schritt 4**" + +#: ../set_up_your_raspberry_pi.rst:102 +msgid "Input the passcode and the default password is **raspberry**." +msgstr "Geben Sie den Password ein und das Default Passwort lautet **raspberry**." + +#: ../set_up_your_raspberry_pi.rst:107 ../set_up_your_raspberry_pi.rst:158 +msgid "**Step 5**" +msgstr "**Schritt 5**" + +#: ../set_up_your_raspberry_pi.rst:109 +msgid "" +"We now get the Raspberry Pi connected and are ready to go to the next " +"step." +msgstr "" +"Wir verbinden jetzt den Raspberry Pi und sind bereit, mit dem nächsten " +"Schritt fortzufahren." + +#: ../set_up_your_raspberry_pi.rst:116 ../set_up_your_raspberry_pi.rst:151 +msgid "" +"When you input the password, the characters do not display on window " +"accordingly, which is normal. What you need is to input the correct " +"password." +msgstr "" +"Wenn Sie das Kennwort eingeben, werden die Zeichen im Fenster nicht " +"entsprechend angezeigt, was normal ist. Sie brauchen lediglich das " +"richtige Passwort einzugeben." + +#: ../set_up_your_raspberry_pi.rst:120 +msgid "**For Windows Users**" +msgstr "**Für Windows-Benutzer**" + +#: ../set_up_your_raspberry_pi.rst:122 +msgid "" +"If you're a Windows user, you can use SSH with the application of some " +"software. Here, we recommend **PuTTY**." +msgstr "" +"Wenn Sie ein Windows-Benutzer sind, können Sie SSH mit der Anwendung " +"einiger Software verwenden. Hier empfehlen wir **PuTTY**." + +#: ../set_up_your_raspberry_pi.rst:127 +msgid "Download PuTTY." +msgstr "Laden Sie PuTTY herunter." + +#: ../set_up_your_raspberry_pi.rst:131 +msgid "" +"Open PuTTY and click **Session** on the left tree-alike structure. Enter " +"the IP address of the RPi in the text box under **Host Name (or IP " +"address)** and **22** under **Port** (by default it is 22)." +msgstr "" +"Öffnen Sie PuTTY und klicken Sie auf **Sitzung** in der linken " +"baumähnlichen Struktur. Geben Sie die IP-Adresse des RPi in das Textfeld " +"unter **Hostname (oder IP-Adresse)** und **22** unter **Port** ein " +"(Default ist 22)." + +#: ../set_up_your_raspberry_pi.rst:140 +msgid "" +"Click **Open**. Note that when you first log in to the Raspberry Pi with " +"the IP address, there prompts a security reminder. Just click **Yes**." +msgstr "" +"Klicken Sie auf **Öffnen**. Beachten Sie bitte, beim ersten Anmelden am " +"Raspberry Pi mit der IP-Adresse eine Sicherheitserinnerung wird anzeigen." +" Klicken Sie einfach auf **Ja**." + +#: ../set_up_your_raspberry_pi.rst:145 + +msgid "" +"When the PuTTY window prompts \\\"**login as:**\\\", type in " +"\\\"**pi**\\\" (the user name of the RPi), and **password**: " +"\\\"raspberry\\\" (the default one, if you haven't changed it)." +msgstr "" +"Wenn das PuTTY-Fenster \\\"**login as:**\\\" auffordert, geben Sie " +"\\\"**pi**\\\" (den Benutzernamen des RPi) und das Passwort ein: " +"\\\"**Himbeere**\\\" (die Standardeinstellung, wenn Sie sie nicht " +"geändert haben)." + +#: ../set_up_your_raspberry_pi.rst:153 +msgid "" +"If inactive appears next to PuTTY, it means that the connection has been " +"broken and needs to be reconnected." +msgstr "" +"Wenn neben PuTTY inaktiv angezeigt wird, bedeutet dies, dass die " +"Verbindung unterbrochen wurde und erneut verbunden werden muss." + +#: ../set_up_your_raspberry_pi.rst:160 +msgid "" +"Here, we get the Raspberry Pi connected and it is time to conduct the " +"next steps." +msgstr "" +"Hier wird der Raspberry Pi angeschlossen und es ist Zeit, die nächsten " +"Schritte durchzuführen." + +#: ../set_up_your_raspberry_pi.rst:167 +msgid "" +"If you are not satisfied with using the command window to control the " +"Raspberry Pi, you can also use the remote desktop function, which can " +"help us manage the files in the Raspberry Pi easily." +msgstr "" +"Wenn Sie mit der Verwendung des Befehlsfensters zur Steuerung des " +"Raspberry Pi nicht zufrieden sind, können Sie auch die Remote-Desktop-" +"Funktion verwenden, die uns helfen kann, die Dateien im Raspberry Pi " +"einfach zu verwalten." + +#: ../set_up_your_raspberry_pi.rst:169 +msgid "For details on how to do this, please refer to :ref:`Remote Desktop`." +msgstr "Einzelheiten dazu finden Sie unter :ref:`Remote Desktop`." + diff --git a/docs/source/locale/de/LC_MESSAGES/spi_configuration.po b/docs/source/locale/de/LC_MESSAGES/spi_configuration.po new file mode 100644 index 0000000..dd7bd6a --- /dev/null +++ b/docs/source/locale/de/LC_MESSAGES/spi_configuration.po @@ -0,0 +1,66 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, SunFounder +# This file is distributed under the same license as the SunFounder Davinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Davinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-05-20 18:20+0800\n" +"PO-Revision-Date: 2021-05-27 11:26+0800\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" +"Last-Translator: \n" +"Language-Team: \n" +"X-Generator: Poedit 2.4.3\n" + +#: ../spi_configuration.rst:2 +msgid "SPI Configuration" +msgstr "SPI-Konfiguration" + +#: ../spi_configuration.rst:4 +msgid "" +"**Step 1**: Enable the SPI port of your Raspberry Pi (If you have " +"enabled it, skip this; if you do not know whether you have done that or " +"not, please continue)." +msgstr "" +"**Schritt 1:** Aktivieren Sie den SPI-Port Ihres Raspberry Pi (Wenn Sie " +"ihn aktiviert haben, überspringen Sie diesen; wenn Sie nicht wissen, ob " +"Sie dies getan haben oder nicht, fahren Sie bitte fort)." + +#: ../spi_configuration.rst:12 +msgid "**3 Interfacing options**" +msgstr "**3 Schnittstellenoptionen**" + +#: ../spi_configuration.rst:18 +msgid "**P4 SPI**" +msgstr "**P4 SPI**" + +#: ../spi_configuration.rst:24 +msgid "**, then click and .**" +msgstr "**, dann klick und .**" + +#: ../spi_configuration.rst:31 +msgid "**Step 2:** Check that the i2c modules are loaded and active." +msgstr "" +"**Schritt 2:** Überprüfen Sie, ob die i2c-Module geladen und aktiv sind." + +#: ../spi_configuration.rst:37 +msgid "Then the following codes will appear (the number may be different)." +msgstr "" +"Dann erscheinen die folgenden Kode (die Nummer kann unterschiedlich " +"sein)." + +#: ../spi_configuration.rst:43 +msgid "**Step 3:** Install Python module SPI-Py." +msgstr "**Schritt 3:** Installieren Sie das SPI-Py Modul." + +#: ../spi_configuration.rst:52 +msgid "This step is for python users, if you use C language, please skip." +msgstr "" +"Dieser Schritt ist für Python-Benutzer gedacht. Wenn Sie die Sprache C " +"verwenden, überspringen Sie diese bitte." diff --git a/docs/source/locale/de/LC_MESSAGES/thank-learning.po b/docs/source/locale/de/LC_MESSAGES/thank-learning.po new file mode 100644 index 0000000..ba42d69 --- /dev/null +++ b/docs/source/locale/de/LC_MESSAGES/thank-learning.po @@ -0,0 +1,57 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, SunFounder +# This file is distributed under the same license as the SunFounder +# davinci-kit-for-raspberry-pi package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder davinci-kit-for-raspberry-pi \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-19 18:22+0800\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../thank-learning.rst:2 +msgid "Thank You" +msgstr "" + +#: ../thank-learning.rst:4 +msgid "" +"Thanks to the evaluators who evaluated our products, the veterans who " +"provided suggestions for the tutorial, and the users who have been " +"following and supporting us. Your valuable suggestions to us are our " +"motivation to provide better products!" +msgstr "" + +#: ../thank-learning.rst:7 +msgid "**Particular Thanks**" +msgstr "" + +#: ../thank-learning.rst:9 +msgid "Len Davisson" +msgstr "" + +#: ../thank-learning.rst:10 +msgid "Kalen Daniel" +msgstr "" + +#: ../thank-learning.rst:11 +msgid "Juan Delacosta" +msgstr "" + +#: ../thank-learning.rst:14 +msgid "Now, could you spare a little time to fill out this questionnaire?" +msgstr "" + +#: ../thank-learning.rst:22 +msgid "" +"After submitting the questionnaire, please go back to the top to view the" +" results." +msgstr "" + diff --git a/docs/source/locale/de/LC_MESSAGES/what_do_we_need.po b/docs/source/locale/de/LC_MESSAGES/what_do_we_need.po new file mode 100644 index 0000000..cfbcc98 --- /dev/null +++ b/docs/source/locale/de/LC_MESSAGES/what_do_we_need.po @@ -0,0 +1,151 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, SunFounder +# This file is distributed under the same license as the SunFounder Davinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Davinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-04 15:50+0800\n" +"PO-Revision-Date: 2021-05-27 11:30+0800\n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../what_do_we_need.rst:2 +msgid "What Do We Need?" +msgstr "Was brauchen wir?" + +#: ../what_do_we_need.rst:5 +msgid "Required Components" +msgstr "Erforderliche Komponenten" + +#: ../what_do_we_need.rst:7 +msgid "**Raspberry Pi**" +msgstr "**Raspberry -Pi**" + +#: ../what_do_we_need.rst:9 +msgid "" +"The Raspberry Pi is a low cost, credit-card sized computer that plugs " +"into a computer monitor or TV, and uses a standard keyboard and mouse. It" +" is a capable little device that enables people of all ages to explore " +"computing, and to learn how to program in languages like Scratch and " +"Python." +msgstr "" +"Der Raspberry Pi ist ein kostengünstiger Computer in Kreditkartengröße, " +"der an einen Computermonitor oder Fernseher angeschlossen wird und eine " +"Standard Tastatur und Maus verwendet. Es ist ein leistungsfähiges kleines" +" Gerät, das Menschen mit allen Altern ermöglicht, Rechnung zu erforschen " +"wie man in Sprachen wie Scratch und Python programmiert." + +#: ../what_do_we_need.rst:15 +msgid "Our kit applies to the following versions of the product of Raspberry Pi" +msgstr "Unser Kit gilt für die folgenden Versionen des Produkts von Raspberry Pi:" + +msgid "RPi2" +msgstr "RPi2" + +#: ../what_do_we_need.rst:22 +msgid "**Power Adapter**" +msgstr "**Netzteil**" + +#: ../what_do_we_need.rst:24 +msgid "" +"To connect to a power socket, the Raspberry Pi has a micro USB port (the " +"same found on many mobile phones). You will need a power supply which " +"provides at least 2.5 amps." +msgstr "" +"Für den Anschluss an eine Steckdose verfügt der Raspberry Pi über einen " +"Micro-USB-Anschluss (gleich wie bei vielen Mobiltelefonen). Sie benötigen" +" eine Stromversorgung mit mindestens 2.5 Ampere." + +#: ../what_do_we_need.rst:28 +msgid "**Micro SD Card**" +msgstr "**Micro SD Karte**" + +#: ../what_do_we_need.rst:30 +msgid "" +"Your Raspberry Pi needs an Micro SD card to store all its files and the " +"Raspberry Pi OS. You will need a micro SD card with a capacity of at " +"least 8 GB" +msgstr "" +"Ihr Raspberry Pi benötigt eine Micro-SD-Karte, um alle Dateien und das " +"Raspberry Pi-Betriebssystem zu speichern. Sie benötigen eine Micro-SD-" +"Karte mit einer Kapazität von mindestens 8 GB" + +#: ../what_do_we_need.rst:35 +msgid "Optional Components" +msgstr "Optionale Komponenten" + +#: ../what_do_we_need.rst:37 +msgid "**Screen**" +msgstr "**Bildschirm**" + +#: ../what_do_we_need.rst:39 +msgid "" +"To view the desktop environment of Raspberry Pi, you need to use the " +"screen that can be a TV screen or a computer monitor. If the screen has " +"built-in speakers, the Pi plays sounds via them." +msgstr "" +"Um die Bidlshirm Umgebung von Raspberry Pi anzuzeigen, brauchen Sie einen" +" Bildschirm, es kann ein Fernsehbildschirm oder ein Computermonitor sein." +" Wenn der Bildschirm hat eingebaute Lautsprecher, spielt der Pi über den " +"Ton damit ab." + +#: ../what_do_we_need.rst:43 +msgid "**Mouse & Keyboard**" +msgstr "**Maus & Tastatur**" + +#: ../what_do_we_need.rst:45 +msgid "When you use a screen , a USB keyboard and a USB mouse are also needed." +msgstr "" +"Wenn Sie einen Bildschirm verwenden, werden auch eine USB-Tastatur und " +"eine USB-Maus benötigt." + +#: ../what_do_we_need.rst:47 +msgid "**HDMI**" +msgstr "**HDMI**" + +#: ../what_do_we_need.rst:49 +msgid "" +"The Raspberry Pi has a HDMI output port that is compatible with the HDMI " +"ports of most modern TV and computer monitors. If your screen has only " +"DVI or VGA ports, you will need to use the appropriate conversion line." +msgstr "" +"Der Raspberry Pi verfügt über einen HDMI-Ausgangsanschluss, der mit HDMI-" +"Anschlüssen von meisten modernen Fernseh- und Computermonitore kompatibel" +" ist. Wenn Ihr Bildschirm nur über DVI- oder VGA-Anschlüsse verfügt, " +"müssen Sie die entsprechende Konvertierungsleitung verwenden." + +#: ../what_do_we_need.rst:53 +msgid "**Case**" +msgstr "**Tasche**" + +#: ../what_do_we_need.rst:55 +msgid "" +"You can put the Raspberry Pi in a case; by this means, you can protect " +"your device." +msgstr "" +"Sie können den Raspberry Pi in eine Tasche stecken; Auf diese Weise " +"können Sie Ihr Gerät schützen." + +#: ../what_do_we_need.rst:58 +msgid "**Sound or Earphone**" +msgstr "**Ton oder Kopfhörer**" + +#: ../what_do_we_need.rst:60 +msgid "" +"The Raspberry Pi is equipped with an audio port about 3.5 mm that can be " +"used when your screen has no built-in speakers or when there is no screen" +" operation." +msgstr "" +"Der Raspberry Pi ist mit einem Audioanschluss von ca. 3,5 mm " +"ausgestattet, Sie können den verwenden, wenn Ihr Bildschirm keine " +"eingebauten Lautsprecher hat oder wenn es keinen Bildschirmsoperation " +"gibt." + diff --git a/docs/source/locale/ja/LC_MESSAGES/1.1.1_blinking_led.po b/docs/source/locale/ja/LC_MESSAGES/1.1.1_blinking_led.po new file mode 100644 index 0000000..121376f --- /dev/null +++ b/docs/source/locale/ja/LC_MESSAGES/1.1.1_blinking_led.po @@ -0,0 +1,608 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, SunFounder +# This file is distributed under the same license as the SunFounder Davinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Davinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-19 18:22+0800\n" +"PO-Revision-Date: 2021-08-06 10:44+0800\n" +"Last-Translator: \n" +"Language: ja\n" +"Language-Team: \n" +"Plural-Forms: nplurals=1; plural=0\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../1.1.1_blinking_led.rst:2 +msgid "1.1.1 Blinking LED" +msgstr "1.1.1 点滅LED" + +#: ../1.1.1_blinking_led.rst:5 +msgid "Introduction" +msgstr "前書き" + +#: ../1.1.1_blinking_led.rst:7 +msgid "" +"In this lesson, we will learn how to make a blinking LED by programming. " +"Through your settings, your LED can produce a series of interesting " +"phenomena. Now, go for it." +msgstr "このレッスンでは、プログラミングによってLEDを点滅させる方法を学習する。設定により、LEDは一連の興味深い現象を生成できる。今、行動しよう。" + +#: ../1.1.1_blinking_led.rst:12 +msgid "Components" +msgstr "部品" + +#: ../1.1.1_blinking_led.rst:20 +msgid "" +"In order to proceed smoothly, you need to bring your own Raspberry Pi, TF" +" card and Raspberry Pi power." +msgstr "スムーズに進めるには、独自のRaspberry Pi、TFカード、およびRaspberry Piの電源を用意する必要がある。" + +#: ../1.1.1_blinking_led.rst:25 +msgid "Principle" +msgstr "原理" + +#: ../1.1.1_blinking_led.rst:27 +msgid "**Breadboard**" +msgstr "**ブレッドボード**" + +#: ../1.1.1_blinking_led.rst:29 +msgid "" +"A breadboard is a construction base for prototyping of electronics. It is" +" used to build and test circuits quickly before finishing any circuit " +"design. And it has many holes into which components mentioned above can " +"be inserted like ICs and resistors as well as jumper wires. The " +"breadboard allows you to plug in and remove components easily." +msgstr "ブレッドボードは、電子装置のプロトタイピングの構築基盤である。それは回路設計を完了する前に、回路を迅速に作って、テストするために使用される。また、上記の部品をICや抵抗器、ジャンパー線などのように挿入できる多くの穴が搭載されている。ブレッドボードを使用すると、部品を簡単に差し込んだり、取り外したりすることができる。" + +#: ../1.1.1_blinking_led.rst:35 +msgid "" +"The picture shows the internal structure of a full+ breadboard. Although " +"these holes on the breadboard appear to be independent of each other, " +"they are actually connected to each other through metal strips " +"internally." +msgstr "" +"この写真は、full " +"+ブレッドボードの内部構造を示している。ブレッドボード上のこれらの穴は互いに独立しているように見えるが、実際には内部で金属ストリップを介して互いに接続されている。" + +#: ../1.1.1_blinking_led.rst:42 +msgid "**LED**" +msgstr "**LED**" + +#: ../1.1.1_blinking_led.rst:44 +msgid "" +"LED is a kind of diode. LED will shine only if the long pin of LED is " +"connected to the positive electrode and the short pin is connected to " +"negative electrode." +msgstr "LEDは一種のダイオードである。LEDの長いピンが正極に接続され、短いピンが負極に接続されている場合にのみ、LEDが点灯する。" + +#: ../1.1.1_blinking_led.rst:48 +msgid "image42" +msgstr "image42" + +#: ../1.1.1_blinking_led.rst:50 +msgid "image43" +msgstr "image43" + +#: ../1.1.1_blinking_led.rst:52 +msgid "|image42|\\ |image43|" +msgstr "|image42|\\ |image43|" + +#: ../1.1.1_blinking_led.rst:54 +msgid "" +"The LED can not be directly connected to power supply, which can damage " +"component. A resistor with 160Ω or larger (work in 5V) must be connected " +"in series in the circuit of LED." +msgstr "LEDを電源に直接接続することはできないため、部品に損傷を与える可能性がある。160Ω以上の抵抗(5V動作電圧)は、LEDの回路に直列に接続する必要がある。" + +#: ../1.1.1_blinking_led.rst:60 +msgid "**Resistor**" +msgstr "**抵抗器**" + +#: ../1.1.1_blinking_led.rst:62 +msgid "" +"Resistor is an electronic element that can limit the branch current. A " +"fixed resistor is a kind of resistor whose resistance cannot be changed, " +"while that of a potentiometer or a variable resistor can be adjusted." +msgstr "抵抗器は、分岐電流を制限できる電子素子である。固定抵抗器は抵抗値を変更できない抵抗器の一種であるが、ポテンショメータまたは可変抵抗器の抵抗値は調整できる。" + +#: ../1.1.1_blinking_led.rst:66 +msgid "" +"Fixed resistor is applied in this kit. In the circuit, it is essential to" +" protect the connected components. The following pictures show a real " +"object, 220Ω resistor and two generally used circuit symbols of resistor." +" Ω is the unit of resistance and the larger units include KΩ, MΩ, etc. " +"Their relationship can be shown as follows: 1 MΩ=1000 KΩ, 1 KΩ = 1000 Ω. " +"Normally, the value of resistance is marked on it. So if you see these " +"symbols in a circuit, it means that there is a resistor." +msgstr "" +"このキットには固定抵抗器が適用される。回路では、接続された部品を保護することは重要である。次の図は、実際の物体、220Ω抵抗器、および抵抗器汎用の二つの回路記号を示している。Ωは抵抗値の単位で、より大きな単位はKΩ、MΩなどである。それらの関係は次のように示している:1M=" +" 1000KΩ、1KΩ=1000Ω。通常、抵抗値はマークされている。したがって、回路にこれらの記号が表示される場合、抵抗があることを意味する。" + +#: ../1.1.1_blinking_led.rst:76 +msgid "image45" +msgstr "image45" + +#: ../1.1.1_blinking_led.rst:78 +msgid "image46" +msgstr "image46" + +#: ../1.1.1_blinking_led.rst:80 +msgid "|image45|\\ |image46|" +msgstr "|image45|\\ |image46|" + +#: ../1.1.1_blinking_led.rst:82 +msgid "" +"When using a resistor, we need to know its resistance first. Here are two" +" methods: you can observe the bands on the resistor, or use a multimeter " +"to measure the resistance. You are recommended to use the first method as" +" it is more convenient and faster. To measure the value, use multimeter." +msgstr "抵抗器を使用する場合、まず抵抗値を知る必要がある。以下の二つの方法がある:抵抗の帯域を観察すること、またはマルチメーターを使用して抵抗を測定すること。より便利で迅速なので、一番目の方法をお勧めする。値を測定するには、マルチメーターを使用してください。" + +#: ../1.1.1_blinking_led.rst:88 +msgid "As shown in the card, each color stands for a number." +msgstr "カードに示されているように、各色は数字を表している。" + +#: ../1.1.1_blinking_led.rst:93 +msgid "Schematic Diagram" +msgstr "回路図" + +#: ../1.1.1_blinking_led.rst:95 +msgid "" +"In this experiment, connect a 220Ω resistor to the anode (the long pin of" +" the LED), then the resistor to 3.3 V, and connect the cathode (the short" +" pin) of the LED to GPIO17 of Raspberry Pi. Therefore, to turn on an LED," +" we need to make GPIO17 low (0V) level. We can get this phenomenon by " +"programming." +msgstr "" +"この実験では、まず220Ωの抵抗器を陽極(LEDの長いピン)に接続し、それから抵抗器を3.3 " +"Vの電源に接続し、LEDの陰極(短いピン)をRaspberry " +"PiのGPIO17に接続する。したがって、LEDをオンにするには、GPIO17を低(0V)レベルにする必要がある。プログラミングを通じてこの現象を取得できる。" + +#: ../1.1.1_blinking_led.rst:103 +msgid "" +"**Pin11** refers to the 11th pin of the Raspberry Pi from left to right, " +"and its corresponding **wiringPi** and **BCM** pin numbers are shown in " +"the following table." +msgstr "" +"**Pin11** はRaspberry Piの左から11番目のピンを指し、それに対応する **wiringPi** と **BCM** " +"のピン番号は以下の表の通りです。" + +#: ../1.1.1_blinking_led.rst:105 +msgid "" +"In the C language related content, we make GPIO0 equivalent to 0 in the " +"wiringPi. Among the Python language related content, BCM 17 is 17 in the " +"BCM column of the following table. At the same time, they are the same as" +" the 11th pin on the Raspberry Pi, Pin 11." +msgstr "" +"C言語関連のコンテンツでは、wiringPiでGPIO0を0と同等にする。Python言語関連のコンテンツの中で、BCM " +"17は次の表のBCM列の17である。同時に、それらはRaspberry Piの11番目のピン-ピン11と同じである。" + +#: ../1.1.1_blinking_led.rst:111 +msgid "T-Board Name" +msgstr "Tボード名" + +#: ../1.1.1_blinking_led.rst:111 +msgid "physical" +msgstr "physical" + +#: ../1.1.1_blinking_led.rst:111 +msgid "wiringPi" +msgstr "wiringPi" + +#: ../1.1.1_blinking_led.rst:111 +msgid "BCM" +msgstr "BCM" + +#: ../1.1.1_blinking_led.rst:112 +msgid "GPIO17" +msgstr "GPIO17" + +#: ../1.1.1_blinking_led.rst:112 +msgid "Pin 11" +msgstr "Pin 11" + +#: ../1.1.1_blinking_led.rst:112 +msgid "0" +msgstr "0" + +#: ../1.1.1_blinking_led.rst:112 +msgid "17" +msgstr "17" + +#: ../1.1.1_blinking_led.rst:120 +msgid "Experimental Procedures" +msgstr "実験手順" + +#: ../1.1.1_blinking_led.rst:122 +msgid "**Step 1:** Build the circuit." +msgstr "**ステップ1:** 回路を作る。" + +#: ../1.1.1_blinking_led.rst:130 +msgid "For C Language Users" +msgstr "C言語ユーザー向け" + +#: ../1.1.1_blinking_led.rst:132 +msgid "**Step 2:** Go to the folder of the code." +msgstr "**ステップ2:** コードのフォルダーに入る。" + +#: ../1.1.1_blinking_led.rst:134 ../1.1.1_blinking_led.rst:367 +msgid "If you use a screen, you're recommended to take the following steps." +msgstr "モニターを使用する場合は、次の手順を実行することをお勧めする。" + +#: ../1.1.1_blinking_led.rst:136 +msgid "Go to **/home/pi/** and find the folder **davinci-kit-for-raspberry-pi**." +msgstr "**/home/pi/** に入り、 **davinci-kit-for-raspberry-pi** フォルダーを見つけてください。" + +#: ../1.1.1_blinking_led.rst:139 +msgid "" +"Find **C** in the folder, right-click on it and select **Open in " +"Terminal**." +msgstr "フォルダー内で **C** を見つけて右クリックし、 **Open in Terminal** を選択する。" + +#: ../1.1.1_blinking_led.rst:146 +msgid "" +"Then a window will pop up as shown below. So now you've entered the path " +"of the code **1.1.1_BlinkingLed.c** ." +msgstr "それから以下のようなウィンドウがポップアップされる。これで、コード **1.1.1_BlinkingLed.c** のパスに入っていた。" + +#: ../1.1.1_blinking_led.rst:153 +msgid "" +"In the following lessons, we will use command to enter the code file " +"instead of right-clicking. But you can choose the method you prefer." +msgstr "次のレッスンでは、右クリックの代わりにコマンドを使用してコードファイルを入力する。ただし、お好みの方法を選択可能である。" + +#: ../1.1.1_blinking_led.rst:157 +msgid "If you log into the Raspberry Pi remotely, use ``cd`` to change directory:" +msgstr "Raspberry Piにリモートでログインする場合、 ``cd`` を使用してディレクトリを変更する:" + +#: ../1.1.1_blinking_led.rst:168 +msgid "Change directory to the path of the code in this experiment via cd." +msgstr "この実験では、cdを使用してディレクトリをコードのパスに変更します。" + +#: ../1.1.1_blinking_led.rst:170 +msgid "" +"In either way, now you are in the folder C. The subsequent procedures " +"based on these two methods are the same. Let's move on." +msgstr "どちらにしても、現在はCフォルダにいることになります。この2つの方法に基づくその後の手順は同じです。次に進みましょう。" + +#: ../1.1.1_blinking_led.rst:173 +msgid "**Step 3:** Compile the code" +msgstr "**ステップ3:** コードをコンパイルする" + +#: ../1.1.1_blinking_led.rst:184 +msgid "" +"gcc is GNU Compiler Collection. Here, it functions like compiling the C " +"language file *1_BlinkingLed.c* and outputting an executable file." +msgstr "" +"gcc は GNU Compiler Collection " +"です。ここでは、C言語ファイル*1_BlinkingLed.c*をコンパイルし、実行ファイルを出力するような機能を持っています。" + +#: ../1.1.1_blinking_led.rst:188 +msgid "" +"In the command, ``-o`` means outputting (the character immediately " +"following -o is the filename output after compilation, and an executable " +"named ``BlinkingLed`` will generate here) and ``-lwiringPi`` is to load " +"the library wiringPi (``l`` is the abbreviation of library)." +msgstr "" +"コマンドでは、 ``-o`` は出力を意味し(-oの直後の文字はコンパイル後のファイル名出力であり、 ``BlinkingLed`` " +"という名前のEXEファイルがここで生成される)、 ``-lwiringPi`` はライブラリーのwiringPiをロードする( ``l`` " +"はlibraryの省略形である)。" + +#: ../1.1.1_blinking_led.rst:193 +msgid "**Step 4:** Run the executable file output in the previous step." +msgstr "**ステップ4:** 前のステップで出力されたEXEファイルを実行する。" + +#: ../1.1.1_blinking_led.rst:205 +msgid "" +"To control the GPIO, you need to run the program, by the command, " +"sudo(superuser do). The command ``./`` indicates the current directory. " +"The whole command is to run the ``BlinkingLed`` in the current directory." +msgstr "" +"GPIOを制御するには、コマンドsudo(superuser do)でプログラムを実行してください。コマンド ``./`` " +"は現在のディレクトリを示している。コマンド全体は、現在のディレクトリで ``BlinkingLed`` を実行することである。" + +#: ../1.1.1_blinking_led.rst:214 ../1.1.1_blinking_led.rst:406 +msgid "After the code runs, you will see the LED flashing." +msgstr "コードの実行後、LEDが点滅する。" + +#: ../1.1.1_blinking_led.rst:218 +msgid "" +"If it does not work after running, please refer to :ref:`C code is not " +"working?`" +msgstr "実行後に機能しない場合は、:ref:`C code is not working?` を参照してください。" + +#: ../1.1.1_blinking_led.rst:220 +msgid "" +"If you want to edit the code file ``1.1.1_BlinkingLed.c``, press ``Ctrl +" +" C`` to stop running the code. Then type the following command to open " +"it:" +msgstr "" +"コードファイル ``1.1.1_BlinkingLed.c`` を編集する場合は、 ``Ctrl + C`` " +"を押してコードの実行を停止する。次に、次のコマンドを入力してそれを開く:" + +#: ../1.1.1_blinking_led.rst:233 +msgid "" +"nano is a text editor tool. The command is used to open the code file " +"``1.1.1_BlinkingLed.c`` by this tool." +msgstr "" +"nanoはテキストエディターツールである。このコマンドは、このツールを通して、コードファイル ``1.1.1_BlinkingLed.c`` " +"を開くために使用される。" + +#: ../1.1.1_blinking_led.rst:236 +msgid "" +"Press ``Ctrl+X`` to exit. If you have modified the code, there will be a " +"prompt asking whether to save the changes or not. Type in ``Y`` (save) or" +" ``N`` (don’t save). Then press ``Enter`` to exit. Repeat ``Step 3`` and " +"``Step 4`` to see the effect after modifying." +msgstr "" +"``Ctrl + X`` を押して終了する。コードを修正した場合、変更を保存するかどうかを尋ねるプロンプトが表示される。 ``Y`` " +"(保存)または ``N`` (保存しない)を入力する。次に、 ``Enter`` キーを押して終了する。 ``ステップ3`` と " +"``ステップ4`` を繰り返して、修正後の効果を確認する。" + +#: ../1.1.1_blinking_led.rst:245 ../1.1.1_blinking_led.rst:431 +msgid "**Code**" +msgstr "**コード**" + +#: ../1.1.1_blinking_led.rst:247 +msgid "The program code is shown as follows:" +msgstr "プログラムコードは次のように表示される:" + +#: ../1.1.1_blinking_led.rst:275 ../1.1.1_blinking_led.rst:478 +msgid "**Code Explanation**" +msgstr "**コードの説明**" + +#: ../1.1.1_blinking_led.rst:281 +msgid "" +"The hardware drive library is designed for the C language of Raspberry " +"Pi. Adding this library is conducive to the initialization of hardware, " +"and the output of I/O ports, PWM, etc." +msgstr "" +"ハードウェアドライブライブラリは、Raspberry " +"PiのC言語用に設計されている。このライブラリを追加すると、ハードウェアの初期化、およびI/Oポート、PWMなどの出力に役立つ。" + +#: ../1.1.1_blinking_led.rst:289 +msgid "" +"Standard I/O library. The pintf function used for printing the data " +"displayed on the screen is realized by this library. There are many other" +" performance functions for you to explore." +msgstr "標準I/Oライブラリ。画面に表示されるデータの印刷に使用されるpintf機能は、このライブラリによって実現される。他にも多くのパフォーマンス機能がある。" + +#: ../1.1.1_blinking_led.rst:297 +msgid "" +"Pin GPIO17 of the T_Extension Board is corresponding to the GPIO0 in " +"wiringPi. Assign GPIO0 to LedPin, LedPin represents GPIO0 in the code " +"later." +msgstr "" +"T_Extension " +"BoardのGPIO17ピンは、wiringPiのGPIO0に対応している。GPIO0をLedPinに割り当て、LedPinは後のコードでGPIO0を表す。" + +#: ../1.1.1_blinking_led.rst:307 +msgid "" +"This initialises wiringPi and assumes that the calling program is going " +"to be using the wiringPi pin numbering scheme." +msgstr "これにより、wiringPiが初期化され、呼び出しのプログラムがwiringPiピン番号スキームを使用することになると想定される。" + +#: ../1.1.1_blinking_led.rst:310 +msgid "" +"This function needs to be called with root privileges. When initialize " +"wiring failed, print message to screen. The function “return” is used to " +"jump out of the current function. Using return in main() function will " +"end the program." +msgstr "この関数を呼び出すには、ルート権限が必要である。配線の初期化に失敗すると、画面にメッセージが表示される。関数「return」は現在の関数から飛び出すために使用される。main()関数で関数「return」を使用すると、プログラムが終了する。" + +#: ../1.1.1_blinking_led.rst:319 +msgid "Set LedPin as output to write value to it." +msgstr "LedPinを出力として設定し、値を書き込む。" + +#: ../1.1.1_blinking_led.rst:325 +msgid "" +"Set GPIO0 as 0V (low level). Since the cathode of LED is connected to " +"GPIO0, thus the LED will light up if GPIO0 is set low. On the contrary, " +"set GPIO0 as high level, digitalWrite (LedPin, HIGH): LED will go out." +msgstr "GPIO0を0V(低レベル)に設定SURU。LEDの陰極はGPIO0に接続されているため、GPIO0が低レベルに設定されるとLEDが点灯する。それに反して、GPIO0を高レベルに設定すると(digitalWrite(LedPin、HIGH)):LEDが消灯する。" + +#: ../1.1.1_blinking_led.rst:333 +#, python-format +msgid "" +"The printf function is a standard library function and its function " +"prototype is in the header file \"stdio.h\". The general form of the call" +" is: printf(\" format control string \", output table columns). The " +"format control string is used to specify the output format, which is " +"divided into format string and non-format string. The format string " +"starts with '%' followed by format characters, such as' %d 'for decimal " +"integer output. Unformatted strings are printed as prototypes. What is " +"used here is a non-format string, followed by \"\\n\" that is a newline " +"character, representing automatic line wrapping after printing a string." +msgstr "" +"printf関数は標準ライブラリ関数であり、その関数プロトタイプはヘッダーファイル「stdio.h」にあります。呼び出しの一般的な形式は次のとおりです。printf(\"フォーマット制御文字列\"、出力テーブルの列)。フォーマット制御文字列は、フォーマット文字列と非フォーマット文字列に分けられる出力フォーマットを指定するために使用されます。フォーマット文字列は「%」で始まり、10進整数出力の場合は「%d」などのフォーマット文字が続きます。" +" フォーマットされていない文字列はプロトタイプとして印刷されます。 " +"ここで使用されているのは、フォーマットされていない文字列であり、その後に改行文字である\"\\ n " +"\"が続きます。これは、文字列を印刷した後の自動行折り返しを表します。" + +#: ../1.1.1_blinking_led.rst:347 +msgid "Delay (500) keeps the current HIGH or LOW state for 500ms." +msgstr "Delay (500) は、現在のHIGHまたはLOW状態を500ms維持する。" + +#: ../1.1.1_blinking_led.rst:349 +msgid "" +"This is a function that suspends the program for a period of time. And " +"the speed of the program is determined by our hardware. Here we turn on " +"or off the LED. If there is no delay function, the program will run the " +"whole program very fast and continuously loop. So we need the delay " +"function to help us write and debug the program." +msgstr "これは、プログラムを一定期間中断する機能である。また、プログラムの速度はハードウェアによって決まる。ここで、LEDをオンまたはオフにする。遅延機能がない場合、プログラムはプログラム全体を非常に高速で実行し、継続的にループする。そのため、プログラムの作成とデバッグに役立つ遅延機能が必要である。" + +#: ../1.1.1_blinking_led.rst:359 +msgid "" +"Usually, it is placed behind the main function, indicating that the " +"function returns 0 on successful execution." +msgstr "通常、メイン関数の後ろに配置され、関数が正常に実行されると0を返すことを示す。" + +#: ../1.1.1_blinking_led.rst:363 +msgid "For Python Language Users" +msgstr "Python言語ユーザー向け" + +#: ../1.1.1_blinking_led.rst:365 +msgid "**Step 2:** Go to the folder of the code and run it." +msgstr "**ステップ2:** コードのフォルダーに入り、それを実行する。" + +#: ../1.1.1_blinking_led.rst:369 +msgid "" +"Find 1.1.1_BlinkingLed.py and double click it to open. Now you're in the " +"file." +msgstr "1.1.1_BlinkingLed.pyを見つけて、ダブルクリックして開く。今、ファイルに入った。" + +#: ../1.1.1_blinking_led.rst:372 +msgid "" +"Click **Run** ->\\ **Run Module** in the window and the following " +"contents will appear." +msgstr "ウィンドウで **Run** ->\\ **Run Module** をクリックすると、次の内容が表示される。" + +#: ../1.1.1_blinking_led.rst:375 +msgid "" +"To stop it from running, just click the X button on the top right to " +"close it and then you'll back to the code. If you modify the code, before" +" clicking **Run Module (F5)** you need to save it first. Then you can see" +" the results." +msgstr "" +"実行を停止するには、右上の「X」ボタンをクリックして閉じるだけで、コードに戻る。コードを変更する場合は、**Run Module (F5)** " +"をクリックする前に、まず保存しなければならない。その後、結果を確認できる。" + +#: ../1.1.1_blinking_led.rst:380 +msgid "If you log into the Raspberry Pi remotely, type in the command:" +msgstr "Raspberry Piにリモートでログインする場合、次のコマンドを入力する:" + +#: ../1.1.1_blinking_led.rst:391 +msgid "Change directory to the path of the code in this experiment via ``cd``." +msgstr "``cd`` を使用して、この実験のコードのパスにディレクトリを変更できる。" + +#: ../1.1.1_blinking_led.rst:393 +msgid "**Step 3:** Run the code" +msgstr "**ステップ3:** コードを実行する" + +#: ../1.1.1_blinking_led.rst:404 +msgid "Here sudo - superuser do, and python means to run the file by Python." +msgstr "ここではsudo-superuser doとpythonは、Pythonでファイルを実行することを意味する。" + +#: ../1.1.1_blinking_led.rst:408 +msgid "" +"**Step 4:** If you want to edit the code file 1.1.1_BlinkingLed.py, press" +" ``Ctrl + C`` to stop running the code. Then type the following command " +"to open 1.1.1_BlinkingLed.py:" +msgstr "" +"**ステップ4:** コードファイル1.1.1_BlinkingLed.pyを編集する場合は、 ``Ctrl + C`` " +"を押してコードの実行を停止してください。それから次のコマンドを入力して1.1.1_BlinkingLed.pyを開く:" + +#: ../1.1.1_blinking_led.rst:421 +msgid "" +"nano is a text editor tool. The command is used to open the code file " +"1.1.1_BlinkingLed.py by this tool." +msgstr "nanoはテキストエディターツールである。このツールは、コマンドを使用してコードファイル1.1.1_BlinkingLed.pyを開く。" + +#: ../1.1.1_blinking_led.rst:424 +msgid "" +"Press ``Ctrl+X`` to exit. If you have modified the code, there will be a " +"prompt asking whether to save the changes or not. Type in ``Y`` (save) or" +" ``N`` (don’t save)." +msgstr "" +"``Ctrl + X`` を押して終了する。コードを修正した場合、変更を保存するかどうかを尋ねるプロンプトが表示される。 ``Y`` " +"(保存)または ``N`` (保存しない)を入力する。" + +#: ../1.1.1_blinking_led.rst:428 +msgid "" +"Then press ``Enter`` to exit. Type in nano 1.1.1_BlinkingLed.py again to " +"see the effect after the change." +msgstr "" +"次に、 ``Enter`` を押して終了する。変更後の効果を確認するには、nano " +"1.1.1_BlinkingLed.pyをもう一度入力してください。" + +#: ../1.1.1_blinking_led.rst:435 +msgid "" +"You can **Modify/Reset/Copy/Run/Stop** the code below. But before that, " +"you need to go to source code path like ``davinci-kit-for-raspberry-" +"pi/python``." +msgstr "" +"以下のコードを **変更/リセット/コピー/実行/停止** できます。 ただし、その前に、 ``davinci-kit-for-raspberry-pi/python`` のようなソースコードパスに移動する必要があります。" + +#: ../1.1.1_blinking_led.rst:484 +msgid "" +"When the system detects this, it will search the installation path of " +"python in the env setting, then call the corresponding interpreter to " +"complete the operation. It’s to prevent the user not installing the " +"python onto the /usr/bin default path." +msgstr "システムがこれを検出すると、env設定でpythonの実装パスを検索し、対応するインタープリターを呼び出して操作を完了させる。その目的は、ユーザーがPythonを/usr/binのデフォルトパスに実装することを防止することである。" + +#: ../1.1.1_blinking_led.rst:493 +msgid "" +"In this way, import the RPi.GPIO library, then define a variable, GPIO to" +" replace RPI.GPIO in the following code." +msgstr "この方法で、RPi.GPIOライブラリをインポートし、変数GPIOを定義して、次のコードでRPI.GPIOを置き換える。" + +#: ../1.1.1_blinking_led.rst:500 +msgid "Import time package, for time delay function in the following program." +msgstr "次のプログラムの時間遅延機能を行うために、時間パッケージをインポートしなければならない。" + +#: ../1.1.1_blinking_led.rst:506 +msgid "LED connects to the GPIO17 of the T-shape extension board, namely, BCM 17." +msgstr "LEDはT字型拡張ボードのGPIO17、つまりBCM 17に接続している。" + +#: ../1.1.1_blinking_led.rst:515 +msgid "Set LedPin's mode to output, and initial level to High (3.3v)." +msgstr "LedPinのモードを出力に設定し、初期レベルを高(3.3v)に設定する。" + +#: ../1.1.1_blinking_led.rst:517 +msgid "" +"There are two ways of numbering the IO pins on a Raspberry Pi within " +"RPi.GPIO: BOARD numbers and BCM numbers. In our lessons, what we use is " +"BCM numbers. You need to set up every channel you are using as an input " +"or an output." +msgstr "" +"RPi.GPIO内のRaspberry " +"PiのIOピンに番号を付けるには、BOARDとBCM二つの番号付与方法がある。レッスンでは、使用しているのはBCM番号である。入力または出力として使用しているチャンネルをすべて設定する必要がある。" + +#: ../1.1.1_blinking_led.rst:526 +msgid "" +"Set GPIO17(BCM17) as 0V (low level). Since the cathode of LED is " +"connected to GPIO17, thus the LED will light up." +msgstr "GPIO17(BCM17)を0V(低レベル)に設定する。LEDのカソードはGPIO17に接続されているため、LEDが点灯する。" + +#: ../1.1.1_blinking_led.rst:533 +msgid "" +"Delay for 0.5 second. Here, the statement is delay function in C " +"language, the unit is second." +msgstr "0.5秒の遅延。ここで、ステートメントはC言語の遅延機能に似ており、単位は秒である。" + +#: ../1.1.1_blinking_led.rst:540 +msgid "" +"Define a destroy function for clean up everything after the script " +"finished." +msgstr "スクリプトの終了後にすべてを消去する破棄関数を定義する。" + +#: ../1.1.1_blinking_led.rst:553 +msgid "" +"This is the general running structure of the code. When the program " +"starts to run, it initializes the pin by running the setup(), and then " +"runs the code in the main() function to set the pin to high and low " +"levels. When 'Ctrl+C' is pressed, the program, destroy() will be  " +"executed." +msgstr "" +"これは、コードの一般的な実行構造である。プログラムの実行が開始されると、setup()を実行してピンを初期化し、main()関数でコードを実行してピンを高レベルと低レベルに設定する。「Ctrl" +" + C」を押すと、プログラムdestroy()が実行される。" + +#: ../1.1.1_blinking_led.rst:560 +msgid "Phenomenon Picture" +msgstr "現象画像" + +#~ msgid "" +#~ "If it does not work after running," +#~ " please refer to :ref:`C code is " +#~ "not working?`." +#~ msgstr "" + diff --git a/docs/source/locale/ja/LC_MESSAGES/1.1.2_rgb_led.po b/docs/source/locale/ja/LC_MESSAGES/1.1.2_rgb_led.po new file mode 100644 index 0000000..6ae3808 --- /dev/null +++ b/docs/source/locale/ja/LC_MESSAGES/1.1.2_rgb_led.po @@ -0,0 +1,380 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, SunFounder +# This file is distributed under the same license as the SunFounder Davinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Davinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-19 18:22+0800\n" +"PO-Revision-Date: 2021-08-06 11:02+0800\n" +"Last-Translator: \n" +"Language: ja\n" +"Language-Team: \n" +"Plural-Forms: nplurals=1; plural=0\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../1.1.2_rgb_led.rst:2 +msgid "1.1.2 RGB LED" +msgstr "1.1.2 RGB LED" + +#: ../1.1.2_rgb_led.rst:5 +msgid "Introduction" +msgstr "前書き" + +#: ../1.1.2_rgb_led.rst:7 +msgid "" +"In this lesson, we will use it to control an RGB LED to flash various " +"kinds of colors." +msgstr "このレッスンでは、これを使用してRGB LEDを制御し、さまざまな種類の色を点滅させる。" + +#: ../1.1.2_rgb_led.rst:11 +msgid "Components" +msgstr "部品" + +#: ../1.1.2_rgb_led.rst:17 +msgid "Principle" +msgstr "原理" + +#: ../1.1.2_rgb_led.rst:19 +msgid "**PWM**" +msgstr "**PWM**" + +#: ../1.1.2_rgb_led.rst:21 + +msgid "" +"Pulse Width Modulation, or PWM, is a technique for getting analog results" +" with digital means. Digital control is used to create a square wave, a " +"signal switched between on and off. This on-off pattern can simulate " +"voltages in between full on (5 Volts) and off (0 Volts) by changing the " +"portion of the time the signal spends on versus the time that the signal " +"spends off. The duration of \\\"on time\\\" is called pulse width. To get" +" varying analog values, you change, or modulate, that width. If you " +"repeat this on-off pattern fast enough with some device, an LED for " +"example, the result would be like this: the signal is a steady voltage " +"between 0 and 5v controlling the brightness of the LED." +msgstr "パルス幅変調(PWM)は、デジタル手段でアナログ結果を取得するための技術である。デジタル制御は、オンとオフを切り替える信号である方形波を作成するために使用される。このオン/オフパターンは、信号がオンになる時間と信号がオフになる時間の部分を変更することにより、完全にオン(5ボルト)である時と完全にオフ(0ボルト)である時の間の電圧をシミュレートできる。「オンタイム」の期間はパルス幅と呼ばれる。さまざまなアナログ値を取得するには、その幅を変更または変調できる。このオン/オフパターンを何らかのデバイス、たとえばLEDで十分に速く繰り返すと、結果は次のようになる:信号はLEDの輝度を制御する0〜5vの安定した電圧である。" + +#: ../1.1.2_rgb_led.rst:32 +msgid "**Duty Cycle**" +msgstr "**デューティサイクル**" + +#: ../1.1.2_rgb_led.rst:34 +msgid "" +"A duty cycle is the percentage of one period in which a signal is active." +" A period is the time it takes for a signal to complete an on-and-off " +"cycle. As a formula, a duty cycle may be expressed as:" +msgstr "デューティサイクルは、信号が有効である1周期の割合である。期間とは、信号がオンとオフのサイクルを完了するのにかかる時間である。式として、デューティサイクルは次のように表示される:" + +#: ../1.1.2_rgb_led.rst:43 +msgid "" +"Where **D** is the duty cycle, **T** is the time the signal is active, " +"and **P** is the total period of the signal. Thus, a 60% duty cycle means" +" the signal is on 60% of the time but off 40% of the time. The \\\"on " +"time\\\" for a 60% duty cycle could be a fraction of a second, a day, or " +"even a week, depending on the length of the period." +msgstr "" +"ここで、**D** はデューティサイクル、**T** は信号がアクティブな時間、**P** は信号の合計周期です。 " +"したがって、60%のデューティサイクルは、信号が60%の時間オンであるが、40%の時間オフであることを意味します。 " +"60%のデューティサイクルの「定刻」は、期間の長さに応じて、数分の1秒、1日、または1週間になることもあります。" + +#: ../1.1.2_rgb_led.rst:54 +msgid "**RGB LED**" +msgstr "**RGB LED**" + +#: ../1.1.2_rgb_led.rst:60 +msgid "" +"The three primary colors of the RGB LED can be mixed into various colors " +"by brightness. The brightness of LED can be adjusted with PWM. Raspberry " +"Pi has only one channel for hardware PWM output, but it needs three " +"channels to control the RGB LED, which means it is difficult to control " +"the RGB LED with the hardware PWM of Raspberry Pi. Fortunately, the " +"softPwm library simulates PWM (softPwm) by programming. You only need to " +"include the header file softPwm.h (for C language users), and then call " +"the API it provides to easily control the RGB LED by multi-channel PWM " +"output, so as to display all kinds of color." +msgstr "" +"RGB LEDの3つの原色は、輝度によってさまざまな色に混ぜることができる。LEDの輝度はPWMで調整可能である。Raspberry " +"PiにはハードウェアPWM出力用のチャネルが1つしかないが、RGB LEDを制御するには3つのチャネルが必要である。つまり、Raspberry " +"PiのハードウェアPWMでRGB " +"LEDを制御することは困難である。幸いなことに、softPwmライブラリはプログラミングによってPWM(softPwm)をシミュレートする。ヘッダーファイルsoftPwm.h(ØC言語ユーザー向け)をインクルードし、提供されるAPIを呼び出して、マルチチャネルPWM出力によってRGB" +" LEDを簡単に制御するだけで、あらゆる種類の色を表示できる。" + +#: ../1.1.2_rgb_led.rst:71 +msgid "Schematic Diagram" +msgstr "回路図" + +#: ../1.1.2_rgb_led.rst:73 +msgid "" +"After connecting the pins of R, G, and B to a current limiting resistor, " +"connect them to the GPIO17, GPIO18, and GPIO27 respectively. The longest " +"pin (GND) of the LED connects to the GND of the Raspberry Pi. When the " +"three pins are given different PWM values, the RGB LED will display " +"different colors." +msgstr "" +"R、G、およびBのピンを電流制限抵抗器に接続した後、それぞれGPIO17、GPIO18、およびGPIO27に接続してください。LEDの最も長いピン(GND)は、Raspberry" +" Piの接地に接続する。3つのピンに異なるPWM値が与えられると、RGB LEDは異なる色を表示する。" + +#: ../1.1.2_rgb_led.rst:80 +msgid "T-Board Name" +msgstr "Tボード名" + +#: ../1.1.2_rgb_led.rst:80 +msgid "physical" +msgstr "physical" + +#: ../1.1.2_rgb_led.rst:80 +msgid "wiringPi" +msgstr "wiringPi" + +#: ../1.1.2_rgb_led.rst:80 +msgid "BCM" +msgstr "BCM" + +#: ../1.1.2_rgb_led.rst:81 +msgid "GPIO17" +msgstr "GPIO17" + +#: ../1.1.2_rgb_led.rst:81 +msgid "Pin 11" +msgstr "Pin 11" + +#: ../1.1.2_rgb_led.rst:81 +msgid "0" +msgstr "0" + +#: ../1.1.2_rgb_led.rst:81 +msgid "17" +msgstr "17" + +#: ../1.1.2_rgb_led.rst:82 +msgid "GPIO18" +msgstr "GPIO18" + +#: ../1.1.2_rgb_led.rst:82 +msgid "Pin 12" +msgstr "Pin 12" + +#: ../1.1.2_rgb_led.rst:82 +msgid "1" +msgstr "1" + +#: ../1.1.2_rgb_led.rst:82 +msgid "18" +msgstr "18" + +#: ../1.1.2_rgb_led.rst:83 +msgid "GPIO27" +msgstr "GPIO27" + +#: ../1.1.2_rgb_led.rst:83 +msgid "Pin 13" +msgstr "Pin 13" + +#: ../1.1.2_rgb_led.rst:83 +msgid "2" +msgstr "2" + +#: ../1.1.2_rgb_led.rst:83 +msgid "27" +msgstr "27" + +#: ../1.1.2_rgb_led.rst:89 +msgid "Experimental Procedures" +msgstr "実験手順" + +#: ../1.1.2_rgb_led.rst:91 +msgid "**Step 1:** Build the circuit." +msgstr "**ステップ1:** 回路を作る。" + +#: ../1.1.2_rgb_led.rst:98 +msgid "For C Language Users" +msgstr "C言語ユーザー向け" + +#: ../1.1.2_rgb_led.rst:100 +msgid "**Step 2:** Go to the folder of the code." +msgstr "**ステップ2:** コードのフォルダーに入る。" + +#: ../1.1.2_rgb_led.rst:110 +msgid "**Step 3:** Compile the code." +msgstr "**ステップ3:** コードをコンパイルする。" + +#: ../1.1.2_rgb_led.rst:122 + +msgid "" +"When the instruction \\\"gcc\\\" is executed, if \\\"-o\\\" is not " +"called, then the executable file is named \\\"a.out\\\"." +msgstr "命令「gcc」が実行されるときに「-o」が呼び出されない場合、EXEファイルは「a.out」と命名する。" + +#: ../1.1.2_rgb_led.rst:124 +msgid "**Step 4:** Run the executable file." +msgstr "**ステップ4:** EXEファイルを実行する。" + +#: ../1.1.2_rgb_led.rst:135 ../1.1.2_rgb_led.rst:281 +msgid "" +"After the code runs, you will see that RGB displays red, green, blue, " +"yellow, pink, and cyan." +msgstr "コードを実行すると、RGBが赤、緑、青、黄色、ピンク、およびシアンを表示する。" + +#: ../1.1.2_rgb_led.rst:140 +msgid "" +"If it does not work after running, please refer to :ref:`C code is not " +"working?`" +msgstr "実行後に機能しない場合は、:ref:`C code is not working?` を参照してください。" + +#: ../1.1.2_rgb_led.rst:142 ../1.1.2_rgb_led.rst:284 +msgid "**Code**" +msgstr "**コード**" + +#: ../1.1.2_rgb_led.rst:197 ../1.1.2_rgb_led.rst:377 +msgid "**Code Explanation**" +msgstr "**コードの説明**" + +#: ../1.1.2_rgb_led.rst:203 +msgid "Library used for realizing the pwm function of the software." +msgstr "ソフトウェアのpwm機能を実現するために使用されるライブラリ。" + +#: ../1.1.2_rgb_led.rst:213 +msgid "" +"The function is to use software to create a PWM pin, set its period " +"between 0x100us-100x100us." +msgstr "この機能は、ソフトウェアを使用してPWMピンを作成し、その周期を0x100us〜100x100usに設定することである。" + +#: ../1.1.2_rgb_led.rst:216 +msgid "" +"The prototype of the function softPwmCreate(LedPinRed, 0, 100) is as " +"follows:" +msgstr "関数softPwmCreate(LedPinRed、0、100)のプロトタイプは次のとおりである:" + +#: ../1.1.2_rgb_led.rst:223 ../1.1.2_rgb_led.rst:246 +msgid "**Parameter pin:** Any GPIO pin of Raspberry Pi can be set as a PWM pin." +msgstr "**パラメータピン:** ラズベリーパイの任意のGPIOピンは、PWMピンとして設定することができます。" + +#: ../1.1.2_rgb_led.rst:224 +msgid "" +"**Parameter initialValue:** The initial pulse width is that initialValue " +"times100us." +msgstr "**Parameter initialValue:** 初期パルス幅はinitialValueに100usを掛けたものである。" + +#: ../1.1.2_rgb_led.rst:225 +msgid "**Parameter pwmRange:** the period of PWM is that pwmRange times100us." +msgstr "**Parameter pwmRange:** PWMの周期は、pwmRangeに100usを掛けたものである。" + +#: ../1.1.2_rgb_led.rst:235 +msgid "" +"This function is to set the colors of the LED. Using RGB, the formal " +"parameter **r_val** represents the luminance of the red one, **g_val** of" +" the green one, **b_val** of the blue one." +msgstr "" +"この機能はLEDの色を設定する。RGBを使用すると、仮パラメータは赤の輝度の **r_val** 、緑の輝度の **g_val** 、青の輝度の " +"**b_val** を表す。" + +#: ../1.1.2_rgb_led.rst:239 +msgid "" +"The prototype of the function softPwmWrite(LedPinBlue, b_val) is as " +"follows:" +msgstr "関数softPwmWrite(LedPinBlue, b_val)のプロトタイプは次のとおりである:" + +#: ../1.1.2_rgb_led.rst:247 +msgid "" +"**Parameter Value:** The pulse width of PWM is value times 100us. Note " +"that value can only be less than pwmRange defined previously, if it is " +"larger than pwmRange, the value will be given a fixed value, pwmRange." +msgstr "" +"**パラメータ値:** PWMのパルス幅は、値の100usの倍数です。値は、以前に定義された pwmRange より小さく、pwmRange " +"より大きい場合、値には固定値 pwmRange が与えられることに注意してください。" + +#: ../1.1.2_rgb_led.rst:253 +msgid "" +"Call the function defined before. Write 0xff into LedPinRed and 0x00 into" +" LedPinGreen and LedPinBlue. Only the Red LED lights up after running " +"this code. If you want to light up LEDs in other colors, just modify the " +"parameters." +msgstr "前に定義した関数を呼び出す。LedPinRedに0xffを、LedPinGreenとLedPinBlueに0x00を書き込む。このコードを実行すると、赤色のLEDのみが点灯する。他の色のLEDを点灯させる場合は、パラメーターを変更するだけである。" + +#: ../1.1.2_rgb_led.rst:259 +msgid "For Python Language Users" +msgstr "Python言語ユーザー向け" + +#: ../1.1.2_rgb_led.rst:261 +msgid "**Step 2:** Open the code file." +msgstr "**ステップ2:** コードファイルを開く。" + +#: ../1.1.2_rgb_led.rst:271 +msgid "**Step 3:** Run." +msgstr "**ステップ3:** 実行する。" + +#: ../1.1.2_rgb_led.rst:288 + +msgid "" +"You can **Modify/Reset/Copy/Run/Stop** the code below. But before that, " +"you need to go to source code path like ``davinci-kit-for-raspberry-" +"pi/python``." +msgstr "" +"以下のコードを **変更/リセット/コピー/実行/停止** できます。 ただし、その前に、 ``davinci-kit-for-raspberry-pi/python`` のようなソースコードパスに移動する必要があります。" + +#: ../1.1.2_rgb_led.rst:389 +msgid "" +"Call the GPIO.PWM( )function to define Red, Green and Blue as PWM pins " +"and set the frequency of PWM pins to 2000Hz, then Use the Start() " +"function to set the initial duty cycle to zero." +msgstr "" +"GPIO.PWM() 関数を呼び出して、赤、緑、青をPWMピンとして定義し、PWMピンの周波数を2000Hzに設定してから、Start() " +"関数を使用して初期デューティサイクルをゼロに設定する。" + +#: ../1.1.2_rgb_led.rst:398 +msgid "" +"Define a MAP function for mapping values. For instance, x=50, in_min=0, " +"in_max=255, out_min=0, out_max=100. After the map function mapping, it " +"returns (50-0) \\* (100-0)/(255-0) +0=19.6, meaning that 50 in 0-255 " +"equals 19.6 in 0-100." +msgstr "" +"値をマッピングするためのMAP関数を定義する。たとえば、x = 50、in_min = 0、in_max = 255、out_min = " +"0、out_max = 100。マップ関数のマッピング後、(50-0)*(100-0)/(255-0)+ 0 = " +"19.6を戻す。つまり、0-255の50は0-100の19.6に相当する。" + +#: ../1.1.2_rgb_led.rst:410 +msgid "" +"Configures the three LEDs’ luminance with the inputted color value, " +"assign the first two values of the hexadecimal to R_val, the middle two " +"assigned to G_val, the last two values to B_val. For instance, if " +"color=0xFF00FF, R_val=(0xFF00FF & 0xFF0000)>> 16 = 0xFF, G_val = 0x00, " +"B_val=0xFF." +msgstr "" +"入力されたカラー値で三つのLEDの輝度を構成し、16進数の最初の二つの値をR_valに割り当て、中央の二つをG_valに割り当て、最後の二つの値をB_valに割り当てる。たとえば、color" +" = 0xFF00FF、R_val =(0xFF00FF&0xFF0000)>> 16 = 0xFF、G_val = 0x00、B_val = " +"0xFFの場合。" + +#: ../1.1.2_rgb_led.rst:422 +msgid "" +"Use map function to map the R,G,B value among 0~255 into PWM duty cycle " +"range 0-100." +msgstr "マップ機能を使用して、0〜255のR、G、B値をPWMデューティサイクル範囲0〜100にマップする。" + +#: ../1.1.2_rgb_led.rst:431 +msgid "" +"Assign the mapped duty cycle value to the corresponding PWM channel to " +"change the luminance." +msgstr "マッピングされたデューティサイクルを対応するPWMチャネルに割り当てて、輝度を変更する。" + +#: ../1.1.2_rgb_led.rst:440 +msgid "" +"Assign every item in the COLOR list to the color respectively and change " +"the color of the RGB LED via the setColor() function." +msgstr "COLORリストのすべてのアイテムをそれぞれ色に割り当て、setColor() 関数を介してRGB LEDの色を変更する。" + +#: ../1.1.2_rgb_led.rst:444 +msgid "Phenomenon Picture" +msgstr "現象画像" + +#~ msgid "" +#~ "If it does not work after running," +#~ " please refer to :ref:`C code is " +#~ "not working?`." +#~ msgstr "" + diff --git a/docs/source/locale/ja/LC_MESSAGES/1.1.3_led_bar_graph.po b/docs/source/locale/ja/LC_MESSAGES/1.1.3_led_bar_graph.po new file mode 100644 index 0000000..3816657 --- /dev/null +++ b/docs/source/locale/ja/LC_MESSAGES/1.1.3_led_bar_graph.po @@ -0,0 +1,329 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, SunFounder +# This file is distributed under the same license as the SunFounder Davinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Davinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-19 18:22+0800\n" +"PO-Revision-Date: 2021-05-27 16:48+0800\n" +"Last-Translator: \n" +"Language: ja\n" +"Language-Team: \n" +"Plural-Forms: nplurals=1; plural=0\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../1.1.3_led_bar_graph.rst:2 +msgid "1.1.3 LED Bar Graph" +msgstr "1.1.3 LED棒グラフ" + +#: ../1.1.3_led_bar_graph.rst:5 +msgid "Introduction" +msgstr "前書き" + +#: ../1.1.3_led_bar_graph.rst:7 +msgid "" +"In this project, we sequentially illuminate the lights on the LED Bar " +"Graph." +msgstr "このプロジェクトでは、LED棒グラフのライトを順番に点灯させる。" + +#: ../1.1.3_led_bar_graph.rst:11 +msgid "Components" +msgstr "部品" + +#: ../1.1.3_led_bar_graph.rst:17 +msgid "Principle" +msgstr "原理" + +#: ../1.1.3_led_bar_graph.rst:19 +msgid "**LED Bar Graph**" +msgstr "**LED棒グラフ**" + +#: ../1.1.3_led_bar_graph.rst:21 +msgid "" +"LED Bar Graph is an LED array, which is used to connect with electronic " +"circuit or microcontroller. It’s easy to connect LED bar graph with the " +"circuit like as connecting 10 individual LEDs with 10 output pins. " +"Generally we can use the LED bar graph as a Battery level Indicator, " +"Audio equipments, and Industrial Control panels. There are many other " +"applications of LED bar graphs." +msgstr "LED棒グラフは、電子回路またはマイクロコントローラーとの接続に使用されるLED配列である。10個の個別のLEDを10本の出力ピンに接続するように、LED棒グラフを回路に簡単に接続できる。通常、LED棒グラフは、バッテリーレベルインジケーター、オーディオ機器、および産業用制御パネルとして使用できる。LED棒グラフには他にも多くの用途がある。" + +#: ../1.1.3_led_bar_graph.rst:31 +msgid "Schematic Diagram" +msgstr "回路図" + +#: ../1.1.3_led_bar_graph.rst:34 +msgid "T-Board Name" +msgstr "Tボード名" + +#: ../1.1.3_led_bar_graph.rst:34 +msgid "physical" +msgstr "physical" + +#: ../1.1.3_led_bar_graph.rst:34 +msgid "wiringPi" +msgstr "wiringPi" + +#: ../1.1.3_led_bar_graph.rst:34 +msgid "BCM" +msgstr "BCM" + +#: ../1.1.3_led_bar_graph.rst:35 +msgid "GPIO17" +msgstr "GPIO17" + +#: ../1.1.3_led_bar_graph.rst:35 +msgid "Pin 11" +msgstr "Pin 11" + +#: ../1.1.3_led_bar_graph.rst:35 +msgid "0" +msgstr "0" + +#: ../1.1.3_led_bar_graph.rst:35 +msgid "17" +msgstr "17" + +#: ../1.1.3_led_bar_graph.rst:36 +msgid "GPIO18" +msgstr "GPIO18" + +#: ../1.1.3_led_bar_graph.rst:36 +msgid "Pin 12" +msgstr "Pin 12" + +#: ../1.1.3_led_bar_graph.rst:36 +msgid "1" +msgstr "1" + +#: ../1.1.3_led_bar_graph.rst:36 +msgid "18" +msgstr "18" + +#: ../1.1.3_led_bar_graph.rst:37 +msgid "GPIO27" +msgstr "GPIO27" + +#: ../1.1.3_led_bar_graph.rst:37 +msgid "Pin 13" +msgstr "Pin 13" + +#: ../1.1.3_led_bar_graph.rst:37 ../1.1.3_led_bar_graph.rst:42 +msgid "2" +msgstr "2" + +#: ../1.1.3_led_bar_graph.rst:37 +msgid "27" +msgstr "27" + +#: ../1.1.3_led_bar_graph.rst:38 +msgid "GPIO22" +msgstr "GPIO22" + +#: ../1.1.3_led_bar_graph.rst:38 +msgid "Pin 15" +msgstr "Pin 15" + +#: ../1.1.3_led_bar_graph.rst:38 ../1.1.3_led_bar_graph.rst:43 +msgid "3" +msgstr "3" + +#: ../1.1.3_led_bar_graph.rst:38 +msgid "22" +msgstr "22" + +#: ../1.1.3_led_bar_graph.rst:39 +msgid "GPIO23" +msgstr "GPIO23" + +#: ../1.1.3_led_bar_graph.rst:39 +msgid "Pin 16" +msgstr "Pin 16" + +#: ../1.1.3_led_bar_graph.rst:39 +msgid "4" +msgstr "4" + +#: ../1.1.3_led_bar_graph.rst:39 +msgid "23" +msgstr "23" + +#: ../1.1.3_led_bar_graph.rst:40 +msgid "GPIO24" +msgstr "GPIO24" + +#: ../1.1.3_led_bar_graph.rst:40 +msgid "Pin 18" +msgstr "Pin 18" + +#: ../1.1.3_led_bar_graph.rst:40 +msgid "5" +msgstr "5" + +#: ../1.1.3_led_bar_graph.rst:40 +msgid "24" +msgstr "24" + +#: ../1.1.3_led_bar_graph.rst:41 +msgid "GPIO25" +msgstr "GPIO25" + +#: ../1.1.3_led_bar_graph.rst:41 +msgid "Pin 22" +msgstr "Pin 22" + +#: ../1.1.3_led_bar_graph.rst:41 +msgid "6" +msgstr "6" + +#: ../1.1.3_led_bar_graph.rst:41 +msgid "25" +msgstr "25" + +#: ../1.1.3_led_bar_graph.rst:42 +msgid "SDA1" +msgstr "SDA1" + +#: ../1.1.3_led_bar_graph.rst:42 +msgid "Pin 3" +msgstr "Pin 3" + +#: ../1.1.3_led_bar_graph.rst:42 ../1.1.3_led_bar_graph.rst:44 +msgid "8" +msgstr "8" + +#: ../1.1.3_led_bar_graph.rst:43 +msgid "SCL1" +msgstr "SCL1" + +#: ../1.1.3_led_bar_graph.rst:43 +msgid "Pin 5" +msgstr "Pin 5" + +#: ../1.1.3_led_bar_graph.rst:43 +msgid "9" +msgstr "9" + +#: ../1.1.3_led_bar_graph.rst:44 +msgid "SPICE0" +msgstr "SPICE0" + +#: ../1.1.3_led_bar_graph.rst:44 +msgid "Pin 24" +msgstr "Pin 24" + +#: ../1.1.3_led_bar_graph.rst:44 +msgid "10" +msgstr "10" + +#: ../1.1.3_led_bar_graph.rst:51 +msgid "Experimental Procedures" +msgstr "実験手順" + +#: ../1.1.3_led_bar_graph.rst:53 +msgid "**Step 1**: Build the circuit." +msgstr "**ステップ1:** 回路を作る。" + +#: ../1.1.3_led_bar_graph.rst:59 +msgid "For C Language Users" +msgstr "C言語ユーザー向け" + +#: ../1.1.3_led_bar_graph.rst:61 +msgid "**Step 2**: Go to the folder of the code." +msgstr "**ステップ2:** コードのフォルダーに入る。" + +#: ../1.1.3_led_bar_graph.rst:71 +msgid "**Step 3**: Compile the code." +msgstr "**ステップ3:** コードをコンパイルする。" + +#: ../1.1.3_led_bar_graph.rst:81 +msgid "**Step 4:** Run the executable file." +msgstr "**ステップ4:** EXEファイルを実行する。" + +#: ../1.1.3_led_bar_graph.rst:91 ../1.1.3_led_bar_graph.rst:222 +msgid "" +"After the code runs, you will see the LEDs on the LED bar turn on and off" +" regularly." +msgstr "コードの実行後、LEDバーのLEDが定期的にオン/オフになる。" + +#: ../1.1.3_led_bar_graph.rst:97 +msgid "" +"If it does not work after running, please refer to :ref:`C code is not " +"working?`" +msgstr "実行後に機能しない場合は、:ref:`C code is not working?` を参照してください。" + +#: ../1.1.3_led_bar_graph.rst:99 ../1.1.3_led_bar_graph.rst:225 +msgid "**Code**" +msgstr "**コード**" + +#: ../1.1.3_led_bar_graph.rst:151 ../1.1.3_led_bar_graph.rst:290 +msgid "**Code Explanation**" +msgstr "**コードの説明**" + +#: ../1.1.3_led_bar_graph.rst:157 +msgid "" +"Create an array and assign it to the pin number corresponding to the LED " +"Bar Graph (0,1,2,3,4,5,6,8,9,10) and the array will be used to control " +"the LED." +msgstr "配列を作成し、LED棒グラフ(0、1、2、3、4、5、6、8、9、10)に対応するピン番号に割り当て、配列はLEDを制御するために使用される。" + +#: ../1.1.3_led_bar_graph.rst:172 ../1.1.3_led_bar_graph.rst:304 +msgid "Let the LED on the odd digit of the LED Bar Graph light on in turn." +msgstr "LED棒グラフの奇数桁のLEDを順番に点灯させる。" + +#: ../1.1.3_led_bar_graph.rst:185 ../1.1.3_led_bar_graph.rst:315 +msgid "Make the LED on the even digit of the LED Bar Graph light on in turn." +msgstr "LED棒グラフの偶数桁のLEDを順番に点灯させる。" + +#: ../1.1.3_led_bar_graph.rst:197 ../1.1.3_led_bar_graph.rst:325 +msgid "Let the LED on the LED Bar Graph light on one by one." +msgstr "LED棒グラフのLEDを1つずつ点灯させる。" + +#: ../1.1.3_led_bar_graph.rst:200 +msgid "For Python Language Users" +msgstr "Python言語ユーザー向け" + +#: ../1.1.3_led_bar_graph.rst:202 +msgid "**Step 2:** Go to the folder of the code." +msgstr "**ステップ2:** コードのフォルダーに入る。" + +#: ../1.1.3_led_bar_graph.rst:212 +msgid "**Step 3**: Run the executable file." +msgstr "**ステップ3:** Run the executable file." + +#: ../1.1.3_led_bar_graph.rst:229 + +msgid "" +"You can **Modify/Reset/Copy/Run/Stop** the code below. But before that, " +"you need to go to source code path like ``davinci-kit-for-raspberry-" +"pi/python``." +msgstr "" +"以下のコードを **変更/リセット/コピー/実行/停止** できます。 ただし、その前に、 ``davinci-kit-for-raspberry-pi/python`` のようなソースコードパスに移動する必要があります。" + +#: ../1.1.3_led_bar_graph.rst:292 +msgid "" +"ledPins = [11, 12, 13, 15, 16, 18, 22, 3, 5, 24] Create an array and " +"assign it to the pin number corresponding to the LED Bar Graph (11, 12, " +"13, 15, 16, 18, 22, 3, 5, 24) and the array will be used to control the " +"LED." +msgstr "" +"ledPins = [11, 12, 13, 15, 16, 18, 22, 3, 5, 24] " +"配列を作成し、LED棒グラフ(11、12、13、15、16、18、22、3、5、24)に対応するピン番号に割り当て、配列はLEDを制御するために使用される。" + +#: ../1.1.3_led_bar_graph.rst:328 +msgid "Phenomenon Picture" +msgstr "現象画像" + +#~ msgid "" +#~ "If it does not work after running," +#~ " please refer to :ref:`C code is " +#~ "not working?`." +#~ msgstr "" + diff --git a/docs/source/locale/ja/LC_MESSAGES/1.1.4_7-segment_display.po b/docs/source/locale/ja/LC_MESSAGES/1.1.4_7-segment_display.po new file mode 100644 index 0000000..808ba3a --- /dev/null +++ b/docs/source/locale/ja/LC_MESSAGES/1.1.4_7-segment_display.po @@ -0,0 +1,408 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, SunFounder +# This file is distributed under the same license as the SunFounder Davinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Davinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-19 18:22+0800\n" +"PO-Revision-Date: 2021-08-06 11:28+0800\n" +"Last-Translator: \n" +"Language: ja\n" +"Language-Team: \n" +"Plural-Forms: nplurals=1; plural=0\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../1.1.4_7-segment_display.rst:2 +msgid "1.1.4 7-segment Display" +msgstr "1.1.4 7セグメントディスプレイ" + +#: ../1.1.4_7-segment_display.rst:5 +msgid "Introduction" +msgstr "前書き" + +#: ../1.1.4_7-segment_display.rst:7 +msgid "" +"Let's try to drive a 7-segment display to show a figure from 0 to 9 and A" +" to F." +msgstr "7セグメントディスプレイを駆動して、0から9およびAからFの数字を表示してみましょう。" + +#: ../1.1.4_7-segment_display.rst:11 +msgid "Components" +msgstr "部品" + +#: ../1.1.4_7-segment_display.rst:16 +msgid "Principle" +msgstr "原理" + +#: ../1.1.4_7-segment_display.rst:18 +msgid "**7-Segment Display**" +msgstr "**7セグメントディスプレイ**" + +#: ../1.1.4_7-segment_display.rst:20 +msgid "" +"A 7-segment display is an 8-shaped component which packages 7 LEDs. Each " +"LED is called a segment - when energized, one segment forms part of a " +"numeral to be displayed." +msgstr "7セグメントディスプレイは、LEDを7個パッケージした8字型の部品である。各LEDはセグメントと呼ばれる-通電されると、1つのセグメントが表示される数字の一部を形成する。" + +#: ../1.1.4_7-segment_display.rst:24 +msgid "" +"There are two types of pin connection: Common Cathode (CC) and Common " +"Anode (CA). As the name suggests, a CC display has all the cathodes of " +"the 7 LEDs connected when a CA display has all the anodes of the 7 " +"segments connected. In this kit, we use the former." +msgstr "ピン接続には、カソードコモン(CC)とアノードコモン(CA)の2種類がある。名前が示すように、CAディスプレイには7セグメントのアノードがすべて接続されている場合、CCディスプレイには7つのLEDのカソードがすべて接続されている。このキットでは、前者を使用する。" + +#: ../1.1.4_7-segment_display.rst:34 +msgid "" +"Each of the LEDs in the display is given a positional segment with one of" +" its connection pins led out from the rectangular plastic package. These " +"LED pins are labeled from \"a\" through to \"g\" representing each " +"individual LED. The other LED pins are connected together forming a " +"common pin. So by forward biasing the appropriate pins of the LED " +"segments in a particular order, some segments will brighten and others " +"stay dim, thus showing the corresponding character on the display." +msgstr "ディスプレイの各LEDには、長方形のプラスチックパッケージから接続ピンの1つが引き出された位置セグメントがある。これらのLEDピンには、個々のLEDを表す「a」から「g」までのラベルが付いている。他のLEDピンは一緒に接続され、共通のピンを形成する。そのため、LEDセグメントの適切なピンを特定の順序で順方向にバイアスすることにより、一部のセグメントが明るくなり、他のセグメントが暗くなり、ディスプレイに対応する文字が表示される。" + +#: ../1.1.4_7-segment_display.rst:42 +msgid "**Display Codes**" +msgstr "**表示コード**" + +#: ../1.1.4_7-segment_display.rst:44 +msgid "" +"To help you get to know how 7-segment displays(Common Cathode) display " +"Numbers, we have drawn the following table. Numbers are the number 0-F " +"displayed on the 7-segment display; (DP) GFEDCBA refers to the " +"corresponding LED set to 0 or 1, For example, 00111111 means that DP and " +"G are set to 0, while others are set to 1. Therefore, the number 0 is " +"displayed on the 7-segment display, while HEX Code corresponds to " +"hexadecimal number." +msgstr "7セグメントディスプレイ(カソードコモン)がどのように番号を表示するかを知るために、次の表を作成した。数字は、7セグメントディスプレイに表示される数字0〜Fである。(DP)GFEDCBAは、0または1に設定された対応するLEDを指す。たとえば、00111111は、DPとGが0に設定され、他が1に設定されることを意味する。したがって、7セグメントディスプレイには0が表示され、HEXコードは16進数に対応する。" + +#: ../1.1.4_7-segment_display.rst:55 +msgid "**74HC595**" +msgstr "**74HC595**" + +#: ../1.1.4_7-segment_display.rst:57 +msgid "" +"The 74HC595 consists of an 8−bit shift register and a storage register " +"with three−state parallel outputs. It converts serial input into parallel" +" output so you can save IO ports of an MCU." +msgstr "74HC595は、8ビットのシフトレジスタと、3段階の並列出力を備えたストレージレジスタで構成されている。MCUのIOポートを節約できるように、シリアル入力を並列出力に変換する。" + +#: ../1.1.4_7-segment_display.rst:61 +msgid "" +"When MR (pin10) is high level and OE (pin13) is low level, data is input " +"in the rising edge of SHcp and goes to the memory register through the " +"rising edge of SHcp. If the two clocks are connected together, the shift " +"register is always one pulse earlier than the memory register. There is a" +" serial shift input pin (Ds), a serial output pin (Q) and an asynchronous" +" reset button (low level) in the memory register. The memory register " +"outputs a Bus with a parallel 8-bit and in three states. When OE is " +"enabled (low level), the data in memory register is output to the bus." +msgstr "MR(ピン10)が高レベルで、OE(ピン13)が低レベルの場合、データはSHcpの立ち上がりエッジで入力され、SHcpの立ち上がりエッジを介してメモリレジスタに入力される。2つのクロックが接続されている場合、シフトレジスタは常にメモリレジスタより1パルス早くなる。メモリレジスタには、シリアルシフト入力ピン(Ds)、シリアル出力ピン(Q)、非同期リセットボタン(低レベル)がある。メモリレジスタは並列8ビットで3つの状態のバスを出力します。OEが有効(低レベル)の場合、メモリレジスタのデータがバスに出力される。" + +#: ../1.1.4_7-segment_display.rst:78 +msgid "**Pins of 74HC595 and their functions**:" +msgstr "**74HC595のピンとその機能**:" + +#: ../1.1.4_7-segment_display.rst:80 +msgid "" +"**Q0-Q7**: 8-bit parallel data output pins, able to control 8 LEDs or 8 " +"pins of 7-segment display directly." +msgstr "**Q0-Q7**:8ビットパラレルデータ出力端子。8個のLEDまたは8個の7セグメントディスプレイを直接制御することができます。" + +#: ../1.1.4_7-segment_display.rst:82 +msgid "" +"**Q7’**: Series output pin, connected to DS of another 74HC595 to connect" +" multiple 74HC595s in series." +msgstr "**Q7'**: 複数の74HC595を直列に接続するために,別の74HC595のDSに接続される直列出力端子。" + +#: ../1.1.4_7-segment_display.rst:84 +msgid "**MR**: Reset pin, active at low level;" +msgstr "**MR**: リセットピン-低レベルで作動;" + +#: ../1.1.4_7-segment_display.rst:86 +msgid "" +"**SHcp**: Time sequence input of shift register. On the rising edge, the " +"data in shift register moves successively one bit, i.e. data in Q1 moves " +"to Q2, and so forth. While on the falling edge, the data in shift " +"register remain unchanged." +msgstr "" +"**SHcp**:シフトレジスタの時系列入力。 " +"立ち上がりエッジでは、シフトレジスタのデータが1ビット連続して移動します。つまり、Q1のデータがQ2に移動します。 " +"立ち下がりエッジにある間、シフトレジスタのデータは変更されません。" + +#: ../1.1.4_7-segment_display.rst:88 +msgid "" +"**STcp**: Time sequence input of storage register. On the rising edge, " +"data in the shift register moves into memory register." +msgstr "**STcp**:ストレージレジスタの時系列入力。 立ち上がりエッジで、シフトレジスタのデータがメモリレジスタに移動します。" + +#: ../1.1.4_7-segment_display.rst:90 +msgid "**CE**: Output enable pin, active at low level." +msgstr "**CE** : 出力イネーブルピン、低レベルで作動する。" + +#: ../1.1.4_7-segment_display.rst:92 +msgid "**DS**: Serial data input pin" +msgstr "**DS** : 直列データ入力ピン" + +#: ../1.1.4_7-segment_display.rst:94 +msgid "**VCC**: Positive supply voltage" +msgstr "**VCC** : 正の電源電圧" + +#: ../1.1.4_7-segment_display.rst:96 +msgid "**GND**: Ground" +msgstr "**GND** : 接地" + +#: ../1.1.4_7-segment_display.rst:99 +msgid "Schematic Diagram" +msgstr "回路図" + +#: ../1.1.4_7-segment_display.rst:101 +msgid "" +"Connect pin ST_CP of 74HC595 to Raspberry Pi GPIO18, SH_CP to GPIO27, DS " +"to GPIO17, parallel output ports to 8 segments of the LED segment " +"display. Input data in DS pin to shift register when SH_CP (the clock " +"input of the shift register) is at the rising edge, and to the memory " +"register when ST_CP (the clock input of the memory) is at the rising " +"edge. Then you can control the states of SH_CP and ST_CP via the " +"Raspberry Pi GPIOs to transform serial data input into parallel data " +"output so as to save Raspberry Pi GPIOs and drive the display." +msgstr "" +"74HC595のピンST_CPをRaspberry Pi " +"GPIO18に、SH_CPをGPIO27に、DSをGPIO17に、並列出力ポートをLEDセグメントディスプレイの8つのセグメントに接続する。SH_CP(シフトレジスタのクロック入力)が立ち上がりエッジにある場合はDSピンのデータをシフトレジスタに入力し、ST_CP(メモリのクロック入力)が立ち上がりエッジにある場合はそのデータをメモリレジスタに入力する。次に、Raspberry" +" Pi GPIOを介してSH_CPおよびST_CPの状態を制御し、直列データ入力を並列データ出力に変換して、Raspberry Pi " +"GPIOを保存したりディスプレイを駆動したりすることはできる。" + +#: ../1.1.4_7-segment_display.rst:111 +msgid "T-Board Name" +msgstr "Tボード名" + +#: ../1.1.4_7-segment_display.rst:111 +msgid "physical" +msgstr "physical" + +#: ../1.1.4_7-segment_display.rst:111 +msgid "wiringPi" +msgstr "wiringPi" + +#: ../1.1.4_7-segment_display.rst:111 +msgid "BCM" +msgstr "BCM" + +#: ../1.1.4_7-segment_display.rst:112 +msgid "GPIO17" +msgstr "GPIO17" + +#: ../1.1.4_7-segment_display.rst:112 +msgid "Pin 11" +msgstr "Pin 11" + +#: ../1.1.4_7-segment_display.rst:112 +msgid "0" +msgstr "0" + +#: ../1.1.4_7-segment_display.rst:112 +msgid "17" +msgstr "17" + +#: ../1.1.4_7-segment_display.rst:113 +msgid "GPIO18" +msgstr "GPIO18" + +#: ../1.1.4_7-segment_display.rst:113 +msgid "Pin 12" +msgstr "Pin 12" + +#: ../1.1.4_7-segment_display.rst:113 +msgid "1" +msgstr "1" + +#: ../1.1.4_7-segment_display.rst:113 +msgid "18" +msgstr "18" + +#: ../1.1.4_7-segment_display.rst:114 +msgid "GPIO27" +msgstr "GPIO27" + +#: ../1.1.4_7-segment_display.rst:114 +msgid "Pin 13" +msgstr "Pin 13" + +#: ../1.1.4_7-segment_display.rst:114 +msgid "2" +msgstr "2" + +#: ../1.1.4_7-segment_display.rst:114 +msgid "27" +msgstr "27" + +#: ../1.1.4_7-segment_display.rst:121 +msgid "Experimental Procedures" +msgstr "実験手順" + +#: ../1.1.4_7-segment_display.rst:123 +msgid "**Step 1:** Build the circuit." +msgstr "**ステップ1:** 回路を作る。" + +#: ../1.1.4_7-segment_display.rst:129 +msgid "For C Language Users" +msgstr "C言語ユーザー向け" + +#: ../1.1.4_7-segment_display.rst:131 ../1.1.4_7-segment_display.rst:270 +msgid "Step 2: Get into the folder of the code." +msgstr "ステップ2:コードのフォルダーに入る。" + +#: ../1.1.4_7-segment_display.rst:141 +msgid "Step 3: Compile." +msgstr "ステップ3:コンパイルする。" + +#: ../1.1.4_7-segment_display.rst:151 +msgid "Step 4: Run the executable file above." +msgstr "ステップ4:EXEファイルを実行する。" + +#: ../1.1.4_7-segment_display.rst:161 ../1.1.4_7-segment_display.rst:290 +msgid "After the code runs, you'll see the 7-segment display display 0-9, A-F." +msgstr "コードの実行後、7セグメントディスプレイに0〜9、AFが表示される。" + +#: ../1.1.4_7-segment_display.rst:165 +msgid "" +"If it does not work after running, please refer to :ref:`C code is not " +"working?`" +msgstr "実行後に機能しない場合は、:ref:`C code is not working?` を参照してください。" + +#: ../1.1.4_7-segment_display.rst:167 ../1.1.4_7-segment_display.rst:292 +msgid "**Code**" +msgstr "**コード**" + +#: ../1.1.4_7-segment_display.rst:217 ../1.1.4_7-segment_display.rst:352 +msgid "**Code Explanation**" +msgstr "**コードの説明**" + +#: ../1.1.4_7-segment_display.rst:219 +msgid "" +"unsigned char SegCode[16] = " +"{0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};" +" A segment code array from 0 to F in Hexadecimal (Common cathode)." +msgstr "" +"unsigned char SegCode[16] = " +"{0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};" +" 16進数(カソードコモン)の0からFまでのセグメントコード配列。" + +#: ../1.1.4_7-segment_display.rst:233 +msgid "" +"Set ds, st_cp, sh_cp three pins to OUTPUT, and the initial state as 0. " +"void hc595_shift(unsigned char dat){} To assign 8 bit value to 74HC595’s " +"shift register." +msgstr "" +"Set ds, st_cp, sh_cpの3つのピンをOUTPUTに設定し、初期状態を0に設定する。void " +"hc595_shift(unsigned char dat){} 8ビット値を74HC595のシフトレジスタに割り当てる。" + +#: ../1.1.4_7-segment_display.rst:241 +msgid "" +"Assign the dat data to SDI(DS) by bits. Here we assume dat=0x3f(0011 " +"1111, when i=2, 0x3f will shift left(<<) 2 bits. 1111 1100 (0x3f << 2) & " +"1000 0000 (0x80) = 1000 0000, is true." +msgstr "" +"ビットごとにdatデータをSDI(DS)に割り当てる。ここでは、dat = 0x3f(0011 1111を仮定し、i = " +"2の場合、0x3fは左(<<)2ビットにシフトする。1111 1100(0x3f << 2)&1000 0000(0x80)= 1000 " +"0000、真である。" + +#: ../1.1.4_7-segment_display.rst:247 +msgid "" +"SRCLK's initial value was set to 0, and here it's set to 1, which is to " +"generate a rising edge pulse, then shift the DS date to shift register." +msgstr "SRCLKの初期値は元々に0に設定されていたが、ここでは1に設定されている。これは、立ち上がりエッジパルスを生成し、DSの日付をシフトレジスタにシフトする。" + +#: ../1.1.4_7-segment_display.rst:253 +msgid "" +"RCLK's initial value was set to 0, and here it's set to 1, which is to " +"generate a rising edge, then shift data from shift register to storage " +"register." +msgstr "RCLKの初期値は元々に0に設定されていたが、ここでは1に設定されている。これは、立ち上がりエッジパルスを生成し、データーをシフトレジスタからストレージレジスターにシフトする。" + +#: ../1.1.4_7-segment_display.rst:265 +msgid "" +"In this for loop, we use \\\"%1X\\\" to output i as a hexadecimal number." +" Apply i to find the corresponding segment code in the SegCode[] array, " +"and employ hc595_shift() to pass the SegCode into 74HC595's shift " +"register." +msgstr "このforループでは、iを16進数で出力するために、\"%1X\" を使用しています。iを適用してSegCode[]配列の対応するセグメントコードを求め、" +"hc595_shift()で74HC595のシフトレジスターにSegCodeを渡します。" + +#: ../1.1.4_7-segment_display.rst:268 +msgid "For Python Language Users" +msgstr "Python言語ユーザー向け" + +#: ../1.1.4_7-segment_display.rst:280 +msgid "Step 3: Run." +msgstr "ステップ3:実行する。" + +#: ../1.1.4_7-segment_display.rst:297 + +msgid "" +"You can **Modify/Reset/Copy/Run/Stop** the code below. But before that, " +"you need to go to source code path like ``davinci-kit-for-raspberry-" +"pi/python``." +msgstr "" +"以下のコードを **変更/リセット/コピー/実行/停止** できます。 ただし、その前に、 ``davinci-kit-for-raspberry-pi/python`` のようなソースコードパスに移動する必要があります。" + +#: ../1.1.4_7-segment_display.rst:358 +msgid "A segment code array from 0 to F in Hexadecimal (Common cathode)." +msgstr "16進数(カソードコモン)の0からFまでのセグメントコード配列。" + +#: ../1.1.4_7-segment_display.rst:368 +msgid "" +"Set ds, st_cp, sh_cp three pins to output and the initial state as low " +"level." +msgstr "Set ds, st_cp, sh_cpの3つのピンを出力に設定し、初期状態を低レベルとして設定する。" + +#: ../1.1.4_7-segment_display.rst:374 +msgid "" +"Assign the dat data to SDI(DS) by bits. Here we assume dat=0x3f(0011 " +"1111, when bit=2, 0x3f will shift right(<<) 2 bits. 1111 1100 (0x3f << 2)" +" & 1000 0000 (0x80) = 1000 0000, is true." +msgstr "" +"ビットごとにdatデータをSDI(DS)に割り当てる。ここでは、dat = 0x3f(0011 1111、bit = " +"2を仮定し、0x3fは右(<<)2ビットに切り替える。1111 1100(0x3f << 2)&1000 0000(0x80)=1000 " +"0000、は真である。" + +#: ../1.1.4_7-segment_display.rst:380 +msgid "" +"SRCLK's initial value was set to LOW, and here it's set to HIGH, which is" +" to generate a rising edge pulse, then shift the DS date to shift " +"register." +msgstr "SRCLKの初期値は元々LOWに設定されていたが、ここでは立ち上がりエッジを生成し、DSデータをシフトレジスタに切り替えるためにHIGHに設定されている。" + +#: ../1.1.4_7-segment_display.rst:386 +msgid "" +"RCLK's initial value was set to LOW, and here it's set to HIGH, which is " +"to generate a rising edge, then shift data from shift register to storage" +" register." +msgstr "SRCLKの初期値は元々LOWに設定されていたが、ここでは立ち上がりエッジを生成し、DSデータをシフトレジスタに切り替えるためにHIGHに設定されている。" + +#: ../1.1.4_7-segment_display.rst:389 +msgid "" +"The hexadecimal format of number 0~15 are (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, " +"A, B, C, D, E, F)" +msgstr "番号0〜15の16進形式は:(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F)。" + +#: ../1.1.4_7-segment_display.rst:392 +msgid "Phenomenon Picture" +msgstr "現象画像" + +#~ msgid "" +#~ "If it does not work after running," +#~ " please refer to :ref:`C code is " +#~ "not working?`." +#~ msgstr "" + diff --git a/docs/source/locale/ja/LC_MESSAGES/1.1.5_4-Digit_7-segment_display.po b/docs/source/locale/ja/LC_MESSAGES/1.1.5_4-Digit_7-segment_display.po new file mode 100644 index 0000000..46152b3 --- /dev/null +++ b/docs/source/locale/ja/LC_MESSAGES/1.1.5_4-Digit_7-segment_display.po @@ -0,0 +1,412 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, SunFounder +# This file is distributed under the same license as the SunFounder Davinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Davinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-19 18:22+0800\n" +"PO-Revision-Date: 2021-08-06 11:34+0800\n" +"Last-Translator: \n" +"Language: ja\n" +"Language-Team: \n" +"Plural-Forms: nplurals=1; plural=0\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../1.1.5_4-Digit_7-segment_display.rst:2 +msgid "1.1.5 4-Digit 7-Segment Display" +msgstr "1.1.5 4桁7セグメントディスプレイ" + +#: ../1.1.5_4-Digit_7-segment_display.rst:5 +msgid "Introduction" +msgstr "前書き" + +#: ../1.1.5_4-Digit_7-segment_display.rst:7 +msgid "Next, follow me to try to control the 4-digit 7-segment display." +msgstr "次に、4桁7セグメントディスプレイを制御してみてください。" + +#: ../1.1.5_4-Digit_7-segment_display.rst:10 +msgid "Components" +msgstr "部品" + +#: ../1.1.5_4-Digit_7-segment_display.rst:16 +msgid "Principle" +msgstr "原理" + +#: ../1.1.5_4-Digit_7-segment_display.rst:18 +msgid "**4-Digit 7-Segment Display**" +msgstr "**4桁7セグメントディスプレイ**" + +#: ../1.1.5_4-Digit_7-segment_display.rst:20 +msgid "" +"4-Digit 7-segment display consists of four 7- segment displays working " +"together." +msgstr "4桁の7セグメントディスプレイは、連携して動作する4つの7セグメントディスプレイで構成されている。" + +#: ../1.1.5_4-Digit_7-segment_display.rst:25 +msgid "" +"The 4-digtal 7-segment display works independently. It uses the principle" +" of human visual persistence to quickly display the characters of each " +"7-segment in a loop to form continuous strings." +msgstr "4デジタル7セグメントディスプレイは独立して動作する。人間の視覚的持続性の原理を使用して、ループ内の各7セグメントの文字をすばやく表示し、連続した文字列を形成する。" + +#: ../1.1.5_4-Digit_7-segment_display.rst:29 +msgid "" +"For example, when \"1234\" is displayed on the display, \"1\" is " +"displayed on the first 7-segment, and \"234\" is not displayed. After a " +"period of time, the second 7-segment shows \"2\", the 1st 3th 4th of " +"7-segment does not show, and so on, the four digital display show in " +"turn. This process is very short (typically 5ms), and because of the " +"optical afterglow effect and the principle of visual residue, we can see " +"four characters at the same time." +msgstr "つまり、ディスプレイに「1234」が表示されている場合、最初の7セグメントに「1」が表示され、「234」は表示されないということである。しばらくすると、2番目の7セグメントに「2」が表示され、7セグメントの1番目、3番目、4番目に表示されなくなり、4つのデジタルディスプレイショーが順番に表示される。このプロセスは非常に短く(通常5ms)、光学的残光効果と視覚的残留の原理により、同時に4つの文字を見ることができる。" + +#: ../1.1.5_4-Digit_7-segment_display.rst:40 +msgid "**Display Codes**" +msgstr "**表示コード**" + +#: ../1.1.5_4-Digit_7-segment_display.rst:42 +msgid "" +"To help you get to know how 7-segment displays(Common Anode) display " +"Numbers, we have drawn the following table. Numbers are the number 0-F " +"displayed on the 7-segment display; (DP) GFEDCBA refers to the " +"corresponding LED set to 0 or 1, For example, 11000000 means that DP and " +"G are set to 1, while others are set to 0. Therefore, the number 0 is " +"displayed on the 7-segment display, while HEX Code corresponds to " +"hexadecimal number." +msgstr "7セグメントディスプレイ(アノードコモン)がどのように番号を表示するかを知るために、次の表をご参照ください。数字は7セグメントディスプレイに表示される0〜Fの数字である。(DP)GFEDCBAは、0または1に設定された対応のLEDを指す。たとえば、11000000はDPおよびGが1に設定され、他のLEDが0に設定されることを意味する。したがって、7セグメントディスプレイには0が表示され、HEXコードは16進数に対応する。" + +#: ../1.1.5_4-Digit_7-segment_display.rst:54 +msgid "Schematic Diagram" +msgstr "回路図" + +#: ../1.1.5_4-Digit_7-segment_display.rst:57 +msgid "T-Board Name" +msgstr "Tボード名" + +#: ../1.1.5_4-Digit_7-segment_display.rst:57 +msgid "physical" +msgstr "physical" + +#: ../1.1.5_4-Digit_7-segment_display.rst:57 +msgid "wiringPi" +msgstr "wiringPi" + +#: ../1.1.5_4-Digit_7-segment_display.rst:57 +msgid "BCM" +msgstr "BCM" + +#: ../1.1.5_4-Digit_7-segment_display.rst:58 +msgid "GPIO17" +msgstr "GPIO17" + +#: ../1.1.5_4-Digit_7-segment_display.rst:58 +msgid "Pin 11" +msgstr "Pin 11" + +#: ../1.1.5_4-Digit_7-segment_display.rst:58 +msgid "0" +msgstr "0" + +#: ../1.1.5_4-Digit_7-segment_display.rst:58 +msgid "17" +msgstr "17" + +#: ../1.1.5_4-Digit_7-segment_display.rst:59 +msgid "GPIO27" +msgstr "GPIO27" + +#: ../1.1.5_4-Digit_7-segment_display.rst:59 +msgid "Pin 13" +msgstr "Pin 13" + +#: ../1.1.5_4-Digit_7-segment_display.rst:59 +msgid "2" +msgstr "2" + +#: ../1.1.5_4-Digit_7-segment_display.rst:59 +msgid "27" +msgstr "27" + +#: ../1.1.5_4-Digit_7-segment_display.rst:60 +msgid "GPIO22" +msgstr "GPIO22" + +#: ../1.1.5_4-Digit_7-segment_display.rst:60 +msgid "Pin 15" +msgstr "Pin 15" + +#: ../1.1.5_4-Digit_7-segment_display.rst:60 +msgid "3" +msgstr "3" + +#: ../1.1.5_4-Digit_7-segment_display.rst:60 +msgid "22" +msgstr "22" + +#: ../1.1.5_4-Digit_7-segment_display.rst:61 +msgid "SPIMOSI" +msgstr "SPIMOSI" + +#: ../1.1.5_4-Digit_7-segment_display.rst:61 +msgid "Pin 19" +msgstr "Pin 19" + +#: ../1.1.5_4-Digit_7-segment_display.rst:61 +msgid "12" +msgstr "12" + +#: ../1.1.5_4-Digit_7-segment_display.rst:61 +msgid "10" +msgstr "10" + +#: ../1.1.5_4-Digit_7-segment_display.rst:62 +msgid "GPIO18" +msgstr "GPIO18" + +#: ../1.1.5_4-Digit_7-segment_display.rst:62 +msgid "Pin 12" +msgstr "Pin 12" + +#: ../1.1.5_4-Digit_7-segment_display.rst:62 +msgid "1" +msgstr "1" + +#: ../1.1.5_4-Digit_7-segment_display.rst:62 +msgid "18" +msgstr "18" + +#: ../1.1.5_4-Digit_7-segment_display.rst:63 +msgid "GPIO23" +msgstr "GPIO23" + +#: ../1.1.5_4-Digit_7-segment_display.rst:63 +msgid "Pin 16" +msgstr "Pin 16" + +#: ../1.1.5_4-Digit_7-segment_display.rst:63 +msgid "4" +msgstr "4" + +#: ../1.1.5_4-Digit_7-segment_display.rst:63 +msgid "23" +msgstr "23" + +#: ../1.1.5_4-Digit_7-segment_display.rst:64 +msgid "GPIO24" +msgstr "GPIO24" + +#: ../1.1.5_4-Digit_7-segment_display.rst:64 +msgid "Pin 18" +msgstr "Pin 18" + +#: ../1.1.5_4-Digit_7-segment_display.rst:64 +msgid "5" +msgstr "5" + +#: ../1.1.5_4-Digit_7-segment_display.rst:64 +msgid "24" +msgstr "24" + +#: ../1.1.5_4-Digit_7-segment_display.rst:71 +msgid "Experimental Procedures" +msgstr "実験手順" + +#: ../1.1.5_4-Digit_7-segment_display.rst:73 +msgid "**Step 1**: Build the circuit." +msgstr "**ステップ1**: 回路を作る。" + +#: ../1.1.5_4-Digit_7-segment_display.rst:79 +msgid "For C Language Users" +msgstr "C言語ユーザー向け" + +#: ../1.1.5_4-Digit_7-segment_display.rst:80 +#: ../1.1.5_4-Digit_7-segment_display.rst:327 +msgid "Step 2: Go to the folder of the code." +msgstr "ステップ2:コードのフォルダーに入る。" + +#: ../1.1.5_4-Digit_7-segment_display.rst:90 +msgid "Step 3: Compile the code." +msgstr "ステップ3:コードをコンパイルする。" + +#: ../1.1.5_4-Digit_7-segment_display.rst:100 +msgid "Step 4: Run the executable file." +msgstr "ステップ4:EXEファイルを実行する。" + +#: ../1.1.5_4-Digit_7-segment_display.rst:110 +msgid "" +"After the code runs, the program takes a count, increasing by 1 per " +"second, and the 4-digit 7-segment display displays the count." +msgstr "コードの実行後、プログラムは1秒間に1つずつ増やすカウントを行い、4桁の7セグメントディスプレイにそのカウントが表示される。" + +#: ../1.1.5_4-Digit_7-segment_display.rst:114 +msgid "" +"If it does not work after running, please refer to :ref:`C code is not " +"working?`" +msgstr "実行後に機能しない場合は、:ref:`C code is not working?` を参照してください。" + +#: ../1.1.5_4-Digit_7-segment_display.rst:116 +#: ../1.1.5_4-Digit_7-segment_display.rst:349 +msgid "**Code**" +msgstr "**コード**" + +#: ../1.1.5_4-Digit_7-segment_display.rst:228 +#: ../1.1.5_4-Digit_7-segment_display.rst:449 +msgid "**Code Explanation**" +msgstr "**コードの説明**" + +#: ../1.1.5_4-Digit_7-segment_display.rst:234 +#: ../1.1.5_4-Digit_7-segment_display.rst:455 +msgid "" +"These four pins control the common anode pins of the four-digit 7-segment" +" displays." +msgstr "これらの4つのピンは、4桁の7セグメントディスプレイのアノードコモンピンを制御する。" + +#: ../1.1.5_4-Digit_7-segment_display.rst:240 +msgid "A segment code array from 0 to 9 in Hexadecimal (Common anode)." +msgstr "16進数(アノードコモン)の0〜9のセグメントコード配列。" + +#: ../1.1.5_4-Digit_7-segment_display.rst:253 +#: ../1.1.5_4-Digit_7-segment_display.rst:482 +msgid "" +"Select the place of the value. there is only one place that should be " +"enable each time. The enabled place will be written high." +msgstr "値の場所を選択する。毎回有効な場所は1つだけである。有効な場所はhighに書き込まれる。" + +#: ../1.1.5_4-Digit_7-segment_display.rst:278 +msgid "" +"The functionis used to set the number displayed on the 4-digit 7-segment " +"display." +msgstr "この機能を使用して、4桁の7セグメントディスプレイに表示される番号を設定する。" + +#: ../1.1.5_4-Digit_7-segment_display.rst:280 +msgid "" +"``clearDisplay()``:write in 11111111 to turn off these eight LEDs on " +"7-segment display so as to clear the displayed content." +msgstr "``clearDisplay()``:11111111に書き込み、7セグメントディスプレイ上のこれら8つのLEDをオフにして、表示されたコンテンツを消去する。" + +#: ../1.1.5_4-Digit_7-segment_display.rst:281 +msgid "``pickDigit(0)``:pick the fourth 7-segment display." +msgstr "``pickDigit(0)``:4番目の7セグメントディスプレイを選択する。" + +#: ../1.1.5_4-Digit_7-segment_display.rst:282 +msgid "" +"``hc595_shift(number[counter%10])``:the number in the single digit of " +"counter will display on the forth segment." +msgstr "``hc595_shift(number [counter%10])``:カウンターの1桁の数字が4番目のセグメントに表示される。" + +#: ../1.1.5_4-Digit_7-segment_display.rst:288 +msgid "This is a system-provided function, the prototype of code is:" +msgstr "これはシステム組み込みの関数であり、コードのプロトタイプは次のとおりである:" + +#: ../1.1.5_4-Digit_7-segment_display.rst:294 +msgid "" +"After executing the signal(), once the process receives the corresponding" +" signum (in this case SIGALRM), it immediately pauses the existing task " +"and processes the set function (in this case timer(sig))." +msgstr "" +"signal()を実行した後、プロセスは対応する " +"signum(ここでSIGALRM)を受信すると、すぐに既存のタスクを一時停止し、設定関数(ここでtimer(sig))を処理する。" + +#: ../1.1.5_4-Digit_7-segment_display.rst:300 +msgid "This is also a system-provided function. The code prototype is:" +msgstr "これもシステム組み込み関数である。コードのプロトタイプは:" + +#: ../1.1.5_4-Digit_7-segment_display.rst:306 +msgid "It generates a SIGALRM signal after a certain number of seconds." +msgstr "指定した秒数後にSIGALRMシグナルを生成する。" + +#: ../1.1.5_4-Digit_7-segment_display.rst:320 +msgid "" +"We use the functions above to implement the timer function. After the " +"``alarm()`` generates the SIGALRM signal, the timer function is called. " +"Add 1 to counter, and the function, ``alarm(1)`` will be repeatedly " +"called after 1 second." +msgstr "" +"上記の関数を使用して、タイマー関数を実装する。 ``alarm()`` " +"がSIGALRMシグナルを生成した後、タイマー関数が呼び出される。カウンターに1を追加すると、1秒後に関数 ``alarm(1)`` " +"が繰り返し呼び出される。" + +#: ../1.1.5_4-Digit_7-segment_display.rst:325 +msgid "For Python Language Users" +msgstr "Python言語ユーザー向け" + +#: ../1.1.5_4-Digit_7-segment_display.rst:337 +msgid "Step 3: Run the executable file." +msgstr "ステップ3:EXEファイルを実行する。" + +#: ../1.1.5_4-Digit_7-segment_display.rst:347 +msgid "" +"After the code runs, the program takes a count, increasing by 1 per " +"second, and the 4 digit display displays the count." +msgstr "コードの実行後、プログラムは1秒ずつ増加するカウントをして、4桁のディスプレイにカウントが表示される。" + +#: ../1.1.5_4-Digit_7-segment_display.rst:353 + +msgid "" +"You can **Modify/Reset/Copy/Run/Stop** the code below. But before that, " +"you need to go to source code path like ``davinci-kit-for-raspberry-" +"pi/python``." +msgstr "" +"以下のコードを **変更/リセット/コピー/実行/停止** できます。 ただし、その前に、 ``davinci-kit-for-raspberry-pi/python`` のようなソースコードパスに移動する必要があります。" + +#: ../1.1.5_4-Digit_7-segment_display.rst:461 +msgid "A segment code array from 0 to 9 in hexadecimal (common anode)." +msgstr "16進数の0〜9のセグメントコード配列(アノードコモン)。" + +#: ../1.1.5_4-Digit_7-segment_display.rst:473 +msgid "" +"Write \"1\" for eight times in SDI., so that the eight LEDs on the " +"7-segment Dispaly will turn off so as to clear the displayed content." +msgstr "SDIに「1」を8回書き込むと、7セグメントディスプレイの8つのLEDが消灯し、表示されたコンテンツが消去される。" + +#: ../1.1.5_4-Digit_7-segment_display.rst:505 +msgid "" +"The function is used to set the number displayed on the 4-digit 7-segment" +" Dispaly." +msgstr "この機能は、4桁の7セグメントディスプレイに表示される番号を設定するために使用される。" + +#: ../1.1.5_4-Digit_7-segment_display.rst:507 +msgid "" +"First, start the fourth segment display, write the single-digit number. " +"Then start the third segment display, and type in the tens digit; after " +"that, start the second and the first segment display respectively, and " +"write the hundreds and thousands digits respectively. Because the " +"refreshing speed is very fast, we see a complete four-digit display." +msgstr "まず、4番目のセグメントディスプレイを開始し、1桁の数字を書き込む。次に、3番目のセグメントディスプレイを開始し、10桁の数字を入力する。その後、2番目と1番目のセグメントディスプレイをそれぞれ開始し、それぞれ数百桁と数千桁を書き込む。リフレッシュ速度が非常に速いため、完全な4桁のディスプレイが表示される。" + +#: ../1.1.5_4-Digit_7-segment_display.rst:514 +msgid "" +"The module, threading is the common threading module in Python,and Timer " +"is the subclass of it. The prototype of code is:" +msgstr "モジュール、スレッドはPythonの一般的なスレッドモジュールであり、タイマーはそのサブクラスである。コードのプロトタイプは次のとおりです:" + +#: ../1.1.5_4-Digit_7-segment_display.rst:521 +msgid "" +"After the interval, the function will be run. Here, the interval is " +"1.0,and the function is timer(). start () means the Timer will start at " +"this point." +msgstr "間隔の後、関数が実行される。ここでは、間隔は1.0、関数はtimer()である。start()は、タイマーがこの時点で開始することを意味する。" + +#: ../1.1.5_4-Digit_7-segment_display.rst:534 +msgid "" +"After Timer reaches 1.0s, the Timer function is called; add 1 to counter," +" and the Timer is used again to execute itself repeatedly every second." +msgstr "Timerが1.0秒に達すると、Timer関数が呼び出される。カウンターに1を追加すると、タイマーが再び使用されて、1秒ごとに繰り返し実行される。" + +#: ../1.1.5_4-Digit_7-segment_display.rst:538 +msgid "Phenomenon Picture" +msgstr "現象画像" + +#~ msgid "" +#~ "If it does not work after running," +#~ " please refer to :ref:`C code is " +#~ "not working?`." +#~ msgstr "" + diff --git a/docs/source/locale/ja/LC_MESSAGES/1.1.6_led_dot_matrix.po b/docs/source/locale/ja/LC_MESSAGES/1.1.6_led_dot_matrix.po new file mode 100644 index 0000000..a775700 --- /dev/null +++ b/docs/source/locale/ja/LC_MESSAGES/1.1.6_led_dot_matrix.po @@ -0,0 +1,486 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, SunFounder +# This file is distributed under the same license as the SunFounder Davinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Davinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-19 18:22+0800\n" +"PO-Revision-Date: 2021-08-06 11:36+0800\n" +"Last-Translator: \n" +"Language: ja\n" +"Language-Team: \n" +"Plural-Forms: nplurals=1; plural=0\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../1.1.6_led_dot_matrix.rst:2 +msgid "1.1.6 LED Dot Matrix" +msgstr "1.1.6 LEDドットマトリックス" + +#: ../1.1.6_led_dot_matrix.rst:5 +msgid "Introduction" +msgstr "前書き" + +#: ../1.1.6_led_dot_matrix.rst:7 +msgid "" +"As the name suggests, an LED dot matrix is a matrix composed of LEDs. The" +" lighting up and dimming of the LEDs formulate different characters and " +"patterns." +msgstr "名前が示すように、LEDドットマトリックスはLEDで構成されるマトリックスである。LEDの点灯と調光は、さまざまな文字とパターンを形成する。" + +#: ../1.1.6_led_dot_matrix.rst:12 +msgid "Components" +msgstr "部品" + +#: ../1.1.6_led_dot_matrix.rst:17 +msgid "Principle" +msgstr "原理" + +#: ../1.1.6_led_dot_matrix.rst:19 ../1.1.6_led_dot_matrix.rst:109 +#: ../1.1.6_led_dot_matrix.rst:123 +msgid "**LED Dot Matrix**" +msgstr "**LEDドットマトリックス**" + +#: ../1.1.6_led_dot_matrix.rst:21 +msgid "" +"Generally, LED dot matrix can be categorized into two types: common " +"cathode (CC) and common anode (CA). They look much alike, but internally " +"the difference lies. You can tell by test. A CA one is used in this kit. " +"You can see 788BS labeled at the side." +msgstr "" +"一般に、LEDドットマトリックスは、cathode (CC)とcommon anode " +"(CA)の2つのタイプに分類できる。見た目は似ているが、内部的には違いがある。テストを行うとすぐに分かる。このキットではCAが使用される。側面に788BSというラベルが付いている。" + +#: ../1.1.6_led_dot_matrix.rst:26 +msgid "" +"See the figure below. The pins are arranged at the two ends at the back. " +"Take the label side for reference: pins on this end are pin 1-8, and oh " +"the other are pin 9-16." +msgstr "下の図を参照してください。ピンは背面の両端に配置されている。ラベル側を参考にしてください。この端のピンはピン1〜8で、もう一方のピンはピン9〜16である。" + +#: ../1.1.6_led_dot_matrix.rst:30 +msgid "The external view:" +msgstr "外部ビュー:" + +#: ../1.1.6_led_dot_matrix.rst:35 +msgid "" +"Below the figures show their internal structure. You can see in a CA LED " +"dot matrix, ROW represents the anode of the LED, and COL is cathode; it's" +" contrary for a CC one. One thing in common: for both types, pin 13, 3, " +"4, 10, 6, 11, 15, and 16 are all COL, when pin 9, 14, 8, 12, 1, 7, 2, and" +" 5 are all ROW. If you want to turn on the first LED at the top left " +"corner, for a CA LED dot matrix, just set pin 9 as High and pin 13 as " +"Low, and for a CC one, set pin 13 as High and pin 9 as Low. If you want " +"to light up the whole first column, for CA, set pin 13 as Low and ROW 9, " +"14, 8, 12, 1, 7, 2, and 5 as High, when for CC, set pin 13 as High and " +"ROW 9, 14, 8, 12, 1, 7, 2, and 5 as Low. Consider the following figures " +"for better understanding." +msgstr "" +"図の下に内部構造を示している。CA " +"LEDドットマトリックスが見える。ROWはLEDのアノードを表し、COLはカソードを表す。CCの場合は逆である。共通点が1つある:両方のタイプで、ピン13、3、4、10、6、11、15、および16はすべてCOLである。ピン9、14、8、12、1、7、2、および5がすべてROWである。左上隅の最初のLEDをオンにする場合、CA" +" LEDドットマトリックスに対して、ピン9をHigh、ピン13をLowに設定し、CC " +"1に対して、ピン13をHighに、ピン9をLowに設定する。CAの最初の列全体を点灯させる場合は、ピン13をLowに、行9、14、8、12、1、7、2、および5をHighに設定するCCの場合、ピン13をHighに、行9、14、8、12、1、7、2、および5をLowに設定する。理解を深めるために、次の図を検討してください。" + +#: ../1.1.6_led_dot_matrix.rst:47 +msgid "The internal view:" +msgstr "内部ビュー:" + +#: ../1.1.6_led_dot_matrix.rst:53 +msgid "Pin numbering corresponding to the above rows and columns:" +msgstr "上記の行と列に対応するピン番号:" + +#: ../1.1.6_led_dot_matrix.rst:56 +msgid "**COL**" +msgstr "**COL**" + +#: ../1.1.6_led_dot_matrix.rst:56 ../1.1.6_led_dot_matrix.rst:58 +#: ../1.1.6_led_dot_matrix.rst:59 ../1.1.6_led_dot_matrix.rst:123 +msgid "**1**" +msgstr "**1**" + +#: ../1.1.6_led_dot_matrix.rst:56 ../1.1.6_led_dot_matrix.rst:58 +#: ../1.1.6_led_dot_matrix.rst:59 ../1.1.6_led_dot_matrix.rst:123 +msgid "**2**" +msgstr "**2**" + +#: ../1.1.6_led_dot_matrix.rst:56 ../1.1.6_led_dot_matrix.rst:57 +#: ../1.1.6_led_dot_matrix.rst:58 ../1.1.6_led_dot_matrix.rst:109 +msgid "**3**" +msgstr "**3**" + +#: ../1.1.6_led_dot_matrix.rst:56 ../1.1.6_led_dot_matrix.rst:57 +#: ../1.1.6_led_dot_matrix.rst:58 ../1.1.6_led_dot_matrix.rst:109 +msgid "**4**" +msgstr "**4**" + +#: ../1.1.6_led_dot_matrix.rst:56 ../1.1.6_led_dot_matrix.rst:58 +#: ../1.1.6_led_dot_matrix.rst:59 ../1.1.6_led_dot_matrix.rst:123 +msgid "**5**" +msgstr "**5**" + +#: ../1.1.6_led_dot_matrix.rst:56 ../1.1.6_led_dot_matrix.rst:57 +#: ../1.1.6_led_dot_matrix.rst:58 ../1.1.6_led_dot_matrix.rst:109 +msgid "**6**" +msgstr "**6**" + +#: ../1.1.6_led_dot_matrix.rst:56 ../1.1.6_led_dot_matrix.rst:58 +#: ../1.1.6_led_dot_matrix.rst:59 ../1.1.6_led_dot_matrix.rst:123 +msgid "**7**" +msgstr "**7**" + +#: ../1.1.6_led_dot_matrix.rst:56 ../1.1.6_led_dot_matrix.rst:58 +#: ../1.1.6_led_dot_matrix.rst:59 ../1.1.6_led_dot_matrix.rst:123 +msgid "**8**" +msgstr "**8**" + +#: ../1.1.6_led_dot_matrix.rst:57 ../1.1.6_led_dot_matrix.rst:59 +msgid "**Pin No.**" +msgstr "**ピン番号**" + +#: ../1.1.6_led_dot_matrix.rst:57 ../1.1.6_led_dot_matrix.rst:109 +msgid "**13**" +msgstr "**13**" + +#: ../1.1.6_led_dot_matrix.rst:57 ../1.1.6_led_dot_matrix.rst:109 +msgid "**10**" +msgstr "**10**" + +#: ../1.1.6_led_dot_matrix.rst:57 ../1.1.6_led_dot_matrix.rst:109 +msgid "**11**" +msgstr "**11**" + +#: ../1.1.6_led_dot_matrix.rst:57 ../1.1.6_led_dot_matrix.rst:109 +msgid "**15**" +msgstr "**15**" + +#: ../1.1.6_led_dot_matrix.rst:57 ../1.1.6_led_dot_matrix.rst:109 +msgid "**16**" +msgstr "**16**" + +#: ../1.1.6_led_dot_matrix.rst:58 +msgid "**ROW**" +msgstr "**行**" + +#: ../1.1.6_led_dot_matrix.rst:59 ../1.1.6_led_dot_matrix.rst:123 +msgid "**9**" +msgstr "**9**" + +#: ../1.1.6_led_dot_matrix.rst:59 ../1.1.6_led_dot_matrix.rst:123 +msgid "**14**" +msgstr "**14**" + +#: ../1.1.6_led_dot_matrix.rst:59 ../1.1.6_led_dot_matrix.rst:123 +msgid "**12**" +msgstr "**12**" + +#: ../1.1.6_led_dot_matrix.rst:62 +msgid "" +"In addition, two 74HC595 chips are used here. One is to control the rows " +"of the LED dot matrix while the other, the columns." +msgstr "さらに、2つの74HC595チップがここで使用されている。1つはLEDドットマトリックスの行を制御し、もう1つは列を制御する。" + +#: ../1.1.6_led_dot_matrix.rst:66 +msgid "Schematic Diagram" +msgstr "回路図" + +#: ../1.1.6_led_dot_matrix.rst:69 +msgid "T-Board Name" +msgstr "Tボード名" + +#: ../1.1.6_led_dot_matrix.rst:69 +msgid "physical" +msgstr "physical" + +#: ../1.1.6_led_dot_matrix.rst:69 +msgid "wiringPi" +msgstr "wiringPi" + +#: ../1.1.6_led_dot_matrix.rst:69 +msgid "BCM" +msgstr "BCM" + +#: ../1.1.6_led_dot_matrix.rst:70 +msgid "GPIO17" +msgstr "GPIO17" + +#: ../1.1.6_led_dot_matrix.rst:70 +msgid "Pin 11" +msgstr "Pin 11" + +#: ../1.1.6_led_dot_matrix.rst:70 +msgid "0" +msgstr "0" + +#: ../1.1.6_led_dot_matrix.rst:70 +msgid "17" +msgstr "17" + +#: ../1.1.6_led_dot_matrix.rst:71 +msgid "GPIO18" +msgstr "GPIO18" + +#: ../1.1.6_led_dot_matrix.rst:71 +msgid "Pin 12" +msgstr "Pin 12" + +#: ../1.1.6_led_dot_matrix.rst:71 +msgid "1" +msgstr "1" + +#: ../1.1.6_led_dot_matrix.rst:71 +msgid "18" +msgstr "18" + +#: ../1.1.6_led_dot_matrix.rst:72 +msgid "GPIO27" +msgstr "GPIO27" + +#: ../1.1.6_led_dot_matrix.rst:72 +msgid "Pin 13" +msgstr "Pin 13" + +#: ../1.1.6_led_dot_matrix.rst:72 +msgid "2" +msgstr "2" + +#: ../1.1.6_led_dot_matrix.rst:72 +msgid "27" +msgstr "27" + +#: ../1.1.6_led_dot_matrix.rst:79 +msgid "Experimental Procedures" +msgstr "実験手順" + +#: ../1.1.6_led_dot_matrix.rst:81 +msgid "" +"**Step 1:** Build the circuit. Since the wiring is complicated, let's " +"make it step by step. First, insert the T-Cobbler, the LED dot matrix and" +" two 74HC595 chips into breadboard. Connect the 3.3V and GND of the " +"T-Cobbler to holes on the two sides of the board, then hook up pin16 and " +"10 of the two 74HC595 chips to VCC, pin 13 and pin 8 to GND." +msgstr "" +"**ステップ1:** " +"回路を作る。配線が複雑なので、段階的に作りましょう。まず、T-Cobbler、LEDドットマトリックス、および2つの74HC595チップをブレッドボードに挿入する。T-Cobblerの3.3Vと接地をボードの両側の穴に接続し、2つの74HC595チップのピン16と10をVCCに、ピン13とピン8を接地に接続する。" + +#: ../1.1.6_led_dot_matrix.rst:88 +msgid "In the Fritzing image above, the side with label is at the bottom." +msgstr "上のFritzing画像では、ラベルのある側が下にある。" + +#: ../1.1.6_led_dot_matrix.rst:93 +msgid "" +"**Step 2:** Connect pin 11 of the two 74HC595 together, and then to " +"GPIO27; then pin 12 of the two chips, and to GPIO18; next, pin 14 of the " +"74HC595 on the left side to GPIO17 and pin 9 to pin 14 of the second " +"74HC595." +msgstr "" +"**ステップ2:** " +"2つの74HC595のピン11を一緒に接続し、GPIO27に接続する。次に、2つのチップのピン12を一緒に接続し、GPIO18に接続する。それから左側の74HC595のピン14をGPIO17に、ピン9を2番目の74HC595のピン14に接続する。" + +#: ../1.1.6_led_dot_matrix.rst:101 +msgid "" +"**Step 3:** The 74HC595 on the right side is to control columns of the " +"LED dot matrix. See the table below for the mapping. Therefore, Q0-Q7 " +"pins of the 74HC595 are mapped with pin 13, 3, 4, 10, 6, 11, 15, and 16 " +"respectively." +msgstr "" +"**ステップ3:** " +"右側の74HC595は、LEDドットマトリックスの列を制御する。マッピングについては、以下の表を参照してください。したがって、74HC595のQ0〜Q7ピンは、それぞれピン13、3、4、10、6、11、15、および16にマップされる。" + +#: ../1.1.6_led_dot_matrix.rst:107 ../1.1.6_led_dot_matrix.rst:121 +msgid "**74HC595**" +msgstr "**74HC595**" + +#: ../1.1.6_led_dot_matrix.rst:107 ../1.1.6_led_dot_matrix.rst:121 +msgid "**Q0**" +msgstr "**Q0**" + +#: ../1.1.6_led_dot_matrix.rst:107 ../1.1.6_led_dot_matrix.rst:121 +msgid "**Q1**" +msgstr "**Q1**" + +#: ../1.1.6_led_dot_matrix.rst:107 ../1.1.6_led_dot_matrix.rst:121 +msgid "**Q2**" +msgstr "**Q2**" + +#: ../1.1.6_led_dot_matrix.rst:107 ../1.1.6_led_dot_matrix.rst:121 +msgid "**Q3**" +msgstr "**Q3**" + +#: ../1.1.6_led_dot_matrix.rst:107 ../1.1.6_led_dot_matrix.rst:121 +msgid "**Q4**" +msgstr "**Q4**" + +#: ../1.1.6_led_dot_matrix.rst:107 ../1.1.6_led_dot_matrix.rst:121 +msgid "**Q5**" +msgstr "**Q5**" + +#: ../1.1.6_led_dot_matrix.rst:107 ../1.1.6_led_dot_matrix.rst:121 +msgid "**Q6**" +msgstr "**Q6**" + +#: ../1.1.6_led_dot_matrix.rst:107 ../1.1.6_led_dot_matrix.rst:121 +msgid "**Q7**" +msgstr "**Q7**" + +#: ../1.1.6_led_dot_matrix.rst:115 +msgid "" +"**Step 4:** Now connect the ROWs of the LED dot matrix. The 74HC595 on " +"the left controls ROW of the LED dot matrix. See the table below for the " +"mapping. We can see, Q0-Q7 of the 74HC595 on the left are mapped with pin" +" 9, 14, 8, 12, 1, 7, 2, and 5 respectively." +msgstr "" +"**ステップ4:** " +"次に、LEDドットマトリックスの行を接続する。左側の74HC595はLEDドットマトリックスの行を制御する。マッピングについては、以下の表を参照してください。左側の74HC595のQ0〜Q7は、それぞれピン9、14、8、12、1、7、2、および5にマッピングされていることは分かった。" + +#: ../1.1.6_led_dot_matrix.rst:130 +msgid "For C Language Users" +msgstr "C言語ユーザー向け" + +#: ../1.1.6_led_dot_matrix.rst:132 +msgid "**Step 5:** Go to the folder of code." +msgstr "**ステップ5:** コードのフォルダーに移動する。" + +#: ../1.1.6_led_dot_matrix.rst:142 +msgid "**Step 6:** Compile." +msgstr "**ステップ6:** コンパイルする。" + +#: ../1.1.6_led_dot_matrix.rst:152 +msgid "**Step 7:** Run." +msgstr "**ステップ7:** 実行する。" + +#: ../1.1.6_led_dot_matrix.rst:162 ../1.1.6_led_dot_matrix.rst:308 +msgid "" +"After the code runs, the LED dot matrix lights up and out row by row and " +"column by column." +msgstr "コードの実行後、LEDドットマトリックスが行ごとに、列ごとに点灯したり消灯したりする。" + +#: ../1.1.6_led_dot_matrix.rst:166 +msgid "" +"If it does not work after running, please refer to :ref:`C code is not " +"working?`" +msgstr "実行後に機能しない場合は、:ref:`C code is not working?` を参照してください。" + +#: ../1.1.6_led_dot_matrix.rst:168 ../1.1.6_led_dot_matrix.rst:310 +msgid "**Code**" +msgstr "**コード**" + +#: ../1.1.6_led_dot_matrix.rst:234 ../1.1.6_led_dot_matrix.rst:378 +msgid "**Code Explanation**" +msgstr "**コードの説明**" + +#: ../1.1.6_led_dot_matrix.rst:241 +msgid "" +"The array code_H represents the elements of the LED dot matrix row, and " +"the array code_L refers to the elements of the column. When characters " +"are displayed, an element in row and one in column are acquired and " +"assigned to the two HC595 chips respectively. Thus a pattern is shown on " +"the LED dot matrix. Take the first number of code_H, 0x01 and the first " +"number of code_L, 0x00 as examples." +msgstr "配列code_HはLEDドットマトリックス行の要素を表し、配列code_Lは列の要素を表す。文字が表示されると、行の要素と列の要素が取得され、それぞれ2つのHC595チップに割り当てられる。したがって、パターンはLEDドットマトリックスに表示される。例として、code_Hの最初の数字0x01とcode_Lの最初の数字0x00を取り上げる。" + +#: ../1.1.6_led_dot_matrix.rst:244 ../1.1.6_led_dot_matrix.rst:388 +msgid "" +"0x01 converted to binary becomes 00000001; 0x00 converted to binary " +"becomes 0000 0000." +msgstr "二進法に変換された0x01は00000001になり、二進法に変換された0x00は0000 0000になる。" + +#: ../1.1.6_led_dot_matrix.rst:246 +msgid "" +"In this kit, common anode LED dot matrix display is applied, so only the " +"eight LEDs in the eighth row light up. When the conditions that code H is" +" 0xff and code_L is 0x7f are met simultaneously, these 8 LEDs in the " +"first column are lit." +msgstr "このキットでは、アノードコモンLEDドットマトリックスディスプレイが適用されるため、8列目の8つのLEDのみが点灯する。コードHが0xffで、code_Lが0x7fであるという条件が同時に満たされると、最初の列のこれら8つのLEDが点灯する。" + +#: ../1.1.6_led_dot_matrix.rst:261 +msgid "" +"Write the value of dat to pin SDI of the HC595 bit by bit. SRCLK's " +"initial value was set to 0, and here it's set to 1, which is to generate " +"a rising edge pulse, then shift the pinSDI(DS) date to shift register." +msgstr "" +"HC " +"595ビットのピンSDIにビット単位でDATの値を書き込みます。SRCLKの初期値は0に設定され、ここで1がセットされ、立ち上がりエッジパルスを生成し、次にPHSDI(DS)の日付をシフトレジスタにシフトさせる。" + +#: ../1.1.6_led_dot_matrix.rst:270 +msgid "" +"RCLK's initial value was set to 0, and here it's set to 1, which is to " +"generate a rising edge, then shift data from shift register to storage " +"register." +msgstr "RCLKの初期値は元々に0に設定されていたが、ここでは1に設定されている。これは、立ち上がりエッジパルスを生成し、データーをシフトレジスタからストレージレジスターにシフトする。" + +#: ../1.1.6_led_dot_matrix.rst:283 +msgid "" +"In this loop, these 20  elements in the two arrays, code_L and code_H " +"will be uploaded to the two 74HC595 chip one by one. Then call the " +"function, hc595_out() to shift data from shift register to storage " +"register." +msgstr "このループでは、2つの配列code_Lおよびcode_Hのこれらの20個の要素が2つの74HC595チップに1つずつアップロードされる。次に、関数hc595_out()を呼び出して、データをシフトレジスタからストレージレジスタにシフトする。" + +#: ../1.1.6_led_dot_matrix.rst:286 +msgid "For Python Language Users" +msgstr "Python言語ユーザー向け" + +#: ../1.1.6_led_dot_matrix.rst:288 +msgid "**Step 5:** Get into the folder of code." +msgstr "**ステップ5:** コードのフォルダーに入る。" + +#: ../1.1.6_led_dot_matrix.rst:298 +msgid "**Step 6:** Run." +msgstr "**ステップ6:** 実行する。" + +#: ../1.1.6_led_dot_matrix.rst:314 + +msgid "" +"You can **Modify/Reset/Copy/Run/Stop** the code below. But before that, " +"you need to go to source code path like ``davinci-kit-for-raspberry-" +"pi/python``." +msgstr "" +"以下のコードを **変更/リセット/コピー/実行/停止** できます。 ただし、その前に、 ``davinci-kit-for-raspberry-pi/python`` のようなソースコードパスに移動する必要があります。" + +#: ../1.1.6_led_dot_matrix.rst:385 +msgid "" +"The array code_H represents the elements of the matix row, and the array " +"code_L refers to the elements of the column. When characters are " +"displayed, an element in row and one in column are acquired and assigned " +"to the two HC595 chips respectively. Thus a pattern is shown on the LED " +"dot matrix. Take the first number of code_H, 0x01 and the first number " +"of code_L, 0x00 as examples." +msgstr "配列code_Hはmatix行の要素を表し、配列code_Lは列の要素を表す。文字が表示されると、行の要素と列の要素が取得され、それぞれ2つのHC595チップに割り当てられる。したがって、パターンはLEDドットマトリックスに表示される。例として、code_Hの最初の数字0x01とcode_Lの最初の数字0x00を取り上げる。" + +#: ../1.1.6_led_dot_matrix.rst:390 +msgid "" +"In this kit, common anode LED dot matrix is applied, so only the eight " +"LEDs in the eighth row light up. When the conditions that code H is 0xff " +"and code_L is 0x7f are met simultaneously, these 8 LEDs in the first " +"column are lit." +msgstr "このキットでは、アノードコモンLEDドットマトリックスが適用されるため、8行目の8つのLEDのみが点灯する。コードHが0xffで、code_Lが0x7fであるという条件が同時に満たされると、最初の列のこれら8つのLEDが点灯する。" + +#: ../1.1.6_led_dot_matrix.rst:401 +msgid "" +"In this loop, these 20 elements in the two arrays, code_L and code_H will" +" be uploaded to the HC595 chip one by one." +msgstr "このループでは、2つの配列code_Lおよびcode_Hのこれらの20個の要素が2つのHC595チップに1つずつアップロードされる。" + +#: ../1.1.6_led_dot_matrix.rst:404 + +msgid "" +"If you want to display characters on the LED dot matrix, please refer to " +"a python code: https://github.com/sunfounder/SunFounder_Dot_Matrix." +msgstr "LEDドットマトリックスに文字を表示する場合は、Pythonコードを参照してください:https://github.com/sunfounder/SunFounder_Dot_Matrix." + +#: ../1.1.6_led_dot_matrix.rst:407 +msgid "Phenomenon Picture" +msgstr "現象画像" + +#~ msgid "" +#~ "If it does not work after running," +#~ " please refer to :ref:`C code is " +#~ "not working?`." +#~ msgstr "" + diff --git a/docs/source/locale/ja/LC_MESSAGES/1.1.7_i2c_lcd1602.po b/docs/source/locale/ja/LC_MESSAGES/1.1.7_i2c_lcd1602.po new file mode 100644 index 0000000..098d69b --- /dev/null +++ b/docs/source/locale/ja/LC_MESSAGES/1.1.7_i2c_lcd1602.po @@ -0,0 +1,236 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, SunFounder +# This file is distributed under the same license as the SunFounder Davinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Davinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-19 18:22+0800\n" +"PO-Revision-Date: 2021-05-27 17:55+0800\n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../1.1.7_i2c_lcd1602.rst:2 +msgid "1.1.7 I2C LCD1602" +msgstr "1.1.7 I2C LCD1602" + +#: ../1.1.7_i2c_lcd1602.rst:5 +msgid "Introduction" +msgstr "前書き" + +#: ../1.1.7_i2c_lcd1602.rst:7 +msgid "" +"LCD1602 is a character type liquid crystal display, which can display 32 " +"(16*2) characters at the same time." +msgstr "LCD1602は文字型液晶ディスプレイで、32(16 * 2)文字を同時に表示できる。" + +#: ../1.1.7_i2c_lcd1602.rst:11 +msgid "Components" +msgstr "部品" + +#: ../1.1.7_i2c_lcd1602.rst:16 +msgid "Principle" +msgstr "原理" + +#: ../1.1.7_i2c_lcd1602.rst:18 +msgid "**I2C LCD1602**" +msgstr "**I2C LCD1602**" + +#: ../1.1.7_i2c_lcd1602.rst:20 +msgid "" +"As we all know, though LCD and some other displays greatly enrich the " +"man-machine interaction, they share a common weakness. When they are " +"connected to a controller, multiple IOs will be occupied of the " +"controller which has no so many outer ports. Also it restricts other " +"functions of the controller. Therefore, LCD1602 with an I2C bus is " +"developed to solve the problem." +msgstr "ご存知のように、LCDやその他のディスプレイはマンマシンの相互作用を大幅に強化するが、共通の弱点を共有している。それらがコントローラーに接続されると、外部ポートがあまりないコントローラーの複数のIOが占用される。また、コントローラーの他の機能も制限される。したがって、この問題を解決するために、I2Cバスを備えたLCD1602が開発された。" + +#: ../1.1.7_i2c_lcd1602.rst:29 +msgid "**I2C communication**" +msgstr "**I2C通信**" + +#: ../1.1.7_i2c_lcd1602.rst:31 +msgid "" +"I2C(Inter-Integrated Circuit) bus is a very popular and powerful bus for " +"communication between a master device (or master devices) and a single or" +" multiple slave devices." +msgstr "I2C(アイ・スクエアド・シー)バスは、一つマスターデバイス(または複数のマスターデバイス)と単一または複数のスレーブデバイス間の通信用の非常に強力なバスである。" + +#: ../1.1.7_i2c_lcd1602.rst:35 +msgid "" +"I2C main controller can be used to control IO expander, various sensors, " +"EEPROM, ADC/DAC and so on. All of these are controlled only by the two " +"pins of host, the serial data (SDA1) line and the serial clock " +"line(SCL1)." +msgstr "I2Cメインコントローラーを使用して、IOエクスパンダー、各種センサー、EEPROM、ADC/DACなどを制御できる。これらはすべて、ホストの2つのピン、シリアルデータ(SDA1)ラインとシリアルクロックライン(SCL1)によってのみ制御される。" + +#: ../1.1.7_i2c_lcd1602.rst:41 +msgid "Schematic Diagram" +msgstr "回路図" + +#: ../1.1.7_i2c_lcd1602.rst:44 +msgid "T-Board Name" +msgstr "Tボード名" + +#: ../1.1.7_i2c_lcd1602.rst:44 +msgid "physical" +msgstr "physical" + +#: ../1.1.7_i2c_lcd1602.rst:45 +msgid "SDA1" +msgstr "SDA1" + +#: ../1.1.7_i2c_lcd1602.rst:45 +msgid "Pin 3" +msgstr "Pin 3" + +#: ../1.1.7_i2c_lcd1602.rst:46 +msgid "SCL1" +msgstr "SCL1" + +#: ../1.1.7_i2c_lcd1602.rst:46 +msgid "Pin 5" +msgstr "Pin 5" + +#: ../1.1.7_i2c_lcd1602.rst:53 +msgid "Experimental Procedures" +msgstr "実験手順" + +#: ../1.1.7_i2c_lcd1602.rst:55 +msgid "**Step 1:** Build the circuit." +msgstr "**ステップ1:** 回路を作る。" + +#: ../1.1.7_i2c_lcd1602.rst:62 +msgid "" +"**Step 2**: Setup I2C (see :ref:`I2C Configuration`. If you have set I2C," +" skip this step.)" +msgstr "" +"**ステップ2:** I2Cをセットアップします(:ref:`I2C " +"Configuration`。I2Cを設定している場合は、このステップをスキップしてください。)" + +#: ../1.1.7_i2c_lcd1602.rst:65 +msgid "For C Language Users" +msgstr "C言語ユーザー向け" + +#: ../1.1.7_i2c_lcd1602.rst:67 ../1.1.7_i2c_lcd1602.rst:241 +msgid "**Step 3:** Change directory." +msgstr "**ステップ3:** ディレクトリを変更する。" + +#: ../1.1.7_i2c_lcd1602.rst:77 +msgid "**Step 4:** Compile." +msgstr "**ステップ4:** コンパイルする。" + +#: ../1.1.7_i2c_lcd1602.rst:87 +msgid "**Step 5:** Run." +msgstr "**ステップ5:** 実行する。" + +#: ../1.1.7_i2c_lcd1602.rst:97 ../1.1.7_i2c_lcd1602.rst:261 + +msgid "" +"After the code runs, you can see \\\"Greetings\\\",\\\"From " +"SunFounder\\\" displaying on the LCD." +msgstr "コードの実行後、LCDに「Greetings」、「SunFounderから」が表示される。" + +#: ../1.1.7_i2c_lcd1602.rst:101 +msgid "" +"If it does not work after running, please refer to :ref:`C code is not " +"working?`" +msgstr "実行後に機能しない場合は、:ref:`C code is not working?` を参照してください。" + +#: ../1.1.7_i2c_lcd1602.rst:103 ../1.1.7_i2c_lcd1602.rst:263 +msgid "**Code**" +msgstr "**コード**" + +#: ../1.1.7_i2c_lcd1602.rst:206 ../1.1.7_i2c_lcd1602.rst:294 +msgid "**Code Explanation**" +msgstr "**コードの説明** " + +#: ../1.1.7_i2c_lcd1602.rst:217 +msgid "" +"These functions are used to control I2C LCD1602 open source code. They " +"allow us to easily use I2C LCD1602. Among these functions, init() is used" +" for initialization, clear() is used to clear the screen, write() is used" +" to write what is displayed, and other functions support the above " +"functions." +msgstr "" +"これらの関数は、I2C LCD1602オープンソースコードを制御するために使用される。これにより、I2C " +"LCD1602を簡単に使用できる。これらの関数の中で、init()は初期化に使用され、clear()は画面の消去に使用され、write()は表示内容の書き込みに使用され、他の関数は上記の関数をサポートする。" + +#: ../1.1.7_i2c_lcd1602.rst:224 +msgid "" +"This function initializes the I2C system with the specified device " +"symbol. The prototype of the function:" +msgstr "この関数は指定されたデバイスシンボルでI2Cシステムを初期化する。関数のプロトタイプ:" + +#: ../1.1.7_i2c_lcd1602.rst:230 +msgid "" +"Parameters devId is the address of the I2C device, it can be found " +"through the i2cdetect command(see Appendix) and the devId of I2C LCD1602 " +"is generally 0x27." +msgstr "" +"パラメーターdevIdはI2Cデバイスのアドレスであり、i2cdetectコマンド(付録を参照)で見つけることができ、I2C " +"LCD1602のdevIdは通常0x27である。" + +#: ../1.1.7_i2c_lcd1602.rst:236 +msgid "" +"In this function, data[] is the character to be printed on the LCD, and " +"the parameters x and y determine the printing position (line y+1, column " +"x+1 is the starting position of the character to be printed)." +msgstr "" +"この関数では、data []はLCDにプリントされる文字であり、パラメーターxとyはプリントの位置を決定する(行y + 1、列x + " +"1はプリントされる文字の開始位置である)。" + +#: ../1.1.7_i2c_lcd1602.rst:239 +msgid "For Python Language Users" +msgstr "Python言語ユーザー向け" + +#: ../1.1.7_i2c_lcd1602.rst:251 +msgid "**Step 4:** Run." +msgstr "**ステップ4:** 実行。" + +#: ../1.1.7_i2c_lcd1602.rst:267 + +msgid "" +"You can **Modify/Reset/Copy/Run/Stop** the code below. But before that, " +"you need to go to source code path like ``davinci-kit-for-raspberry-" +"pi/python``." +msgstr "" +"以下のコードを **変更/リセット/コピー/実行/停止** できます。 ただし、その前に、 ``davinci-kit-for-raspberry-pi/python`` のようなソースコードパスに移動する必要があります。" + +#: ../1.1.7_i2c_lcd1602.rst:300 +msgid "" +"This file is an open source file for controlling I2C LCD1602. It allows " +"us to easily use I2C LCD1602." +msgstr "このファイルはI2C LCD1602を制御するためのオープンソースファイルである。I2C LCD1602を簡単に使用できる。" + +#: ../1.1.7_i2c_lcd1602.rst:306 +msgid "" +"The function initializes the I2C system with the designated device " +"symbol. The first parameter is the address of the I2C device, which can " +"be detected through the i2cdetect command (see Appendix for details). The" +" address of I2C LCD1602 is generally 0x27." +msgstr "" +"この関数は指定されたデバイスシンボルでI2Cシステムを初期化する。最初のパラメーターはI2Cデバイスのアドレスで、i2cdetectコマンドで検出できる(詳細については付録を参照してください)。I2C" +" LCD1602のアドレスは通常0x27である。" + +#: ../1.1.7_i2c_lcd1602.rst:312 + +msgid "" +"Within this function, \\'Greetings!!\\' is the character to be printed on" +" the Row 0+1, column 0+1 on LCD. Now you can see \\\"Greetings! From " +"SunFounder\\\" displayed on the LCD." +msgstr "" +"この関数内で、\'Greetings!!\' は、LCDの行0 + 1、列0 +1に印刷される文字です。これで、LCDに \"Greetings!From SunFounder\" が表示されます。" + +#: ../1.1.7_i2c_lcd1602.rst:316 +msgid "Phenomenon Picture" +msgstr "現象画像" + diff --git a/docs/source/locale/ja/LC_MESSAGES/1.2.1_active_buzzer.po b/docs/source/locale/ja/LC_MESSAGES/1.2.1_active_buzzer.po new file mode 100644 index 0000000..1a6702a --- /dev/null +++ b/docs/source/locale/ja/LC_MESSAGES/1.2.1_active_buzzer.po @@ -0,0 +1,210 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, SunFounder +# This file is distributed under the same license as the SunFounder Davinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Davinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-19 18:22+0800\n" +"PO-Revision-Date: 2021-05-27 18:03+0800\n" +"Last-Translator: \n" +"Language: ja\n" +"Language-Team: \n" +"Plural-Forms: nplurals=1; plural=0\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../1.2.1_active_buzzer.rst:2 +msgid "1.2.1 Active Buzzer" +msgstr "1.2.1 アクティブブザー" + +#: ../1.2.1_active_buzzer.rst:5 +msgid "Introduction" +msgstr "前書き" + +#: ../1.2.1_active_buzzer.rst:7 +msgid "" +"In this lesson, we will learn how to drive an active buzzer to beep with " +"a PNP transistor." +msgstr "このレッスンでは、PNPトランジスタでアクティブブザーを鳴らす方法を学習する。" + +#: ../1.2.1_active_buzzer.rst:11 +msgid "Components" +msgstr "部品" + +#: ../1.2.1_active_buzzer.rst:17 +msgid "Principle" +msgstr "原理" + +#: ../1.2.1_active_buzzer.rst:19 +msgid "**Buzzer**" +msgstr "**ブザー**" + +#: ../1.2.1_active_buzzer.rst:21 +msgid "" +"As a type of electronic buzzer with an integrated structure, buzzers, " +"which are supplied by DC power, are widely used in computers, printers, " +"photocopiers, alarms, electronic toys, automotive electronic devices, " +"telephones, timers and other electronic products or voice devices. " +"Buzzers can be categorized as active and passive ones (see the following " +"picture). Turn the buzzer so that its pins are facing up, and the buzzer " +"with a green circuit board is a passive buzzer, while the one enclosed " +"with a black tape is an active one." +msgstr "統合された構造を持つ電子ブザーの一種として、DC電源によって電圧供給されるブザーは、コンピューター、プリンター、コピー機、警報器、電子玩具、自動車用電子装置、電話、タイマー、その他の電子製品または音声装置で広く使用されている。ブザーは、アクティブとパッシブに分類できる(次の図を参照)。ピンが上を向くようにブザーを回し、緑色の回路基板を備えたブザーはパッシブブザーで、黒いテープで囲まれたブザーはアクティブである。" + +#: ../1.2.1_active_buzzer.rst:30 +msgid "The difference between an active buzzer and a passive buzzer:" +msgstr "アクティブブザーとパッシブブザーの違い:" + +#: ../1.2.1_active_buzzer.rst:37 +msgid "" +"The difference between an active buzzer and a passive buzzer is: An " +"active buzzer has a built-in oscillating source, so it will make sounds " +"when electrified. But a passive buzzer does not have such source, so it " +"will not beep if DC signals are used; instead, you need to use square " +"waves whose frequency is between 2K and 5K to drive it. The active buzzer" +" is often more expensive than the passive one because of multiple built-" +"in oscillating circuits." +msgstr "アクティブブザーとパッシブブザーの違いは次の通りである:アクティブブザーには振動源が内蔵されているため、通電すると音が鳴る。ただし、パッシブブザーにはそのような振動源がないため、DC信号が使用されてもビープ音は鳴らない。代わりに、周波数が2K〜5Kの方形波を使用して駆動する必要がある。アクティブブザーは、多くの場合、複数の発振回路が内蔵されているため、パッシブブザーよりも高価である。" + +#: ../1.2.1_active_buzzer.rst:45 +msgid "" +"The following is the electrical symbol of a buzzer. It has two pins with " +"positive and negative poles. With a + in the surface represents the anode" +" and the other is the cathode." +msgstr "以下はブザーの電気記号である。両極の2つのピンが搭載されている。表面の+は陽極を表し、もう1つは陰極を表す。" + +#: ../1.2.1_active_buzzer.rst:54 +msgid "" +"You can check the pins of the buzzer, the longer one is the anode and the" +" shorter one is the cathode. Please don’t mix them up when connecting, " +"otherwise the buzzer will not make sound." +msgstr "ブザーのピンをチェックすることができ、長い方が陽極で、短い方が陰極である。接続時にそれらを混同しないでください。混同すると、ブザーが鳴らない。" + +#: ../1.2.1_active_buzzer.rst:59 +msgid "Schematic Diagram" +msgstr "回路図" + +#: ../1.2.1_active_buzzer.rst:61 +msgid "" +"In this experiment, an active buzzer, a PNP transistor and a 1k resistor " +"are used between the base of the transistor and GPIO to protect the " +"transistor. When the GPIO17 of Raspberry Pi output is supplied with low " +"level (0V) by programming, the transistor will conduct because of current" +" saturation and the buzzer will make sounds. But when high level is " +"supplied to the IO of Raspberry Pi, the transistor will be cut off and " +"the buzzer will not make sounds." +msgstr "" +"この実験では、アクティブブザー、PNPトランジスタ、および1k抵抗器をトランジスタのベースとGPIOの間に使用して、トランジスタを保護する。Raspberry" +" " +"Pi出力のGPIO17にプログラミングによって低レベル(0V)が供給されると、電流飽和のためトランジスタが導通し、ブザーが音を出す。しかし、Raspberry" +" PiのIOに高レベルが供給されると、トランジスターが切断され、ブザーは音を出さない。" + +#: ../1.2.1_active_buzzer.rst:73 +msgid "Experimental Procedures" +msgstr "実験手順" + +#: ../1.2.1_active_buzzer.rst:75 +msgid "" +"**Step 1:** Build the circuit. (Pay attention to poles of the buzzer: The" +" one with + label is the positive pole and the other is the negative.)" +msgstr "**ステップ1:** 回路を作る。(ブザーの両極に注意してください:+ラベルが付いている方が正極で、もう一方が負極である。)" + +#: ../1.2.1_active_buzzer.rst:85 +msgid "For C Language Users" +msgstr "C言語ユーザー向け" + +#: ../1.2.1_active_buzzer.rst:87 ../1.2.1_active_buzzer.rst:172 +msgid "**Step 2**: Open the code file." +msgstr "**ステップ2:** コードファイルを開く。" + +#: ../1.2.1_active_buzzer.rst:97 +msgid "**Step 3**: Compile the code." +msgstr "**ステップ3:** コードをコンパイルする。" + +#: ../1.2.1_active_buzzer.rst:107 +msgid "**Step 4**: Run the executable file above." +msgstr "**ステップ4:** EXEファイルを実行する。" + +#: ../1.2.1_active_buzzer.rst:117 ../1.2.1_active_buzzer.rst:192 +msgid "The code run, the buzzer beeps." +msgstr "コードが実行されると、ブザーが鳴く。" + +#: ../1.2.1_active_buzzer.rst:121 +msgid "" +"If it does not work after running, please refer to :ref:`C code is not " +"working?`" +msgstr "実行後に機能しない場合は、:ref:`C code is not working?` を参照してください。" + +#: ../1.2.1_active_buzzer.rst:123 ../1.2.1_active_buzzer.rst:194 +msgid "**Code**" +msgstr "**コード**" + +#: ../1.2.1_active_buzzer.rst:151 ../1.2.1_active_buzzer.rst:246 +msgid "**Code Explanation**" +msgstr "**コードの説明**" + +#: ../1.2.1_active_buzzer.rst:157 +msgid "" +"We use an active buzzer in this experiment, so it will make sound " +"automatically when connecting to the direct current. This sketch is to " +"set the I/O port as low level (0V), thus to manage the transistor and " +"make the buzzer beep." +msgstr "この実験ではアクティブブザーを使用しているため、直流に接続すると自動的に音が鳴く。このスケッチは、I/Oポートを低レベル(0V)に設定して、トランジスタを管理し、ブザーを鳴らすためのものである。" + +#: ../1.2.1_active_buzzer.rst:166 +msgid "" +"To set the I/O port as high level(3.3V), thus the transistor is not " +"energized and the buzzer doesn’t beep." +msgstr "I/Oポートを高レベル(3.3V)に設定するため、トランジスターは通電されず、ブザーは鳴らない。" + +#: ../1.2.1_active_buzzer.rst:170 +msgid "For Python Language Users" +msgstr "Python言語ユーザー向け" + +#: ../1.2.1_active_buzzer.rst:182 +msgid "**Step 3**: Run." +msgstr "**ステップ3:** 実行する。" + +#: ../1.2.1_active_buzzer.rst:198 + +msgid "" +"You can **Modify/Reset/Copy/Run/Stop** the code below. But before that, " +"you need to go to source code path like ``davinci-kit-for-raspberry-" +"pi/python``." +msgstr "" +"以下のコードを **変更/リセット/コピー/実行/停止** できます。 ただし、その前に、 ``davinci-kit-for-raspberry-pi/python`` のようなソースコードパスに移動する必要があります。" + +#: ../1.2.1_active_buzzer.rst:252 +msgid "Set the buzzer pin as low level to make the buzzer beep." +msgstr "ビープ音を鳴らすには、ブザーピンを低レベルに設定してください。" + +#: ../1.2.1_active_buzzer.rst:258 +msgid "" +"Wait for 0.1 second. Change the switching frequency by changing this " +"parameter." +msgstr "0.1秒待つ。このパラメーターを変更して、スイッチング周波数を変更する。" + +#: ../1.2.1_active_buzzer.rst:262 +msgid "Not the sound frequency. Active Buzzer cannot change sound frequency." +msgstr "これは音の周波数ではない。アクティブブザーは音の周波数を変更できない。" + +#: ../1.2.1_active_buzzer.rst:268 +msgid "Close the buzzer." +msgstr "ブザーを閉じる。" + +#: ../1.2.1_active_buzzer.rst:271 +msgid "Phenomenon Picture" +msgstr "現象画像" + +#~ msgid "" +#~ "If it does not work after running," +#~ " please refer to :ref:`C code is " +#~ "not working?`." +#~ msgstr "" + diff --git a/docs/source/locale/ja/LC_MESSAGES/1.2.2_passive_buzzer.po b/docs/source/locale/ja/LC_MESSAGES/1.2.2_passive_buzzer.po new file mode 100644 index 0000000..8b6dfc6 --- /dev/null +++ b/docs/source/locale/ja/LC_MESSAGES/1.2.2_passive_buzzer.po @@ -0,0 +1,212 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, SunFounder +# This file is distributed under the same license as the SunFounder Davinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Davinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-19 18:22+0800\n" +"PO-Revision-Date: 2021-05-27 18:14+0800\n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../1.2.2_passive_buzzer.rst:2 +msgid "1.2.2 Passive Buzzer" +msgstr "1.2.2 パッシブブザー" + +#: ../1.2.2_passive_buzzer.rst:5 +msgid "Introduction" +msgstr "前書き" + +#: ../1.2.2_passive_buzzer.rst:7 +msgid "In this lesson, we will learn how to make a passive buzzer play music." +msgstr "このレッスンでは、パッシブブザーで音楽を再生する方法を学習する。" + +#: ../1.2.2_passive_buzzer.rst:10 +msgid "Components" +msgstr "部品" + +#: ../1.2.2_passive_buzzer.rst:16 +msgid "Schematic Diagram" +msgstr "回路図" + +#: ../1.2.2_passive_buzzer.rst:18 +msgid "" +"In this experiment, a passive buzzer, a PNP transistor and a 1k resistor " +"are used between the base of the transistor and GPIO to protect the " +"transistor." +msgstr "この実験では、トランジスタを保護するために、トランジスタのベースとGPIOの間にパッシブブザー、PNPトランジスタ、および1k抵抗器を使用する。" + +#: ../1.2.2_passive_buzzer.rst:22 +msgid "" +"When GPIO17 is given different frequencies, the passive buzzer will emit " +"different sounds; in this way, the buzzer plays music." +msgstr "GPIO17に異なる周波数が与えられると、パッシブブザーは異なる音を出す。このようにして、ブザーは音楽を再生する。" + +#: ../1.2.2_passive_buzzer.rst:29 +msgid "Experimental Procedures" +msgstr "実験手順" + +#: ../1.2.2_passive_buzzer.rst:31 +msgid "**Step 1**: Build the circuit." +msgstr "**ステップ1:** 回路を作る。" + +#: ../1.2.2_passive_buzzer.rst:39 +msgid "For C Language Users" +msgstr "C言語ユーザー向け" + +#: ../1.2.2_passive_buzzer.rst:41 +msgid "**Step 2**: Change directory." +msgstr "**ステップ2:** ディレクトリを変更する。" + +#: ../1.2.2_passive_buzzer.rst:51 +msgid "**Step 3**: Compile." +msgstr "**ステップ3:** " + +#: ../1.2.2_passive_buzzer.rst:61 +msgid "**Step 4**: Run." +msgstr "**ステップ4:** 実行。" + +#: ../1.2.2_passive_buzzer.rst:71 ../1.2.2_passive_buzzer.rst:247 +msgid "The code run, the buzzer plays a piece of music." +msgstr "コードが実行されると、ブザーが音楽を再生する。" + +#: ../1.2.2_passive_buzzer.rst:75 +msgid "" +"If it does not work after running, please refer to :ref:`C code is not " +"working?`" +msgstr "実行後に機能しない場合は、:ref:`C code is not working?` を参照してください。" + +#: ../1.2.2_passive_buzzer.rst:77 ../1.2.2_passive_buzzer.rst:249 +msgid "**Code**" +msgstr "**コード**" + +#: ../1.2.2_passive_buzzer.rst:155 ../1.2.2_passive_buzzer.rst:326 +msgid "**Code Explanation**" +msgstr "**コードの説明**" + +#: ../1.2.2_passive_buzzer.rst:171 +msgid "" +"These frequencies of each note are as shown. CL refers to low note, CM " +"middle note, CH high note, 1-7 correspond to the notes C, D, E, F, G, A, " +"B." +msgstr "各音の周波数は以下のように示している。CL-低音、CM-中音、CH-高音、1~7は音C、D、E、F、G、A、Bに対応する。" + +#: ../1.2.2_passive_buzzer.rst:182 +msgid "" +"The array, song_1[] stores a musical score of a song in which beat_1[] " +"refers to the beat of each note in the song (0.5s for each beat)." +msgstr "配列song_1 []は曲の楽譜を保存する。beat_1[]は曲の各音符の拍を表す(1拍ごとに0.5秒)。" + +#: ../1.2.2_passive_buzzer.rst:191 +msgid "" +"This creates a software controlled tone pin. You can use any GPIO pin and" +" the pin numbering will be that of the wiringPiSetup() function you used." +" The return value is 0 for success. Anything else and you should check " +"the global errnovariable to see what went wrong." +msgstr "これにより、ソフトウェア制御のトーンピンが作成される。任意のGPIOピンを使用でき、ピンの番号は使用したwiringPiSetup()関数の番号になる。成功した場合の戻り値は0である。それ以外の場合は、グローバル変数errnoをチェックして、何が問題なのかを確認する必要がある。" + +#: ../1.2.2_passive_buzzer.rst:203 +msgid "Employ a for statement to play song_1." +msgstr "song_1を再生するためにfor statementを使用する。" + +#: ../1.2.2_passive_buzzer.rst:205 +msgid "" +"In the judgment condition, **i, 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Davinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-19 18:22+0800\n" +"PO-Revision-Date: 2021-05-27 18:52+0800\n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../1.3.1_motor.rst:2 +msgid "1.3.1 Motor" +msgstr "1.3.1 モーター" + +#: ../1.3.1_motor.rst:5 +msgid "Introduction" +msgstr "前書き" + +#: ../1.3.1_motor.rst:7 +msgid "" +"In this lesson, we will learn to how to use L293D to drive a DC motor and" +" make it rotate clockwise and counterclockwise. Since the DC Motor needs " +"a larger current, for safety purpose, here we use the Power Supply Module" +" to supply motors." +msgstr "このレッスンでは、L293Dを使用してDCモーターを駆動し、時計回りと反時計回りに回転させる方法を学習する。安全上の理由で、DCモーターは大電流を必要とするため、ここでは電源モジュールを使用してモーターに電力を供給する。" + +#: ../1.3.1_motor.rst:13 +msgid "Components" +msgstr "部品" + +#: ../1.3.1_motor.rst:19 +msgid "Principle" +msgstr "原理" + +#: ../1.3.1_motor.rst:21 +msgid "**L293D**" +msgstr "**L293D**" + +#: ../1.3.1_motor.rst:23 +msgid "" +"L293D is a 4-channel motor driver integrated by chip with high voltage " +"and high current. It's designed to connect to standard DTL, TTL logic " +"level, and drive inductive loads (such as relay coils, DC, Stepper " +"Motors) and power switching transistors etc. DC Motors are devices that " +"turn DC electrical energy into mechanical energy. They are widely used in" +" electrical drive for their superior speed regulation performance." +msgstr "L293Dは、高電圧と高電流のチップで統合された4チャネルモータードライバーである。標準のDTL、TTLロジックレベルに接続し、誘導負荷(リレーコイル、DC、ステッピングモーターなど)およびパワースイッチングトランジスタなどを駆動するように設計される。DCモーターは、DC電気エネルギーを機械エネルギーに変換するデバイスである。それらは、優れた速度調整性能の利点により、電気駆動装置で広く使用されている。" + +#: ../1.3.1_motor.rst:30 +msgid "" +"See the figure of pins below. L293D has two pins (Vcc1 and Vcc2) for " +"power supply. Vcc2 is used to supply power for the motor, while Vcc1 to " +"supply for the chip. Since a small-sized DC motor is used here, connect " +"both pins to +5V." +msgstr "" +"ピンの図については、以下の図を参照してください。L293Dには、電源用の2つのピン(Vcc1とVcc2)がある。Vcc2はモーターに電力を供給し、Vcc1はチップに電力を供給するために使用される。ここでは小型のDCモーターが使用されているため、両方のピンを+" +" 5Vに接続してください。" + +#: ../1.3.1_motor.rst:38 +msgid "" +"The following is the internal structure of L293D. Pin EN is an enable pin" +" and only works with high level; A stands for input and Y for output. You" +" can see the relationship among them at the right bottom. When pin EN is " +"High level, if A is High, Y outputs high level; if A is Low, Y outputs " +"Low level. When pin EN is Low level, the L293D does not work." +msgstr "以下はL293Dの内部構造である。ピンENはイネーブルピンであり、高レベルでのみ機能する。Aは入力を表し、Yは出力を表す。それらの間の関係は右下に見ることができる。ピンENがHighレベルのとき、AがHighの場合、YはHighレベルを出力する。AがLowの場合、YはLowレベルを出力する。ピンENがLowレベルの場合、L293Dは機能しない。" + +#: ../1.3.1_motor.rst:47 +msgid "**DC Motor**" +msgstr "**DCモーター**" + +#: ../1.3.1_motor.rst:52 +msgid "" +"This is a 5V DC motor. It will rotate when you give the two terminals of " +"the copper sheet one high and one low level. For convenience, you can " +"weld the pins to it." +msgstr "これは5V DCモーターである。銅板の2つの端子に1つの高レベルと1つの低レベルを与えると回転する。便宜上、ピンを溶接することができる。" + +#: ../1.3.1_motor.rst:59 +msgid "**Power Supply Module**" +msgstr "**電源モジュール**" + +#: ../1.3.1_motor.rst:61 +msgid "" +"In this experiment, it needs large currents to drive the motor especially" +" when it starts and stops, which will severely interfere with the normal " +"work of Raspberry Pi. Therefore, we separately supply power for the motor" +" by this module to make it run safely and steadily." +msgstr "" +"この実験では、特に起動時と停止時にモーターを駆動するために大きな電流が必要である。これは、Raspberry " +"Piの通常の動作を大幅に妨害する可能性がある。そのため、このモジュールによってモーターに個別に電力を供給し、安全かつ着実に動作させる。" + +#: ../1.3.1_motor.rst:66 +msgid "" +"You can just plug it in the breadboard to supply power. It provides a " +"voltage of 3.3V and 5V, and you can connect either via a jumper cap " +"included." +msgstr "ブレッドボードに差し込むだけで電力を供給できる。3.3Vと5Vの電圧を提供し、付属のジャンパーキャップを介してどちらでも接続できる。" + +#: ../1.3.1_motor.rst:74 +msgid "Schematic Diagram" +msgstr "回路図" + +#: ../1.3.1_motor.rst:76 +msgid "" +"Plug the power supply module in breadboard, and insert the jumper cap to " +"pin of 5V, then it will output voltage of 5V. Connect pin 1 of L293D to " +"GPIO22, and set it as high level. Connect pin2 to GPIO27, and pin7 to " +"GPIO17, then set one pin high, while the other low. Thus you can change " +"the motor’s rotation direction." +msgstr "電源モジュールをブレッドボードに差し込み、ジャンパーキャップを5Vのピンに挿入すると、5Vの電圧が出力される。L293Dのピン1をGPIO22に接続し、それを高レベルに設定する。ピン2をGPIO27に、ピン7をGPIO17に接続し、一方のピンをhighに、もう一方のピンをhighに設定する。したがって、モーターの回転方向を変更できる。" + +#: ../1.3.1_motor.rst:86 +msgid "Experimental Procedures" +msgstr "**実験手順**" + +#: ../1.3.1_motor.rst:88 +msgid "**Step 1:** Build the circuit." +msgstr "**ステップ1:** 回路を作る。" + +#: ../1.3.1_motor.rst:96 +msgid "" +"The power module can apply a 9V battery with the 9V Battery Buckle in the" +" kit. Insert the jumper cap of the power module into the 5V bus strips of" +" the breadboard." +msgstr "電源モジュールはキットの9Vバッテリーバックルで9Vバッテリーを適用できる。電源モジュールのジャンパキャップをブレッドボードの5Vバスストリップに挿入する。" + +#: ../1.3.1_motor.rst:104 +msgid "For C Language Users" +msgstr "C言語ユーザー向け" + +#: ../1.3.1_motor.rst:106 ../1.3.1_motor.rst:244 +msgid "**Step 2**: Get into the folder of the code." +msgstr "**ステップ2:** コードのフォルダーに入る。" + +#: ../1.3.1_motor.rst:116 +msgid "**Step 3**: Compile." +msgstr "**ステップ3:** コンパイルする。" + +#: ../1.3.1_motor.rst:126 +msgid "**Step 4**: Run the executable file above." +msgstr "**ステップ4:** EXEファイルを実行する。" + +#: ../1.3.1_motor.rst:136 ../1.3.1_motor.rst:264 +msgid "" +"As the code runs, the motor first rotates clockwise for 5s then stops for" +" 5s, after that, it rotates anticlockwise for 5s; subsequently, the motor" +" stops for 5s. This series of actions will be executed repeatedly." +msgstr "コードが実行されると、モーターは最初に5秒間時計回りに回転し、それから5秒間停止し、その後5秒間反時計回りに回転してから5秒間停止する。この一連の動作は繰り返し実行される。" + +#: ../1.3.1_motor.rst:142 +msgid "" +"If it does not work after running, please refer to :ref:`C code is not " +"working?`" +msgstr "実行後に機能しない場合は、:ref:`C code is not working?` を参照してください。" + +#: ../1.3.1_motor.rst:144 ../1.3.1_motor.rst:268 +msgid "**Code**" +msgstr "**コード**" + +#: ../1.3.1_motor.rst:201 ../1.3.1_motor.rst:404 +msgid "**Code Explanation**" +msgstr "**コードの説明**" + +#: ../1.3.1_motor.rst:207 +msgid "Enable the L239D." +msgstr "L239Dを有効にする。" + +#: ../1.3.1_motor.rst:214 +msgid "" +"Set a high level for 2A(pin 7); since 1,2EN(pin 1) is in high level, 2Y " +"will output high level." +msgstr "2A(ピン7)に高レベルを設定する。1,2EN(ピン1)は高レベルなので、2Yは高レベルを出力する。" + +#: ../1.3.1_motor.rst:217 +msgid "" +"Set a low level for 1A, then 1Y will output low level, and the motor will" +" rotate." +msgstr "1Aに低レベルを設定すると、1Yが低レベルを出力し、モーターが回転する。" + +#: ../1.3.1_motor.rst:226 +msgid "this loop is to delay for 3*1000ms." +msgstr "このループは3 * 1000ms遅延する。" + +#: ../1.3.1_motor.rst:232 +msgid "" +"If 1,2EN (pin1) is in low level, L293D does not work. Motor stops " +"rotating." +msgstr "1,2EN(ピン1)が低レベルの場合、L293Dは機能しない。モーターが回転を停止する。" + +#: ../1.3.1_motor.rst:239 +msgid "" +"Reverse the current flow of the motor, then the motor will rotate " +"reversely." +msgstr "モーターの電流を逆にすると、モーターが逆回転する。" + +#: ../1.3.1_motor.rst:242 +msgid "For Python Language Users" +msgstr "Python言語ユーザー向け" + +#: ../1.3.1_motor.rst:254 +msgid "**Step 3**: Run." +msgstr "**ステップ3:** 実行する。" + +#: ../1.3.1_motor.rst:272 + +msgid "" +"You can **Modify/Reset/Copy/Run/Stop** the code below. But before that, " +"you need to go to source code path like ``davinci-kit-for-raspberry-" +"pi/python``." +msgstr "" +"以下のコードを **変更/リセット/コピー/実行/停止** できます。 ただし、その前に、 ``davinci-kit-for-raspberry-pi/python`` のようなソースコードパスに移動する必要があります。" + +#: ../1.3.1_motor.rst:419 +msgid "" +"Create a function, **motor()** whose variable is direction. As the " +"condition that direction=1 is met, the motor rotates clockwise; when " +"direction=-1, the motor rotates anticlockwise; and under the condition " +"that direction=0, it stops rotating." +msgstr "" +"変数がdirectionである関数 **motor()** を作成する。direction = " +"1の条件が満たされると、モーターは時計回りに回転する。direction = " +"-1の場合、モーターは反時計回りに回転する。そして、direction = 0の条件下では、回転を停止する。" + +#: ../1.3.1_motor.rst:444 +msgid "" +"In the main()function, create an array, directions[], in which CW is " +"equal to 1, the value of CCW is -1, and the number 0 refers to Stop." +msgstr "メイン()関数で、CWが1、CCWの値が-1、0がStopを指す配列directions[]を作成する。" + +#: ../1.3.1_motor.rst:447 +msgid "" +"As the code runs, the motor first rotates clockwise for 5s then stop for " +"5s, after that, it rotates anticlockwise for 5s; subsequently, the motor " +"stops for 5s. This series of actions will be executed repeatedly." +msgstr "コードが実行されると、モーターは最初に5秒間時計回りに回転し、それから5秒間停止し、その後5秒間反時計回りに回転してから5秒間停止する。この一連の動作は繰り返し実行される。" + +#: ../1.3.1_motor.rst:451 +msgid "Now, you should see the motor blade rotating." +msgstr "これで、モーターブレードが回転していることが分かる。" + +#: ../1.3.1_motor.rst:454 +msgid "Phenomenon Picture" +msgstr "現象画像" + +#~ msgid "" +#~ "If it does not work after running," +#~ " please refer to :ref:`C code is " +#~ "not working?`." +#~ msgstr "" + diff --git a/docs/source/locale/ja/LC_MESSAGES/1.3.2_servo.po b/docs/source/locale/ja/LC_MESSAGES/1.3.2_servo.po new file mode 100644 index 0000000..ba04cb5 --- /dev/null +++ b/docs/source/locale/ja/LC_MESSAGES/1.3.2_servo.po @@ -0,0 +1,246 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, SunFounder +# This file is distributed under the same license as the SunFounder Davinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Davinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-19 18:22+0800\n" +"PO-Revision-Date: 2021-05-27 19:02+0800\n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../1.3.2_servo.rst:2 +msgid "1.3.2 Servo" +msgstr "1.3.2 サーボ" + +#: ../1.3.2_servo.rst:5 +msgid "Introduction" +msgstr "前書き" + +#: ../1.3.2_servo.rst:7 +msgid "In this lesson, we will learn how to make the servo rotate." +msgstr "このレッスンでは、サーボを回転させる方法を学ぶ。" + +#: ../1.3.2_servo.rst:10 +msgid "Components" +msgstr "部品" + +#: ../1.3.2_servo.rst:16 +msgid "Principle" +msgstr "原理" + +#: ../1.3.2_servo.rst:18 +msgid "**Servo**" +msgstr "**サーボ**" + +#: ../1.3.2_servo.rst:20 +msgid "" +"A servo is generally composed of the following parts: case, shaft, gear " +"system, potentiometer, DC motor, and embedded board." +msgstr "サーボは一般に、ケース、シャフト、ギアシステム、ポテンショメーター、DCモーター、および内蔵式ボードで構成されている。" + +#: ../1.3.2_servo.rst:26 +msgid "" +"It works like this: The microcontroller sends out PWM signals to the " +"servo, and then the embedded board in the servo receives the signals " +"through the signal pin and controls the motor inside to turn. As a " +"result, the motor drives the gear system and then motivates the shaft " +"after deceleration. The shaft and potentiometer of the servo are " +"connected together. When the shaft rotates, it drives the potentiometer, " +"so the potentiometer outputs a voltage signal to the embedded board. Then" +" the board determines the direction and speed of rotation based on the " +"current position, so it can stop exactly at the right position as defined" +" and hold there." +msgstr "これは次のように動作する:マイクロコントローラーはPWM信号をサーボに送信し、サーボの内蔵式ボードは信号ピンを介して信号を受信し、内部のモーターを制御して回転させる。その結果、モーターはギアシステムを駆動し、減速後にシャフトを駆動する。サーボのシャフトとポテンショメーターは接続されている。シャフトが回転する時、ポテンショメーターが駆動されるため、ポテンショメーターは電圧信号を内蔵式ボードに出力する。その後、ボードは現在の位置に基づいて回転の方向と速度を決めるため、定義された位置で正確に停止してそのまま保持する。" + +#: ../1.3.2_servo.rst:40 +msgid "" +"The angle is determined by the duration of a pulse that is applied to the" +" control wire. This is called Pulse width Modulation. The servo expects " +"to see a pulse every 20 ms. The length of the pulse will determine how " +"far the motor turns. For example, a 1.5ms pulse will make the motor turn " +"to the 90 degree position (neutral position)." +msgstr "角度は制御ワイヤに適用されるパルスの持続時間によって決まる。これはパルス幅変調と呼ばれる。サーボは20ミリ秒ごとに1パルスを期待している。パルスの長さにより、モーターの回転距離が決まる。たとえば、1.5msパルスは、モーターを90度の位置(ニュートラル位置)に回転させる。" + +#: ../1.3.2_servo.rst:46 +msgid "" +"When a pulse is sent to a servo that is less than 1.5 ms, the servo " +"rotates to a position and holds its output shaft some number of degrees " +"counterclockwise from the neutral point. When the pulse is wider than 1.5" +" ms the opposite occurs. The minimal width and the maximum width of pulse" +" that will command the servo to turn to a valid position are functions of" +" each servo. Generally the minimum pulse will be about 0.5 ms wide and " +"the maximum pulse will be 2.5 ms wide." +msgstr "" +"1.5 " +"ms未満のパルスがサーボに送信されると、サーボはある位置まで回転し、出力軸をニュートラル位置から反時計回りにある程度保持する。パルスが1.5ミリ秒を上回る場合、逆のことが起こる。有効な位置にサーボを回転させるように命令するパルスの最小幅と最大幅は、各サーボの機能である。通常、パルスの最小幅は約0.5" +" msで、最大幅は2.5 msである。" + +#: ../1.3.2_servo.rst:58 +msgid "Schematic Diagram" +msgstr "回路図" + +#: ../1.3.2_servo.rst:64 +msgid "Experimental Procedures" +msgstr "実験手順" + +#: ../1.3.2_servo.rst:66 +msgid "**Step 1:** Build the circuit." +msgstr "**ステップ1:** 回路を作る。" + +#: ../1.3.2_servo.rst:74 +msgid "For C Language Users" +msgstr "C言語ユーザー向け" + +#: ../1.3.2_servo.rst:76 ../1.3.2_servo.rst:204 +msgid "**Step 2**: Go to the folder of the code." +msgstr "**ステップ2:** コードのフォルダーに入る。" + +#: ../1.3.2_servo.rst:86 +msgid "**Step 3**: Compile the code." +msgstr "**ステップ3:** コードをコンパイルする。" + +#: ../1.3.2_servo.rst:96 +msgid "**Step 4**: Run the executable file." +msgstr "**ステップ4:** EXEファイルを実行する。" + +#: ../1.3.2_servo.rst:106 ../1.3.2_servo.rst:224 +msgid "" +"After the program is executed, the servo will rotate from 0 degrees to " +"180 degrees, and then from 180 degrees to 0 degrees, circularly." +msgstr "プログラムが実行されると、サーボは0度から180度まで回転し、それから180度から0度まで循環的に回転する。" + +#: ../1.3.2_servo.rst:111 +msgid "" +"If it does not work after running, please refer to :ref:`C code is not " +"working?`" +msgstr "実行後に機能しない場合は、:ref:`C code is not working?` を参照してください。" + +#: ../1.3.2_servo.rst:113 ../1.3.2_servo.rst:227 +msgid "**Code**" +msgstr "**コード**" + +#: ../1.3.2_servo.rst:154 ../1.3.2_servo.rst:287 +msgid "**Code Explanation**" +msgstr "**コードの説明**" + +#: ../1.3.2_servo.rst:162 +msgid "Create a Map() function to map value in the following code." +msgstr "次のコードで値をマップするMap()関数を作成する。" + +#: ../1.3.2_servo.rst:174 +msgid "Create a funtion, setAngle() to write angle to the servo." +msgstr "角度をサーボに書き込むために、関数setAngle()を作成する。" + +#: ../1.3.2_servo.rst:180 +msgid "This function can change the duty cycle of the PWM." +msgstr "この関数はPWMのデューティサイクルを変更できる。" + +#: ../1.3.2_servo.rst:182 +msgid "" +"To make the servo rotate to 0 ~ 180 °, the pulse width should change " +"within the range of 0.5ms ~ 2.5ms when the period is 20ms; in the " +"function, softPwmCreate(), we have set that the period is 200x100us=20ms," +" thus we need to map 0 ~ 180 to 5x100us ~ 25x100us." +msgstr "" +"サーボを0〜180°に回転させるために、周期が20msのときにパルス幅を0.5ms〜2.5msの範囲内で変更してください。関数softPwmCreate()では、周期が200x100us" +" = 20msに設定されているため、0〜180を5x100us〜25x100usにマッピングする必要がある。" + +#: ../1.3.2_servo.rst:187 +msgid "The prototype of this function is shown below." +msgstr "この関数のプロトタイプを以下に示す。" + +#: ../1.3.2_servo.rst:194 +msgid "**Parameter pin:** Any GPIO pin of Raspberry Pi can be set as PWM pin." +msgstr "**パラメーターピン:** Raspberry PiのGPIOピンはPWMピンとして設定できる。" + +#: ../1.3.2_servo.rst:196 +msgid "" +"**Parameter initialValue:** The initial pulse width is that initialValue " +"times 100us." +msgstr "**パラメータinitialValue:** 初期パルス幅は、initialValueに100usを掛けたものである。" + +#: ../1.3.2_servo.rst:199 +msgid "**Parameter pwmRange:** the period of PWM is that pwmRange times 100us." +msgstr "**パラメーターpwmRange:** PWMの周期は、pwmRangeに100usを掛けたものである。" + +#: ../1.3.2_servo.rst:202 +msgid "For Python Language Users" +msgstr "Python言語ユーザー向け" + +#: ../1.3.2_servo.rst:214 +msgid "**Step 3**: Run the executable file." +msgstr "**ステップ3:** EXEファイルを実行する。" + +#: ../1.3.2_servo.rst:231 + +msgid "" +"You can **Modify/Reset/Copy/Run/Stop** the code below. But before that, " +"you need to go to source code path like ``davinci-kit-for-raspberry-" +"pi/python``." +msgstr "" +"以下のコードを **変更/リセット/コピー/実行/停止** できます。 ただし、その前に、 ``davinci-kit-for-raspberry-pi/python`` のようなソースコードパスに移動する必要があります。" + +#: ../1.3.2_servo.rst:294 +msgid "" +"Set the servoPin to PWM pin, then the frequency to 50hz, and the period " +"to 20ms." +msgstr "servoPinをPWMピンに設定し、次に周波数を50hzに、周期を20msに設定する。" + +#: ../1.3.2_servo.rst:296 +msgid "p.start(0): Run the PWM function,and set the initial value to 0." +msgstr "p.start(0): PWM関数を実行し、初期値を0に設定する。" + +#: ../1.3.2_servo.rst:306 +msgid "" +"Create a function, setAngle() to write angle that ranges from 0 to 180 " +"into the servo." +msgstr "関数setAngle()を作成して、0〜180の範囲の角度をサーボに書き込む。" + +#: ../1.3.2_servo.rst:312 +msgid "This code is used to limit the angle within the range 0-180°." +msgstr "このコードは角度を0〜180°の範囲に制限するために使用される。" + +#: ../1.3.2_servo.rst:314 +msgid "" +"The min() function returns the minimum of the input values. If 180angle, then return 0, if not, return angle." +msgstr "max()メソッドは、反復可能または最大の2つ以上のパラメーターで最大要素を返す。角度が0以上の場合は0を返し、そうでない場合は角度を返す。" + +#: ../1.3.2_servo.rst:326 +msgid "" +"To render a range 0 ~ 180 ° to the servo, the pulse width of the servo is" +" set to 0.5ms(500us)-2.5ms(2500us)." +msgstr "0〜180°の範囲をサーボにレンダリングすると、サーボのパルス幅は0.5ms(500us)〜2.5ms(2500us)に設定される。" + +#: ../1.3.2_servo.rst:329 +msgid "" +"The period of PWM is 20ms(20000us), thus the duty cycle of PWM is " +"(500/20000)%-(2500/20000)%, and the range 0 ~ 180 is mapped to 2.5 ~ " +"12.5." +msgstr "PWMの周期は20ms(20000us)であるため、PWMのデューティサイクルは(500/20000)%-(2500/20000)%であり、0〜180の範囲は2.5〜12.5にマッピングされる。" + +#: ../1.3.2_servo.rst:335 +msgid "Phenomenon Picture" +msgstr "現象画像" + +#~ msgid "" +#~ "If it does not work after running," +#~ " please refer to :ref:`C code is " +#~ "not working?`." +#~ msgstr "" + diff --git a/docs/source/locale/ja/LC_MESSAGES/1.3.3_stepper_motor.po b/docs/source/locale/ja/LC_MESSAGES/1.3.3_stepper_motor.po new file mode 100644 index 0000000..2ac30b8 --- /dev/null +++ b/docs/source/locale/ja/LC_MESSAGES/1.3.3_stepper_motor.po @@ -0,0 +1,382 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, SunFounder +# This file is distributed under the same license as the SunFounder Davinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Davinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-19 18:22+0800\n" +"PO-Revision-Date: 2021-05-27 19:15+0800\n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../1.3.3_stepper_motor.rst:2 +msgid "1.3.3 Stepper Motor" +msgstr "1.3.3 ステッピングモーター" + +#: ../1.3.3_stepper_motor.rst:5 +msgid "Introduction" +msgstr "前書き" + +#: ../1.3.3_stepper_motor.rst:7 + +msgid "" +"Stepper motors, due to their unique design, can be controlled to a high " +"degree of accuracy without any feedback mechanisms. The shaft of a " +"stepper, mounted with a series of magnets, is controlled by a series of " +"electromagnetic coils that are charged positively and negatively in a " +"specific sequence, precisely moving it forward or backward in small " +"\\\"steps\\\"." +msgstr "独自の設計により、ステッピングモーターはフィードバックメカニズムなしで高度な精度で制御できる。" +"一連の磁石が取り付けられたステッパーのシャフトは、特定のシーケンスで正と負に帯電する一連の電磁コイルによって制御され、小さな「ステップ」で前後に正確に移動する。" + +#: ../1.3.3_stepper_motor.rst:15 +msgid "Components" +msgstr "部品" + +#: ../1.3.3_stepper_motor.rst:21 +msgid "Principle" +msgstr "原理" + +#: ../1.3.3_stepper_motor.rst:23 +msgid "**Stepper Motor**" +msgstr "**ステッピングモーター**" + +#: ../1.3.3_stepper_motor.rst:25 +msgid "" +"There are two types of steppers, unipolars and bipolars, and it is very " +"important to know which type you are working with. In this experiment, we" +" will use a unipolar stepper." +msgstr "ステッパーには、ユニポーラーとバイポーラーの2つのタイプがあり、使用しているタイプを知ることが非常に重要である。この実験では、ユニポーラステッパーを使用する。" + +#: ../1.3.3_stepper_motor.rst:29 +msgid "" +"The stepper motor is a four-phase one, which uses a unipolarity DC power " +"supply. As long as you electrify all phase windings of the motor by an " +"appropriate timing sequence, you can make it rotate step by step. The " +"schematic diagram of a four-phase reactive stepper motor:" +msgstr "ステッピングモーターは単相DC電源を使用する4相モーターである。適切な時系列でモーターのすべての相巻線に通電する限り、一歩一歩に回転させることができる。4相リアクティブステッピングモーターの概略図:" + +#: ../1.3.3_stepper_motor.rst:37 +msgid "" +"In the figure, in the middle of the motor is a rotor - a gear-shaped " +"permanent magnet. Around the rotor, 0 to 5 are teeth. Then more outside, " +"there are 8 magnetic poles, with each two opposite ones connected by coil" +" winding. So they form four pairs from A to D, which is called a phase. " +"It has four lead wires to be connected with switches SA, SB, SC, and SD. " +"Therefore, the four phases are in parallel in the circuit, and the two " +"magnetic poles in one phase are in series." +msgstr "図では、モーターの中央にローター-歯車状の永久磁石がある。ローターの周りの0〜5は歯である。さらに外側には、8つの磁極があり、それぞれ反対側の2つの磁極がコイル巻線で接続されている。そのため、AからDまでの4つのペアを形成し、相と呼ばれる。スイッチSA、SB、SC、SDに接続するリード線が4本ある。したがって、回路では4つの相が並列になっており、1つの相の2つの磁極は直列になっている。" + +#: ../1.3.3_stepper_motor.rst:45 +msgid "**Here's how a 4-phase stepper motor works:**" +msgstr "**4相ステッピングモーターの動作原理は次の通りである:**" + +#: ../1.3.3_stepper_motor.rst:47 +msgid "" +"When switch SB is power on, switch SA, SC, and SD is power off, and " +"B-phase magnetic poles align with tooth 0 and 3 of the rotor. At the same" +" time, tooth 1 and 4 generate staggered teeth with C- and D-phase poles. " +"Tooth 2 and 5 generate staggered teeth with D- and A-phase poles. When " +"switch SC is power on, switch SB, SA, and SD is power off, the rotor " +"rotates under magnetic field of C-phase winding and that between tooth 1 " +"and 4. Then tooth 1 and 4 align with the magnetic poles of C-phase " +"winding. While tooth 0 and 3 generate staggered teeth with A- and B-phase" +" poles, and tooth 2 and 5 generate staggered teeth with the magnetic " +"poles of A- and D-phase poles. The similar situation goes on and on. " +"Energize the A, B, C and D phases in turn, and the rotor will rotate in " +"the order of A, B, C and D." +msgstr "スイッチSBの電源がオンになると、スイッチSA、SC、およびSDの電源がオフになり、B相の磁極がローターの歯0と3と整列する。同時に、歯1と4は、C相とD相の極を持つ互い違いに配列した歯を生成する。歯2と5は、D相とA相の極を持つ互い違いに配列した歯を生成する。スイッチSCの電源がオン、スイッチSB、SA、およびSDの電源がオフの場合、ローターはC相巻線の磁場と歯1と4の間の磁場の下で回転する。次に、歯1と4がC相巻線の磁極と整列する。一方、歯0と3はA相とB相の極を持つ互い違いに配列した歯を生成し、歯2と5はA相とD相の極を持つ互い違いに配列した歯を生成する。同様の状況が続いていく。A、B、C、D相に順番に通電すると、ローターはA、B、C、Dの順に回転する。" + +#: ../1.3.3_stepper_motor.rst:63 +msgid "" +"The four-phase stepper motor has three operating modes: single four-step," +" double four-step, and eight-step. The step angle for the single four-" +"step and double four-step are the same, but the driving torque for the " +"single four-step is smaller. The step angle of the eight-step is half " +"that of the single four-step and double four-step. Thus, the eight-step " +"operating mode can keep high driving torque and improve control accuracy." +msgstr "4相ステッピングモーターには、3つの動作モードがある:シングル4ステップ、ダブル4ステップ、および8ステップ。シングル4ステップとダブル4ステップのステップ角は同じであるが、シングル4ステップの駆動トルクは小さくなる。8ステップのステップ角は、シングル4ステップおよびダブル4ステップの半分である。したがって、8ステップの動作モードは、高い駆動トルクを維持し、制御精度を向上させることができる。" + +#: ../1.3.3_stepper_motor.rst:71 +msgid "" +"The stator of Stepper Motor we use has 32 magnetic poles, so a circle " +"needs 32 steps. The output shaft of the Stepper Motor is connected with a" +" reduction gear set, and the reduction ratio is 1/64. So the final output" +" shaft rotates a circle requiring a 32*64=2048 step." +msgstr "" +"使用するステッピングモーターのステータには32個の磁極があるため、円には32ステップが必要である。ステッピングモーターの出力軸は減速装置セットに接続され、減速比は1/64である。ですから、最終出力シャフトは32" +" * 64 = 2048ステップを必要とする円を回転させる。" + +#: ../1.3.3_stepper_motor.rst:76 +msgid "**ULN2003**" +msgstr "**ULN2003**" + +#: ../1.3.3_stepper_motor.rst:78 +msgid "" +"To apply the motor in the circuit, a driver board needs to be used. " +"Stepper Motor Driver-ULN2003 is a 7-channel inverter circuit. That is, " +"when the input pin is at high level, the output pin of ULN2003 is at low " +"level, and vice versa. If we supply high level to IN1, and low level to " +"IN2, IN3 and IN4, then the output end OUT1 is at low level, and all the " +"other output ends are at high level.  The internal structure of the chip " +"is shown as below." +msgstr "" +"モーターを円に適用するには、ドライバーボードを使用する必要があります。ステッパーモータードライバ-ULN2003は7チャネルインバータサークルです。つまり、入力ピンが高レベルの場合、ULN2003の出力ピンは低レベルであり、その逆も同様です。IN1" +" に高レベルを供給し、IN2、IN3、IN4 に低レベルを供給すると、出力端 OUT1 " +"は低レベルであり、他のすべての出力端は高レベルになります。チップの内部構造を以下に示します。" + +#: ../1.3.3_stepper_motor.rst:84 +msgid "" +"The stepper motor driver constituted by ULN2003 chip and 4 LEDs is shown " +"as follows. On the board, IN1,IN2,IN3 and IN4 work as input and the four " +"LEDs, A, B, C, D are the indicators of input pin. In addition, OUT1,OUT2," +" OUT3 and OUT4 are connected to SA, SB, SC and SD on the stepper motor " +"driver. When the value of IN1 is set to a high level, A lights up; switch" +" SA is power on, and the stepper motor rotates one step. The similar case" +" repeats on and on. Therefore, just give the stepper motor a specific " +"timing sequence, it will rotate step by step. The ULN2003 here is used to" +" provide particular timing sequences for the stepper motor." +msgstr "ULN2003チップと4つのLEDで構成されるステッピングモータードライバーを以下に示す。ボードでは、IN1、IN2、IN3、IN4が入力として機能し、4つのLED、A、B、C、Dは入力ピンの指示器である。さらに、OUT1、OUT2、OUT3、およびOUT4はそれぞれ、ステッピングモータードライバーのSA、SB、SC、およびSDに接続されている。IN1の値が高レベルに設定されると、Aが点灯し、スイッチSAの電源がオンになり、ステッピングモーターが1ステップで回転する。同様のケースが何度も繰り返される。したがって、ステッピングモーターに特定の時系列を与えるだけで、ステップごとに回転する。ステッピングモーターに特定の時系列を提供するために、ここでULN2003を使用する。" + +#: ../1.3.3_stepper_motor.rst:99 +msgid "Schematic Diagram" +msgstr "回路図" + +#: ../1.3.3_stepper_motor.rst:106 +msgid "Experimental Procedures" +msgstr "実験手順" + +#: ../1.3.3_stepper_motor.rst:108 +msgid "**Step 1:** Build the circuit." +msgstr "**ステップ1:** 回路を作る。" + +#: ../1.3.3_stepper_motor.rst:115 +msgid "For C Language Users" +msgstr "C言語ユーザー向け" + +#: ../1.3.3_stepper_motor.rst:117 ../1.3.3_stepper_motor.rst:353 +msgid "**Step 2**: Go to the folder of the code." +msgstr "**ステップ2:** コードのフォルダーに入る。" + +#: ../1.3.3_stepper_motor.rst:127 +msgid "**Step 3**: Compile the code." +msgstr "**ステップ3:** コードをコンパイルする。" + +#: ../1.3.3_stepper_motor.rst:137 +msgid "**Step 4**: Run the executable file." +msgstr "**ステップ4:** EXEファイルを実行する。" + +#: ../1.3.3_stepper_motor.rst:147 + +msgid "" +"As the code runs, the stepper motor will rotate clockwise or " +"anticlockwise according to your input \\'a\\' or \\'c\\'." +msgstr "コードが実行されると、入力「a」または「c」に応じてステッピングモーターが時計回りまたは反時計回りに回転する。" + +#: ../1.3.3_stepper_motor.rst:152 +msgid "" +"If it does not work after running, please refer to :ref:`C code is not " +"working?`" +msgstr "実行後に機能しない場合は、:ref:`C code is not working?` を参照してください。" + +#: ../1.3.3_stepper_motor.rst:154 ../1.3.3_stepper_motor.rst:376 +msgid "**Code**" +msgstr "**コード**" + +#: ../1.3.3_stepper_motor.rst:230 ../1.3.3_stepper_motor.rst:439 +msgid "**Code Explanation**" +msgstr "**コードの説明**" + +#: ../1.3.3_stepper_motor.rst:238 ../1.3.3_stepper_motor.rst:447 +msgid "" +"**rolePerMinute:** revolutions per minute, the RPM of the stepper motor " +"used in this kit should be 0~17." +msgstr "**rolePerMinute:** 1分あたりの回転数。このキットで使用されるステッピングモーターのRPMは0〜17である。" + +#: ../1.3.3_stepper_motor.rst:241 ../1.3.3_stepper_motor.rst:450 +msgid "" +"**stepPerRevolution:** the number of steps for each turn, and the stepper" +" motor used in this kit needs 2048 steps per revolution." +msgstr "" +"**stepPerRevolution:** " +"1ターンのステップ数、およびこのキットで使用されるステッピングモーターには、1回転あたり2048ステップが必要である。" + +#: ../1.3.3_stepper_motor.rst:244 +msgid "" +"**stepSpeed:** the time used for each step, and in main(), we assign the " +"values to them:「(60000000 / rolePerMinute) / " +"stepsPerRevolution」(60,000,000 us=1minute)" +msgstr "" +"**stepSpeed:** " +"各ステップに使用される時間、main()では、それらに値を割り当てる。「(60000000/rolePerMinute)/ " +"stepsPerRevolution」(60,000,000 us = 1分)" + +#: ../1.3.3_stepper_motor.rst:278 +msgid "" +"The loop() function is roughly divided into two parts (located between " +"two while(1)) :" +msgstr "loop() 関数は、2つの部分(2つのwhile(1)の間にある)に大まかに分けられている:" + +#: ../1.3.3_stepper_motor.rst:280 ../1.3.3_stepper_motor.rst:475 + +msgid "" +"The first part is to get the key value. When \\'a\\' or \\'c\\' is " +"obtained, exit the loop and stop the input." +msgstr "最初の部分の目的は、key valueを取得することである。「a」または「c」が取得されたら、ループを終了して入力を停止してください。" + +#: ../1.3.3_stepper_motor.rst:282 ../1.3.3_stepper_motor.rst:478 +msgid "The second part calls rotary(direction) to make the stepper motor run." +msgstr "2番目の部分はロータリー(方向)を呼び出して、ステッピングモーターを動作させる。" + +#: ../1.3.3_stepper_motor.rst:303 +msgid "" +"To make stepper motor **rotate clockwise**, level status of motorPin " +"should is shown in the table below:" +msgstr "ステッピングモーターを **時計回りに回転させる** ために、motorPinのレベルス状態要求は以下の通りである:" + +#: ../1.3.3_stepper_motor.rst:309 ../1.3.3_stepper_motor.rst:501 +msgid "" +"Therefore, potential write of MotorPin is implemented by using a two-" +"layer of for loop." +msgstr "したがって、2層のfor文を使用してMotorPinの潜在的な書き込みを実装する。" + +#: ../1.3.3_stepper_motor.rst:312 ../1.3.3_stepper_motor.rst:336 +#: ../1.3.3_stepper_motor.rst:504 ../1.3.3_stepper_motor.rst:528 +msgid "In Step1, j=0, i=0~4." +msgstr "Step1では、j=0、i=0〜4。" + +#: ../1.3.3_stepper_motor.rst:314 ../1.3.3_stepper_motor.rst:506 +msgid "motorPin[0] will be written in the high level(10011001&00001000=1)" +msgstr "motorPin [0]は高レベル(10011001&00001000 = 1)で書き込まれる" + +#: ../1.3.3_stepper_motor.rst:316 ../1.3.3_stepper_motor.rst:508 +msgid "motorPin[1] will be written in the low level(10011001&00000100=0)" +msgstr "motorPin [1]は低レベル(10011001&00000100=0)で書き込まれる" + +#: ../1.3.3_stepper_motor.rst:318 ../1.3.3_stepper_motor.rst:510 +msgid "motorPin[2] will be written in the low level(10011001&00000010=0)" +msgstr "motorPin [2]は低レベル(10011001&00000010 = 0)で書き込まれる" + +#: ../1.3.3_stepper_motor.rst:320 ../1.3.3_stepper_motor.rst:512 +msgid "motorPin[3] will be written in the high level(10011001&00000001=1)" +msgstr "motorPin [3]は高レベル(10011001&00000001=1)で書き込まれる" + +#: ../1.3.3_stepper_motor.rst:322 ../1.3.3_stepper_motor.rst:514 +#: ../1.3.3_stepper_motor.rst:534 +msgid "In Step2, j=1, i=0~4." +msgstr "Step2では、j=1、i= 0〜4。" + +#: ../1.3.3_stepper_motor.rst:324 ../1.3.3_stepper_motor.rst:516 +msgid "motorPin[0] will be written in the high level(01001100&00001000=1)" +msgstr "motorPin [0]は高レベル(01001100&00001000 = 1)で書き込まれる" + +#: ../1.3.3_stepper_motor.rst:326 ../1.3.3_stepper_motor.rst:518 +msgid "motorPin[1] will be written in the low level(01001100&00000100=1)" +msgstr "motorPin [1]は低レベル(01001100&00000100 = 1)などで書き込" + +#: ../1.3.3_stepper_motor.rst:328 ../1.3.3_stepper_motor.rst:348 +msgid "and so on." +msgstr "まれる。" + +#: ../1.3.3_stepper_motor.rst:330 +msgid "" +"And to make the stepper motor rotate **anti-clockwise**, the level status" +" of motorPin is shown in the following table." +msgstr "また、ステッピングモーターを **反時計回り** に回転させるために、motorPinのレベルステータスを次の表に示す。" + +#: ../1.3.3_stepper_motor.rst:338 ../1.3.3_stepper_motor.rst:530 +msgid "motorPin[0] will be written in the high level(10011001&10000000=1)" +msgstr "motorPin [0]は高レベル(10011001&10000000 = 1)で書き込まれる" + +#: ../1.3.3_stepper_motor.rst:340 ../1.3.3_stepper_motor.rst:532 +msgid "motorPin[1] will be written in the low level(10011001&01000000=0)" +msgstr "motorPin [1]は低レベル(10011001&01000000 = 0)で書き込まれる" + +#: ../1.3.3_stepper_motor.rst:342 +msgid "In Step2,j=1, i=0~4." +msgstr "ステップ2では、j=1、i=0〜4。" + +#: ../1.3.3_stepper_motor.rst:344 ../1.3.3_stepper_motor.rst:536 +msgid "motorPin[0] will be written in the high level(00110010&10000000=0)" +msgstr "motorPin [0]は高レベル(00110010&10000000 = 0)で書き込まれる" + +#: ../1.3.3_stepper_motor.rst:346 ../1.3.3_stepper_motor.rst:538 +msgid "motorPin[1] will be written in the low level(00110010&01000000=0)" +msgstr "motorPin [1]は低レベル(00110010&01000000 = 0)で書き込まれる" + +#: ../1.3.3_stepper_motor.rst:351 +msgid "For Python Language Users" +msgstr "Python言語ユーザー向け" + +#: ../1.3.3_stepper_motor.rst:363 +msgid "**Step 3**: Run the executable file." +msgstr "**ステップ3:** EXEファイルを実行する。" + +#: ../1.3.3_stepper_motor.rst:373 + +msgid "" +"As the code runs, the stepper motor will turn clockwise or anti-clockwise" +" depending on your input \\'a\\' or \\'c\\'." +msgstr "コードが実行されると、入力「a」または「c」に応じて、ステッピングモーターが時計回りまたは反時計回りに回転する。" + +#: ../1.3.3_stepper_motor.rst:380 + +msgid "" +"You can **Modify/Reset/Copy/Run/Stop** the code below. But before that, " +"you need to go to source code path like ``davinci-kit-for-raspberry-" +"pi/python``." +msgstr "" +"以下のコードを **変更/リセット/コピー/実行/停止** できます。 ただし、その前に、 ``davinci-kit-for-raspberry-pi/python`` のようなソースコードパスに移動する必要があります。" + +#: ../1.3.3_stepper_motor.rst:453 +msgid "" +"**stepSpeed:** the time used for each step, and we assign the values to " +"them:「(60 / rolePerMinute) / stepsPerRevolution」(60s=1minute)." +msgstr "" +"**stepSpeed:** 各ステップに使用される時間。それらに値を割り当てる:「(60/ " +"rolePerMinute)/stepsPerRevolution」(60s = 1分)。" + +#: ../1.3.3_stepper_motor.rst:472 +msgid "" +"The loop() function is roughly divided into two parts (located in two " +"while(1)) :" +msgstr "loop() 関数は、大きく分けて2つの部分に分かれている(2つのwhile(1)にある):" + +#: ../1.3.3_stepper_motor.rst:495 +msgid "" +"To make the stepper motor rotate clockwise, the level status of motorPin " +"is shown in the following table:" +msgstr "ステッピングモーターを時計回りに回転させるために、motorPinのレベルステータスを次の表に示す:" + +#: ../1.3.3_stepper_motor.rst:520 +msgid "and so on" +msgstr "まれる" + +#: ../1.3.3_stepper_motor.rst:522 +msgid "" +"And to make the stepper motor rotate anti - clockwise, the level status " +"of motorPin is shown in the following table." +msgstr "また、ステッピングモーターを反時計回りに回転させるために、motorPinのレベルステータスを次の表に示す。" + +#: ../1.3.3_stepper_motor.rst:540 +msgid "And so on." +msgstr "まれる。" + +#: ../1.3.3_stepper_motor.rst:543 +msgid "Phenomenon Picture" +msgstr "現象画像" + +#~ msgid "" +#~ "If it does not work after running," +#~ " please refer to :ref:`C code is " +#~ "not working?`." +#~ msgstr "" + diff --git a/docs/source/locale/ja/LC_MESSAGES/1.3.4_relay.po b/docs/source/locale/ja/LC_MESSAGES/1.3.4_relay.po new file mode 100644 index 0000000..3453dc7 --- /dev/null +++ b/docs/source/locale/ja/LC_MESSAGES/1.3.4_relay.po @@ -0,0 +1,270 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, SunFounder +# This file is distributed under the same license as the SunFounder Davinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Davinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-19 18:22+0800\n" +"PO-Revision-Date: 2021-05-27 19:25+0800\n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../1.3.4_relay.rst:2 +msgid "1.3.4 Relay" +msgstr "1.3.4 リレー" + +#: ../1.3.4_relay.rst:5 +msgid "Introduction" +msgstr "前書き" + +#: ../1.3.4_relay.rst:7 +msgid "" +"In this lesson, we will learn to use a relay. It is one of the commonly " +"used components in automatic control system. When the voltage, current, " +"temperature, pressure, etc., reaches, exceeds or is lower than the " +"predetermined value, the relay will connect or interrupt the circuit, to " +"control and protect the equipment." +msgstr "このレッスンでは、リレーの使用方法を学習する。これは、自動制御システムで一般的に使用される部品の1つである。電圧、電流、温度、圧力などが所定の値に到達、超過、または低下すると、リレーは回路を接続または中断して、機器を制御したり保護したりする。" + +#: ../1.3.4_relay.rst:14 +msgid "Components" +msgstr "部品" + +#: ../1.3.4_relay.rst:20 +msgid "Principle" +msgstr "原理" + +#: ../1.3.4_relay.rst:22 +msgid "**Diode**" +msgstr "**ダイオード**" + +#: ../1.3.4_relay.rst:24 +msgid "" +"A diode is a two-terminal component in electronics with a unidirectional " +"flow of current. It offers low resistance in the direction of current " +"flow and offers high resistance in the opposite direction. Diodes are " +"mostly used to prevent damage to components, especially due to " +"electromotive force in circuits which are usually polarized." +msgstr "ダイオードは一方向に電流が流れる電子機器の2端子部品である。電流の流れる方向に低い抵抗を提供し、反対方向に高い抵抗を提供する。ダイオードは主に、通常は分極している回路の起電力による部品の損傷を防ぐために使用される。" + +#: ../1.3.4_relay.rst:33 +msgid "" +"The two terminals of a diode are polarized, with the positive end called " +"anode and the negative end called cathode. The cathode is usually made of" +" silver or has a color band. Controlling the direction of current flow is" +" one of the key features of diodes — the current in a diode flows from " +"anode to cathode. The behavior of a diode is similar to the behavior of a" +" check valve. One of the most important characteristics of a diode is the" +" non-linear current voltage. If higher voltage is connected to the anode," +" then current flows from anode to cathode, and the process is known as " +"forward bias. However, if the higher voltage is connected to the cathode," +" then the diode does not conduct electricity, and the process is called " +"reverse bias." +msgstr "ダイオードの2つの端子は極性があり、陽極と呼ばれる正の端と陰極と呼ばれる負の端がある。陰極は通常、銀でできているか、またあカラーバンドを持っている。電流の方向を制御することは、ダイオードの重要な機能の1つである。ダイオードの電流は陽極から陰極に流れる。ダイオードの動作は、逆止弁の動作に似ている。ダイオードの最も重要な特性の1つは、非線形電流電圧である。より高い電圧が陽極に接続されている場合、電流は陽極から陰極に流れ、プロセスは順方向バイアスと呼ばれる。ただし、より高い電圧が陰極に接続されている場合、ダイオードは電気を通さず、プロセスは逆方向バイアスと呼ばれる。" + +#: ../1.3.4_relay.rst:45 +msgid "**Relay**" +msgstr "**リレー**" + +#: ../1.3.4_relay.rst:47 +msgid "" +"As we may know, relay is a device which is used to provide connection " +"between two or more points or devices in response to the input signal " +"applied. In other words, relays provide isolation between the controller " +"and the device as devices may work on AC as well as on DC. However, they " +"receive signals from a microcontroller which works on DC hence requiring " +"a relay to bridge the gap. Relay is extremely useful when you need to " +"control a large amount of current or voltage with small electrical " +"signal." +msgstr "ご存知のように、リレーは、入力信号に応じて2つ以上のポイントまたはデバイス間の接続を提供するために使用されるデバイスである。つまり、デバイスはACとDCの両方で動作する可能性があるため、リレーはコントローラーとデバイスの間を分離する。しかしながら、DC上で動作するマイクロコントローラーから信号を受信するため、ギャップを埋めるためのリレーが必要である。小さな電気信号で大量の電流または電圧を制御する必要がある場合には、リレーは非常に有用である。" + +#: ../1.3.4_relay.rst:56 +msgid "There are 5 parts in every relay:" +msgstr "すべてのリレーには5つのパーツがある:" + +#: ../1.3.4_relay.rst:58 +msgid "" +"**Electromagnet** - It consists of an iron core wounded by coil of wires." +" When electricity is passed through, it becomes magnetic. Therefore, it " +"is called electromagnet." +msgstr "**電磁石** - ワイヤーのコイルで巻かれた鉄心で構成されている。通電させると、磁気になります。したがって、電磁石と呼ばれる。" + +#: ../1.3.4_relay.rst:62 +msgid "" +"**Armature** - The movable magnetic strip is known as armature. When " +"current flows through them, the coil is it energized thus producing a " +"magnetic field which is used to make or break the normally open (N/O) or " +"normally close (N/C) points. And the armature can be moved with direct " +"current (DC) as well as alternating current (AC)." +msgstr "" +"**電機子** - " +"可動磁気ストリップは電機子と呼ばれる。それらに電流が流れると、コイルが通電されて磁場が生成され、常開(N/O)または常閉(N/C)ポイントを作成したり切断したりするために使用される。また、電機子は直流(DC)と交流(AC)で移動できる。" + +#: ../1.3.4_relay.rst:68 +msgid "" +"**Spring** - When no currents flow through the coil on the electromagnet," +" the spring pulls the armature away so the circuit cannot be completed." +msgstr "**スプリング** - 電磁石のコイルに電流が流れない場合、スプリングは電機子を引き離し、回路を完成できない。" + +#: ../1.3.4_relay.rst:72 +msgid "Set of electrical **contacts** - There are two contact points:" +msgstr "電気 **接点** のセット-2つの接点がある:" + +#: ../1.3.4_relay.rst:74 +msgid "" +"Normally open - connected when the relay is activated, and disconnected " +"when it is inactive." +msgstr "通常開-リレーがアクティブなときに接続され、非アクティブなときに切断されます。" + +#: ../1.3.4_relay.rst:76 +msgid "" +"Normally close - not connected when the relay is activated, and connected" +" when it is inactive." +msgstr "常閉-リレーが作動している時に接続しなく、リ" + +#: ../1.3.4_relay.rst:78 +msgid "**Molded frame** - Relays are covered with plastic for protection." +msgstr "**成形フレーム** - 保護のため、リレーはプラスチックで覆われている。" + +#: ../1.3.4_relay.rst:80 +msgid "**Working of Relay**" +msgstr "**リレーの動作**" + +#: ../1.3.4_relay.rst:82 +msgid "" +"The working principle of relay is simple. When power is supplied to the " +"relay, currents start flowing through the control coil; as a result, the " +"electromagnet starts energizing. Then the armature is attracted to the " +"coil, pulling down the moving contact together thus connecting with the " +"normally open contacts. So the circuit with the load is energized. Then " +"breaking the circuit would a similar case, as the moving contact will be " +"pulled up to the normally closed contacts under the force of the spring. " +"In this way, the switching on and off of the relay can control the state " +"of a load circuit." +msgstr "リレーの動作原理は非常に簡単である。リレーに電力が供給されると、制御コイルに電流が流れ始める。その結果、電磁石が通電を開始する。次に、電機子がコイルに引き付けられ、可動接点が一緒に引き下げられ、常開接点に接続される。したがって、負荷がかけられた回路が通電される。次に、可動接点がスプリングの力で常閉接点に引き上げられるため、回路を遮断することも同様のケースになる。このようにして、リレーのオンとオフの切り替えにより、負荷回路の状態を制御できる。" + +#: ../1.3.4_relay.rst:96 +msgid "Schematic Diagram" +msgstr "回路図" + +#: ../1.3.4_relay.rst:102 +msgid "Experimental Procedures" +msgstr "実験手順" + +#: ../1.3.4_relay.rst:104 +msgid "**Step 1:** Build the circuit." +msgstr "**ステップ1:** 回路を作る。" + +#: ../1.3.4_relay.rst:112 +msgid "For C Language Users" +msgstr "C言語ユーザー向け" + +#: ../1.3.4_relay.rst:114 +msgid "**Step 2**: Open the code file." +msgstr "**ステップ2:** コードファイルを開く。" + +#: ../1.3.4_relay.rst:124 +msgid "**Step 3:** Compile the code." +msgstr "**ステップ3:** コードをコンパイルする。" + +#: ../1.3.4_relay.rst:135 +msgid "**Step 4:** Run the executable file." +msgstr "**ステップ4:** EXEファイルを実行する。" + +#: ../1.3.4_relay.rst:145 +msgid "" +"After the code runs, the LED will light up. In addition, you can hear a " +"ticktock caused by breaking normally close contact and closing normally " +"open contact." +msgstr "コードの実行後、LEDが点灯する。さらに、通常は閉じている接点を切断し、通常は開いている接点を閉じることによって発生するカチカチという声が聞こえる。" + +#: ../1.3.4_relay.rst:151 +msgid "" +"If it does not work after running, please refer to :ref:`C code is not " +"working?`" +msgstr "実行後に機能しない場合は、:ref:`C code is not working?` を参照してください。" + +#: ../1.3.4_relay.rst:153 ../1.3.4_relay.rst:229 +msgid "**Code**" +msgstr "**コード**" + +#: ../1.3.4_relay.rst:183 ../1.3.4_relay.rst:285 +msgid "**Code Explanation**" +msgstr "**コードの説明**" + +#: ../1.3.4_relay.rst:189 +msgid "" +"Set the I/O port as low level (0V), thus the transistor is not energized " +"and the coil is not powered. There is no electromagnetic force, so the " +"relay opens, LED does not turn on." +msgstr "I/Oポートを低レベル(0V)に設定すると、トランジスタに通電されず、コイルに電力が供給されない。電磁力がないため、リレーが開き、LEDは点灯しない。" + +#: ../1.3.4_relay.rst:197 +msgid "" +"set the I/O port as high level (5V) to energize the transistor. The coil " +"of the relay is powered and generate electromagnetic force, and the relay" +" closes, LED lights up." +msgstr "I/Oポートを高レベル(5V)に設定して、トランジスタに通電する。リレーのコイルに電力を供給し、電磁力が発生すると、リレーが閉じてLEDが点灯する。" + +#: ../1.3.4_relay.rst:202 +msgid "For Python Language Users" +msgstr "Pythonユーザーの場合:" + +#: ../1.3.4_relay.rst:204 +msgid "**Step 2:** Open the code file." +msgstr "**ステップ2:** コードファイルを開く。" + +#: ../1.3.4_relay.rst:215 +msgid "**Step 3:** Run." +msgstr "**ステップ3:** 実行する。" + +#: ../1.3.4_relay.rst:225 +msgid "" +"While the code is running, the LED lights up. In addition, you can hear a" +" ticktock caused by breaking normally close contact and closing normally " +"open contact." +msgstr "コードの実行中、LEDが点灯する。さらに、通常は閉じている接点を切断し、通常は開いている接点を閉じることによって発生するカチカチという声が聞こえる。" + +#: ../1.3.4_relay.rst:233 + +msgid "" +"You can **Modify/Reset/Copy/Run/Stop** the code below. But before that, " +"you need to go to source code path like ``davinci-kit-for-raspberry-" +"pi/python``." +msgstr "" +"以下のコードを **変更/リセット/コピー/実行/停止** できます。 ただし、その前に、 ``davinci-kit-for-raspberry-pi/python`` のようなソースコードパスに移動する必要があります。" + +#: ../1.3.4_relay.rst:291 +msgid "" +"Set the pins of transistor as low level to let the relay open, LED does " +"not turn on." +msgstr "トランジスタのピンを低レベルに設定して、リレーを開く。LEDは点灯しない。" + +#: ../1.3.4_relay.rst:297 +msgid "wait for 1 second." +msgstr "1秒待つ。" + +#: ../1.3.4_relay.rst:303 +msgid "" +"Set the pins of the transistor as low level to actuate the relay, LED " +"lights up." +msgstr "トランジスタのピンを低レベルに設定してリレーを作動させ、LEDが点灯する。" + +#: ../1.3.4_relay.rst:307 +msgid "Phenomenon Picture" +msgstr "現象画像" + +#~ msgid "" +#~ "If it does not work after running," +#~ " please refer to :ref:`C code is " +#~ "not working?`." +#~ msgstr "" + diff --git a/docs/source/locale/ja/LC_MESSAGES/1_output.po b/docs/source/locale/ja/LC_MESSAGES/1_output.po new file mode 100644 index 0000000..cf265d7 --- /dev/null +++ b/docs/source/locale/ja/LC_MESSAGES/1_output.po @@ -0,0 +1,35 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, SunFounder +# This file is distributed under the same license as the SunFounder Davinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Davinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-05-20 18:20+0800\n" +"PO-Revision-Date: 2021-05-27 19:27+0800\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" +"Last-Translator: \n" +"Language-Team: \n" +"X-Generator: Poedit 2.4.3\n" + +#: ../1_output.rst:2 +msgid "1 Output" +msgstr "1 出力" + +#: ../1_output.rst:4 +msgid "**1.1 Displays**" +msgstr "**1.1 ディスプレイ**" + +#: ../1_output.rst:17 +msgid "**1.2 Sound**" +msgstr "**1.2 音声**" + +#: ../1_output.rst:26 +msgid "**1.3 Drivers**" +msgstr "**1.3 ドライバー**" diff --git a/docs/source/locale/ja/LC_MESSAGES/2.1.1_button.po b/docs/source/locale/ja/LC_MESSAGES/2.1.1_button.po new file mode 100644 index 0000000..a38e8fb --- /dev/null +++ b/docs/source/locale/ja/LC_MESSAGES/2.1.1_button.po @@ -0,0 +1,224 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, SunFounder +# This file is distributed under the same license as the SunFounder Davinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Davinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-19 18:22+0800\n" +"PO-Revision-Date: 2021-05-27 19:42+0800\n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../2.1.1_button.rst:2 +msgid "2.1.1 Button" +msgstr "2.1.1 ボタン" + +#: ../2.1.1_button.rst:5 +msgid "Introduction" +msgstr "前書き" + +#: ../2.1.1_button.rst:7 +msgid "" +"In this lesson, we will learn how to turn on or off the LED by using a " +"button." +msgstr "このレッスンでは、LEDをボタンでオンまたはオフにする方法を学習する。" + +#: ../2.1.1_button.rst:11 +msgid "Components" +msgstr "部品" + +#: ../2.1.1_button.rst:17 +msgid "Principle" +msgstr "原理" + +#: ../2.1.1_button.rst:19 +msgid "**Button**" +msgstr "**ボタン**" + +#: ../2.1.1_button.rst:22 +msgid "" +"Button is a common component used to control electronic devices. It is " +"usually used as switch to connect or break circuits. Although buttons " +"come in a variety of sizes and shapes, the one used here is a 6mm mini-" +"button as shown in the following pictures." +msgstr "ボタンは電子デバイスを制御するために使用される一般的な部品である。通常、回路を接続または遮断するためのスイッチとして使用される。ボタンにはさまざまなサイズと形状があるが、ここで使用するものは、次の図に示すように6mmのミニボタンである。" + +#: ../2.1.1_button.rst:27 +msgid "" +"Two pins on the left are connected, and the one on the right is similar " +"to the left, which is shown below:" +msgstr "左側の2つのピンが接続されており、右側の方は左側と同じである。以下を参照してください:" + +#: ../2.1.1_button.rst:34 +msgid "" +"The symbol shown as below is usually used to represent a button in " +"circuits." +msgstr "以下に示す記号は、通常、回路内のボタンを表すために使用される。" + +#: ../2.1.1_button.rst:43 +msgid "" +"When the button is pressed, the 4 pins are connected, thus closing the " +"circuit." +msgstr "ボタンを押すと、4つのピンが接続され、回路が閉じる。" + +#: ../2.1.1_button.rst:47 +msgid "Schematic Diagram" +msgstr "回路図" + +#: ../2.1.1_button.rst:49 +msgid "" +"Use a normally open button as the input of Raspberry Pi, the connection " +"is shown in the schematic diagram below. When the button is pressed, the " +"GPIO18 will turn into low level (0V). We can detect the state of the " +"GPIO18 through programming. That is, if the GPIO18 turns into low level, " +"it means the button is pressed. You can run the corresponding code when " +"the button is pressed, and then the LED will light up." +msgstr "" +"Raspberry " +"Piの入力として常開ボタンを使用し、接続は下の概略図に示されている。ボタンを押すと、GPIO18は低レベル(0V)に変わる。プログラミングによってGPIO18の状態を検出できる。つまり、GPIO18が低レベルになった場合、ボタンが押されたことを意味する。ボタンが押されたときに対応するコードを実行すると、LEDが点灯する。" + +#: ../2.1.1_button.rst:57 +msgid "The longer pin of the LED is the anode and the shorter one is the cathode." +msgstr "LEDの長い方のピンがアノードで、短い方のピンがカソードです。" + +#: ../2.1.1_button.rst:71 +msgid "Experimental Procedures" +msgstr "実験手順" + +#: ../2.1.1_button.rst:73 +msgid "**Step 1**: Build the circuit." +msgstr "**ステップ1:** 回路を作る。" + +#: ../2.1.1_button.rst:81 +msgid "For C Language Users" +msgstr "C言語ユーザー向け" + +#: ../2.1.1_button.rst:83 ../2.1.1_button.rst:212 +msgid "**Step 2**: Open the code file." +msgstr "**ステップ2:** コードファイルを開く。" + +#: ../2.1.1_button.rst:94 +msgid "Change directory to the path of the code in this experiment via **cd**." +msgstr "**cd** を使用して、この実験のコードのパスにディレクトリを変更する。" + +#: ../2.1.1_button.rst:96 +msgid "**Step 3**: Compile the code." +msgstr "**ステップ3:** コードをコンパイルする。" + +#: ../2.1.1_button.rst:106 +msgid "**Step 4**: Run the executable file." +msgstr "**ステップ4:** EXEファイルを実行する。" + +#: ../2.1.1_button.rst:116 +msgid "" +"After the code runs, press the button, the LED lights up; otherwise, " +"turns off." +msgstr "コードの実行後、ボタンを押すと、LEDが点灯する。それ以外の場合は消灯する。" + +#: ../2.1.1_button.rst:122 +msgid "" +"If it does not work after running, please refer to :ref:`C code is not " +"working?`" +msgstr "実行後に機能しない場合は、:ref:`C code is not working?` を参照してください。" + +#: ../2.1.1_button.rst:124 ../2.1.1_button.rst:236 +msgid "**Code**" +msgstr "**コード**" + +#: ../2.1.1_button.rst:161 ../2.1.1_button.rst:302 +msgid "**Code Explanation**" +msgstr "**コードの説明**" + +#: ../2.1.1_button.rst:167 +msgid "Pin GPIO17 in the T_Extension Board is equal to the GPIO0 in the wiringPi." +msgstr "T_ExtensionボードのGPIO17ピンは、wiringPiのGPIO0と同じである。" + +#: ../2.1.1_button.rst:174 +msgid "ButtonPin is connected to GPIO1." +msgstr "ButtonPinはGPIO1に接続されている。" + +#: ../2.1.1_button.rst:180 +msgid "Set LedPin as output to assign value to it." +msgstr "LedPinを出力として設定し、値を割り当てる。" + +#: ../2.1.1_button.rst:186 +msgid "Set ButtonPin as input to read the value of ButtonPin." +msgstr "ButtonPinを入力として設定し、ButtonPinの値を読み取る。" + +#: ../2.1.1_button.rst:205 +msgid "" +"if (digitalRead (ButtonPin) == 0: check whether the button has been " +"pressed. Execute digitalWrite(LedPin, LOW) when button is pressed to " +"light up LED." +msgstr "" +"if(digitalRead(ButtonPin)== " +"0:ボタンが押されたかどうかを確認してください。ボタンを押してLEDを点灯させると、digitalWrite(LedPin、LOW)を実行してください。" + +#: ../2.1.1_button.rst:210 +msgid "For Python Language Users" +msgstr "Python言語ユーザー向け" + +#: ../2.1.1_button.rst:222 +msgid "**Step 3**: Run the code." +msgstr "**ステップ3:** コードを実行する。" + +#: ../2.1.1_button.rst:232 +msgid "" +"Now, press the button, and the LED will light up; press the button again," +" and the LED will go out. At the same time, the state of the LED will be " +"printed on the screen." +msgstr "それから、ボタンを押すと、LEDが点灯する。もう一度ボタンを押すと、LEDが消灯する。同時に、LEDの状態が画面にプリントされる。" + +#: ../2.1.1_button.rst:240 + +msgid "" +"You can **Modify/Reset/Copy/Run/Stop** the code below. But before that, " +"you need to go to source code path like ``davinci-kit-for-raspberry-" +"pi/python``." +msgstr "" +"以下のコードを **変更/リセット/コピー/実行/停止** できます。 ただし、その前に、 ``davinci-kit-for-raspberry-pi/python`` のようなソースコードパスに移動する必要があります。" + +#: ../2.1.1_button.rst:308 +msgid "Set GPIO17 as LED pin" +msgstr "GPIO17をLEDピンとして設定する" + +#: ../2.1.1_button.rst:314 +msgid "Set GPIO18 as button pin" +msgstr "GPIO18をボタンピンとして設定する" + +#: ../2.1.1_button.rst:320 +msgid "" +"Set up a falling detect on BtnPin, and then when the value of BtnPin " +"changes from a high level to a low level, it means that the button is " +"pressed. The next step is calling the function, swled." +msgstr "BtnPinで立ち下がり検出を設定してから、BtnPinの値が高レベルから低レベルに変わると、ボタンが押されたことを意味する。次のステップは、関数swledを呼び出す。" + +#: ../2.1.1_button.rst:332 +msgid "" +"Define a callback function as button callback. When the button is pressed" +" at the first time,and the condition, not Led_status is false, " +"GPIO.output() function is called to light up the LED. As the button is " +"pressed once again, the state of LED will be converted from false to " +"true, thus the LED will turn off." +msgstr "" +"ボタンコールバックとしてコールバック関数を定義する。ボタンが初めて押され、not " +"Led_status条件がfalseの場合、GPIO.output()関数を呼び出してLEDを点灯させる。ボタンをもう一度押すと、LEDの状態がfalseからtrueに変換され、LEDが消灯する。" + +#: ../2.1.1_button.rst:339 +msgid "Phenomenon Picture" +msgstr "現象画像" + +#~ msgid "" +#~ "If it does not work after running," +#~ " please refer to :ref:`C code is " +#~ "not working?`." +#~ msgstr "" + diff --git a/docs/source/locale/ja/LC_MESSAGES/2.1.2_slide Switch.po b/docs/source/locale/ja/LC_MESSAGES/2.1.2_slide Switch.po new file mode 100644 index 0000000..5b40cb1 --- /dev/null +++ b/docs/source/locale/ja/LC_MESSAGES/2.1.2_slide Switch.po @@ -0,0 +1,231 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, SunFounder +# This file is distributed under the same license as the SunFounder Davinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Davinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-19 18:22+0800\n" +"PO-Revision-Date: 2021-06-07 08:53+0800\n" +"Last-Translator: \n" +"Language: ja\n" +"Language-Team: \n" +"Plural-Forms: nplurals=1; plural=0\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../2.1.2_slide Switch.rst:2 +msgid "2.1.2 Slide Switch" +msgstr "2.1.2 スライドスイッチ" + +#: ../2.1.2_slide Switch.rst:5 +msgid "Introduction" +msgstr "前書き" + +#: ../2.1.2_slide Switch.rst:7 +msgid "" +"In this lesson, we will learn how to use a slide switch. Usually,the " +"slide switch is soldered on PCB as a power switch, but here we need to " +"insert it into the breadboard, thus it may not be tightened. And we use " +"it on the breadboard to show its function." +msgstr "このレッスンでは、スライドスイッチの使用方法を学習する。通常、スライドスイッチは電源スイッチとしてPCBにはんだ付けされるが、ここではブレッドボードに挿入する必要があるため、締め付けられない場合がある。そして、その機能を示すためにブレッドボードで使用する。" + +#: ../2.1.2_slide Switch.rst:13 +msgid "Components" +msgstr "部品" + +#: ../2.1.2_slide Switch.rst:19 +msgid "Principle" +msgstr "原理" + +#: ../2.1.2_slide Switch.rst:21 +msgid "**Slide Switch**" +msgstr "**スライドスイッチ**" + +#: ../2.1.2_slide Switch.rst:26 +msgid "" +"A slide switch, just as its name implies, is to slide the switch bar to " +"connect or break the circuit, and further switch circuits. The common-" +"used types are SPDT, SPTT, DPDT, DPTT etc. The slide switch is commonly " +"used in low-voltage circuit. It has the features of flexibility and " +"stability, and applies in electric instruments and electric toys widely." +msgstr "スライドスイッチは名前が示すように、スイッチバーをスライドさせて回路を接続または遮断し、さらに回路を切り替えるものである。汎用タイプは、SPDT、SPTT、DPDT、DPTTなどである。スライドスイッチは低電圧回路で一般的に使用されている。融通性と安定性の特徴を備えており、電気機器や電気玩具に広く適用されている。" + +#: ../2.1.2_slide Switch.rst:33 +msgid "" +"How it works: Set the middle pin as the fixed one. When you pull the " +"slide to the left, the two pins on the left are connected; when you pull " +"it to the right, the two pins on the right are connected. Thus, it works " +"as a switch connecting or disconnecting circuits. See the figure below:" +msgstr "仕組み:中央のピンを固定ピンとして設定する。スライドを左に引くと、左の2つのピンが接続され、右に引くと、右側の2つのピンが接続される。したがって、回路を接続または遮断するスイッチとして機能する。以下の図を参照してください:" + +#: ../2.1.2_slide Switch.rst:41 +msgid "" +"The circuit symbol of the slide switch is shown as below. The pin2 in the" +" figure refers to the middle pin." +msgstr "スライドスイッチの回路記号を以下に示す。図のピン2は中央のピンを指す。" + +#: ../2.1.2_slide Switch.rst:47 +msgid "**Capacitor**" +msgstr "**コンデンサ**" + +#: ../2.1.2_slide Switch.rst:49 +msgid "" +"The capacitor is a component that has the capacity to store energy in the" +" form of electrical charge or to produce a potential difference (Static " +"Voltage) between its plates, much like a small rechargeable battery." +msgstr "コンデンサーは、小さな充電式バッテリーのように、エネルギーを電荷の形で蓄えたり、プレート間に電位差(静的電圧)を生成する能力を持つ部品である。" + +#: ../2.1.2_slide Switch.rst:54 +msgid "Standard Units of Capacitance" +msgstr "静電容量の標準単位" + +#: ../2.1.2_slide Switch.rst:56 +msgid "Microfarad (μF) 1μF = 1/1,000,000 = 0.000001 = :math:`10^{- 6}` F" +msgstr "Microfarad (μF) 1μF = 1/1,000,000 = 0.000001 = :math:`10^{- 6}` F" + +#: ../2.1.2_slide Switch.rst:58 +msgid "Nanofarad (nF) 1nF = 1/1,000,000,000 = 0.000000001 = :math:`10^{- 9}`\\ F" +msgstr "Nanofarad (nF) 1nF = 1/1,000,000,000 = 0.000000001 = :math:`10^{- 9}`\\ F" + +#: ../2.1.2_slide Switch.rst:60 +msgid "" +"Picofarad (pF) 1pF = 1/1,000,000,000,000 = 0.000000000001 = :math:`10^{- " +"12}`\\ F" +msgstr "" +"Picofarad (pF) 1pF = 1/1,000,000,000,000 = 0.000000000001 = :math:`10^{- " +"12}`\\ F" + +#: ../2.1.2_slide Switch.rst:64 +msgid "" +"Here we use **104 capacitor(10 x 10\\ 4\\ PF)**. Just like the ring of " +"resistors, the numbers on the capacitors help to read the values once " +"assembled onto the board. The first two digits represent the value and " +"the last digit of the number means the multiplier. Thus 104 represents a " +"power of 10 x 10 to 4 (in pF) equal to 100 nF." +msgstr "" +"ここでは、**104コンデンサ(10x104PF)** " +"を使用する。抵抗器のリングのように、コンデンサの数字は、ボードに組み立てられた後に値を読み取ることに役立つ。最初の2桁は値を表し、数字の最後の桁は乗数を指す。したがって、104は100" +" nFに等しい10 x 10〜4(pF単位)の累乗を表す。" + +#: ../2.1.2_slide Switch.rst:71 +msgid "Schematic Diagram" +msgstr "回路図" + +#: ../2.1.2_slide Switch.rst:73 +msgid "" +"Connect the middle pin of the Slide Switch to GPIO17, and two LEDs to pin" +" GPIO22 and GPIO27 respectively. Then when you pull the slide, you can " +"see the two LEDs light up alternately." +msgstr "スライドスイッチの中央のピンをGPIO17に接続し、2つのLEDをそれぞれGPIO22とGPIO27に接続する。次に、スライドを引くと、2つのLEDが交互に点灯する。" + +#: ../2.1.2_slide Switch.rst:84 +msgid "Experimental Procedures" +msgstr "実験手順" + +#: ../2.1.2_slide Switch.rst:86 +msgid "**Step 1:** Build the circuit." +msgstr "**ステップ1:** 回路を作る。" + +#: ../2.1.2_slide Switch.rst:94 +msgid "For C Language Users" +msgstr "C言語ユーザー向け" + +#: ../2.1.2_slide Switch.rst:96 +msgid "**Step 2**: Go to the folder of the code." +msgstr "**ステップ2:** コードのフォルダーに入る。" + +#: ../2.1.2_slide Switch.rst:106 +msgid "**Step 3**: Compile." +msgstr "**ステップ3:** コンパイルする。" + +#: ../2.1.2_slide Switch.rst:116 +msgid "**Step 4**: Run the executable file above." +msgstr "**ステップ4:** EXEファイルを実行する。" + +#: ../2.1.2_slide Switch.rst:126 Switch.rst:222 +msgid "" +"While the code is running, get the switch connected to the left, then the" +" yellow LED lights up; to the right, the red light turns on." +msgstr "コードの実行中に、スイッチを左側に接続すると、黄色のLEDが点灯する。右側に接続すると、赤いライトが点灯する。" + +#: ../2.1.2_slide Switch.rst:131 +msgid "" +"If it does not work after running, please refer to :ref:`C code is not " +"working?`" +msgstr "実行後に機能しない場合は、:ref:`C code is not working?` を参照してください。" + +#: ../2.1.2_slide Switch.rst:133 Switch.rst:225 +msgid "**Code**" +msgstr "**コード**" + +#: ../2.1.2_slide Switch.rst:172 Switch.rst:291 +msgid "**Code Explanation**" +msgstr "**コードの説明**" + +#: ../2.1.2_slide Switch.rst:183 +msgid "" +"When the slide is pulled to the right, the middle pin and right one are " +"connected; the Raspberry Pi reads a high level at the middle pin, so the " +"LED1 is on and LED2 off" +msgstr "" +"スライドを右に引くと、中央のピンと右のピンが接続される。 Raspberry " +"Piは中央のピンで高レベルを読み取るため、LED1は点灯し、LED2は消灯する" + +#: ../2.1.2_slide Switch.rst:195 +msgid "" +"When the slide is pulled to the left, the middle pin and left one are " +"connected; the Raspberry Pi reads a low, so the LED2 is on and LED1 off" +msgstr "スライドを左に引くと、中央のピンと左のピンが接続されます。Raspberry Piが低レベルを読み取るため、LED2が点灯し、LED1が消灯する" + +#: ../2.1.2_slide Switch.rst:200 +msgid "For Python Language Users" +msgstr "ØPython言語ユーザー向け" + +#: ../2.1.2_slide Switch.rst:202 +msgid "**Step 2**: Get into the folder of the code." +msgstr "**ステップ2:** コードのフォルダーに入る。" + +#: ../2.1.2_slide Switch.rst:212 +msgid "**Step 3**: Run." +msgstr "**ステップ3:** 実行する。" + +#: ../2.1.2_slide Switch.rst:229 + +msgid "" +"You can **Modify/Reset/Copy/Run/Stop** the code below. But before that, " +"you need to go to source code path like ``davinci-kit-for-raspberry-" +"pi/python``." +msgstr "" +"以下のコードを **変更/リセット/コピー/実行/停止** できます。 ただし、その前に、 ``davinci-kit-for-raspberry-pi/python`` のようなソースコードパスに移動する必要があります。" + +#: ../2.1.2_slide Switch.rst:299 +msgid "" +"When the slide is pulled to the right, the middle pin and right one are " +"connected; the Raspberry Pi reads a high level at the middle pin, so the " +"LED1 is on and LED2 off." +msgstr "" +"スライドを右に引くと、中央のピンと右のピンが接続される。 Raspberry " +"Piは中央のピンで高レベルを読み取るため、LED1は点灯し、LED2は消灯する。" + +#: ../2.1.2_slide Switch.rst:309 +msgid "" +"When the slide is pulled to the left, the middle pin and left one are " +"connected; the Raspberry Pi reads a low, so the LED2 is on and LED1 off." +msgstr "スライドを左に引くと、中央のピンと左のピンが接続されます。Raspberry Piが低レベルを読み取るため、LED2が点灯し、LED1が消灯する。" + +#: ../2.1.2_slide Switch.rst:313 +msgid "Phenomenon Picture" +msgstr "現象画像" + +#~ msgid "" +#~ "If it does not work after running," +#~ " please refer to :ref:`C code is " +#~ "not working?`." +#~ msgstr "" + diff --git a/docs/source/locale/ja/LC_MESSAGES/2.1.3_tilt_switch.po b/docs/source/locale/ja/LC_MESSAGES/2.1.3_tilt_switch.po new file mode 100644 index 0000000..601a08f --- /dev/null +++ b/docs/source/locale/ja/LC_MESSAGES/2.1.3_tilt_switch.po @@ -0,0 +1,175 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, SunFounder +# This file is distributed under the same license as the SunFounder Davinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Davinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-19 18:22+0800\n" +"PO-Revision-Date: 2021-05-27 21:00+0800\n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../2.1.3_tilt_switch.rst:2 +msgid "2.1.3 Tilt Switch" +msgstr "2.1.3 チルトスイッチ" + +#: ../2.1.3_tilt_switch.rst:5 +msgid "Introduction" +msgstr "前書き" + +#: ../2.1.3_tilt_switch.rst:7 +msgid "" +"This is a ball tilt-switch with a metal ball inside. It is used to detect" +" inclinations of a small angle." +msgstr "これは、内部に金属製のボールがあるボールチルトスイッチである。小さな角度の傾きを検出するために使用される。" + +#: ../2.1.3_tilt_switch.rst:11 +msgid "Components" +msgstr "部品" + +#: ../2.1.3_tilt_switch.rst:17 +msgid "Principle" +msgstr "原理" + +#: ../2.1.3_tilt_switch.rst:19 +msgid "**Tilt**" +msgstr "**チルト**" + +#: ../2.1.3_tilt_switch.rst:21 +msgid "" +"The principle is very simple. When the switch is tilted in a certain " +"angle, the ball inside rolls down and touches the two contacts connected " +"to the pins outside, thus triggering circuits. Otherwise the ball will " +"stay away from the contacts, thus breaking the circuits." +msgstr "原理は非常に簡単である。スイッチが特定の角度に傾けられると、内側のボールが転がり落ち、外側のピンに接続された2つの接点に触れて、回路をトリガーする。そうしないと、ボールが接点から遠ざかり、回路が遮断される。" + +#: ../2.1.3_tilt_switch.rst:30 +msgid "Schematic Diagram" +msgstr "回路図" + +#: ../2.1.3_tilt_switch.rst:39 +msgid "Experimental Procedures" +msgstr "実験手順" + +#: ../2.1.3_tilt_switch.rst:41 +msgid "**Step 1:** Build the circuit." +msgstr "**ステップ1:** 回路を作る。" + +#: ../2.1.3_tilt_switch.rst:49 +msgid "For C Language Users" +msgstr "C言語ユーザー向け" + +#: ../2.1.3_tilt_switch.rst:51 ../2.1.3_tilt_switch.rst:199 +msgid "**Step 2:** Change directory." +msgstr "**ステップ2:** ディレクトリを変更する。" + +#: ../2.1.3_tilt_switch.rst:61 +msgid "**Step 3:** Compile." +msgstr "**ステップ3:** コンパイルする。" + +#: ../2.1.3_tilt_switch.rst:71 +msgid "**Step 4:** Run." +msgstr "**ステップ4:** 実行する。" + +#: ../2.1.3_tilt_switch.rst:81 + +msgid "" +"Place the tilt horizontally, and the green LED will turns on. If you tilt" +" it, \\\"Tilt!\\\" will be printed on the screen and the red LED will " +"lights on. Place it horizontally again, and the green LED will turns on " +"again." +msgstr "水平に置くと、緑色のLEDが点灯する。傾けると、「Tilt!」画面にプリントされ、赤いLEDが点灯する。再び水平に置くと、緑色のLEDが再び点灯する。" + +#: ../2.1.3_tilt_switch.rst:88 +msgid "" +"If it does not work after running, please refer to :ref:`C code is not " +"working?`" +msgstr "実行後に機能しない場合は、:ref:`C code is not working?` を参照してください。" + +#: ../2.1.3_tilt_switch.rst:90 ../2.1.3_tilt_switch.rst:223 +msgid "**Code**" +msgstr "**コード**" + +#: ../2.1.3_tilt_switch.rst:148 ../2.1.3_tilt_switch.rst:359 +msgid "**Code Explanation**" +msgstr "**コードの説明**" + +#: ../2.1.3_tilt_switch.rst:170 +msgid "" +"Define a function LED() to turn the two LEDs on or off. If the parameter " +"color is RED, the red LED lights up; similarly, if the parameter color is" +" GREEN, the green LED will turns on." +msgstr "関数LED()を定義して、2つのLEDをオン・オフにする。パラメータの色が赤の場合、赤のLEDが点灯する。同様に、パラメータの色が緑の場合、緑のLEDが点灯する。" + +#: ../2.1.3_tilt_switch.rst:192 + +msgid "" +"If the read value of tilt switch is 0, it means that the tilt switch is " +"tilted then you write the parameter \\\"RED\\\" into function LED to get " +"the red LED lighten up; otherwise, the green LED will lit." +msgstr "傾斜スイッチの読み取り値が0の場合、傾斜スイッチが傾斜していることを意味し、関数LEDにパラメーター「RED」を書き込んで赤色LEDを点灯させる。そうしない場合、緑色のLEDが点灯する。" + +#: ../2.1.3_tilt_switch.rst:197 +msgid "For Python Language Users" +msgstr "Python言語ユーザー向け" + +#: ../2.1.3_tilt_switch.rst:209 +msgid "**Step 3:** Run." +msgstr "**ステップ3:** 実行する。" + +#: ../2.1.3_tilt_switch.rst:219 + +msgid "" +"Place the tilt horizontally, and the green LED will turns on. If you tilt" +" it, \\\"Tilt!\\\" will be printed on the screen and the red LED will " +"turns on. Place it horizontally again, and the green LED will lights on." +msgstr "水平に置くと、緑色のLEDが点灯する。傾けると、「Tilt!」画面にプリントされ、赤いLEDが点灯する。再び水平に置くと、緑色のLEDが再び点灯する。" + +#: ../2.1.3_tilt_switch.rst:227 + +msgid "" +"You can **Modify/Reset/Copy/Run/Stop** the code below. But before that, " +"you need to go to source code path like ``davinci-kit-for-raspberry-" +"pi/python``." +msgstr "" +"以下のコードを **変更/リセット/コピー/実行/停止** できます。 ただし、その前に、 ``davinci-kit-for-raspberry-pi/python`` のようなソースコードパスに移動する必要があります。" + +#: ../2.1.3_tilt_switch.rst:365 +msgid "Set up a detect on TiltPin, and callback function to detect." +msgstr "TiltPinで検出を設定し、検出する関数をコールバックする。" + +#: ../2.1.3_tilt_switch.rst:377 +msgid "" +"Define a function Led() to turn the two LEDs on or off. If x=0, the red " +"LED lights up; otherwise, the green LED will be lit." +msgstr "関数Led()を定義して、2つのLEDをオンまたはオフにする。x=0の場合、赤いLEDが点灯する。そうしないと、緑色のLEDが点灯する。" + +#: ../2.1.3_tilt_switch.rst:388 +msgid "Create a function, Print() to print the characters above on the screen." +msgstr "関数Print()を作成して、画面上の上記の文字をプリントする。" + +#: ../2.1.3_tilt_switch.rst:396 +msgid "" +"Define a callback function for tilt callback. Get the read value of the " +"tilt switch then the function Led() controls the turning on or off of the" +" two LEDs that is depended on the read value of the tilt switch." +msgstr "傾斜コールバックのコールバック関数を定義する。傾斜スイッチの読み取り値を取得してから、関数Led()が傾斜スイッチの読み取り値に依存する2つのLEDを点灯・消灯させる。" + +#: ../2.1.3_tilt_switch.rst:401 +msgid "Phenomenon Picture" +msgstr "現象画像" + +#~ msgid "" +#~ "If it does not work after running," +#~ " please refer to :ref:`C code is " +#~ "not working?`." +#~ msgstr "" + diff --git a/docs/source/locale/ja/LC_MESSAGES/2.1.4_potentiometer.po b/docs/source/locale/ja/LC_MESSAGES/2.1.4_potentiometer.po new file mode 100644 index 0000000..e5c6e21 --- /dev/null +++ b/docs/source/locale/ja/LC_MESSAGES/2.1.4_potentiometer.po @@ -0,0 +1,372 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, SunFounder +# This file is distributed under the same license as the SunFounder Davinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Davinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-19 18:22+0800\n" +"PO-Revision-Date: 2021-05-28 07:22+0800\n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../2.1.4_potentiometer.rst:2 +msgid "2.1.4 Potentiometer" +msgstr "2.1.4 ポテンショメータ" + +#: ../2.1.4_potentiometer.rst:5 +msgid "Introduction" +msgstr "前書き" + +#: ../2.1.4_potentiometer.rst:7 +msgid "" +"The ADC function can be used to convert analog signals to digital " +"signals, and in this experiment, ADC0834 is used to get the function " +"involving ADC. Here, we implement this process by using potentiometer. " +"Potentiometer changes the physical quantity -- voltage, which is " +"converted by the ADC function." +msgstr "ADC機能を使用してアナログ信号をデジタル信号に変換でき、この実験では、ADC0834を使用してADCに関する関数を取得する。ここでは、ポテンショメータを使用してこのプロセスを実装する。ポテンショメーターはADC機能によって変換される物理量-電圧を変更する。" + +#: ../2.1.4_potentiometer.rst:14 +msgid "Components" +msgstr "部品" + +#: ../2.1.4_potentiometer.rst:20 +msgid "Principle" +msgstr "原理" + +#: ../2.1.4_potentiometer.rst:22 +msgid "**ADC0834**" +msgstr "**ADC0834**" + +#: ../2.1.4_potentiometer.rst:24 +msgid "" +"ADC0834 is an 8-bit `successive approximation " +"`__ analog-to-digital converter that" +" is equipped with an input-configurable multichannel multi-plexer and " +"serial input/output. The serial input/output is configured to interface " +"with standard shift registers or microprocessors." +msgstr "" +"ADC0834は、8ビットの `successive approximation " +"`__ " +"本製品は、入力設定可能なマルチチャンネル・マルチプレクサとシリアル入出力を備えたアナログ・デジタル・コンバータです。シリアル入出力は、標準的なシフトレジスターやマイクロプロセッサーとのインターフェースとして構成されています。" + +#: ../2.1.4_potentiometer.rst:34 +msgid "**Sequence of Operation**" +msgstr "**操作の順序**" + +#: ../2.1.4_potentiometer.rst:36 +msgid "" +"A conversion is initiated by setting CS low, which enables all logic " +"circuits. CS must be held low for the complete conversion process. A " +"clock input is then received from the processor. On each low-to-high " +"transition of the clock input, the data on DI is clocked into the " +"multiplexer address shift register. The first logic high on the input is " +"the start bit. A 3- to 4-bit assignment word follows the start bit. On " +"each successive low-to-high transition of the clock input, the start bit " +"and assignment word are shifted through the shift register. When the " +"start bit is shifted into the start location of the multiplexer register," +" the input channel is selected and conversion starts. The SAR Statu " +"output (SARS) goes high to indicate that a conversion is in progress, and" +" DI to the multiplexer shift register is disabled the duration of the " +"conversion." +msgstr "" +"変換はCSをlowに設定することで開始され、論理回路がすべて有効になる。変換プロセスを完了するには、CSをlowに保持する必要がある。次に、プロセッサからクロック入力を受信する。クロック入力のLowからHighへの遷移ごとに、DI上のデータがマルチプレクサーアドレスシフトレジスタに入力される。入力の最初のロジックhighはスタートビットである。スタートビットの後に、3〜4ビットの割り当てワードが続く。クロック入力のLowからHighへの遷移ごとに、スタートビットと割り当てワードがシフトレジスターにシフトする。スタートビットがマルチプレクサレジスタの開始位置にシフトされると、入力チャネルが選択され、変換が開始される。SAR" +" Statu出力(SARS)は、変換が進行中であることを示すために高レベルになり、マルチプレクサーシフトレジスタへのDIは変換中は無効になる。" + +#: ../2.1.4_potentiometer.rst:50 +msgid "" +"An interval of one clock period is automatically inserted to allow the " +"selected multiplexed channel to settle. The data output DO comes out of " +"the high-impedance state and provides a leading low for this one clock " +"period of multiplexer settling time. The SAR comparator compares " +"successive outputs from the resistive ladder with the incoming analog " +"signal. The comparator output indicates whether the analog input is " +"greater than or less than the resistive ladder output. As the conversion " +"proceeds, conversion data is simultaneously output from the DO output " +"pin, with the most significant bit (MSB) first." +msgstr "1クロック周期の間隔が自動的に挿入されて、選択されたマルチプレックスチャネルの安定化を実現する。データ出力DOは高インピーダンス状態から出て、マルチプレクサの整定時間のこの1クロック期間に先行するLowを提供する。SARコンパレータは、抵抗ラダーからの連続出力を入力アナログ信号と比較する。コンパレータ出力は、アナログ入力が抵抗ラダー出力より大きいか小さいかを示す。変換が進むと、変換データがDO出力ピンから同時に出力され、最上位ビット(MSB)が最初になる。" + +#: ../2.1.4_potentiometer.rst:60 +msgid "" +"After eight clock periods, the conversion is complete and the SARS output" +" goes low. Finally outputs the least-significant-bit-first data after the" +" MSB-first data stream." +msgstr "8クロック周期後、変換が完了し、SARS出力がLOWになる。最後に、MSBファーストデータストリームの後に最下位ビットファーストデータを出力する。" + +#: ../2.1.4_potentiometer.rst:69 +msgid "**ADC0834 MUX ADDRESS CONTROL LOGIC TABLE**" +msgstr "**ADC0834 MUXアドレス制御論理表**" + +#: ../2.1.4_potentiometer.rst:76 +msgid "**Potentiometer**" +msgstr "**ポテンショメータ**" + +#: ../2.1.4_potentiometer.rst:79 +msgid "" +"Potentiometer is also a resistance component with 3 terminals and its " +"resistance value can be adjusted according to some regular variation. " +"Potentiometer usually consists of resistor and movable brush. When the " +"brush is moving along the resistor, there is a certain resistance or " +"voltage output depending on the displacement." +msgstr "ポテンショメーターも3つの端子を持つ抵抗部品であり、その抵抗値は定期的な変動に応じて調整できる。ポテンショメータは通常、抵抗器と可動ブラシで構成されている。ブラシが抵抗に沿って移動しているとき、変位に応じて特定の抵抗または電圧出力が生成される。" + +#: ../2.1.4_potentiometer.rst:90 +msgid "The functions of the potentiometer in the circuit are as follows:" +msgstr "回路内のポテンショメータの機能は次のとおりである:" + +#: ../2.1.4_potentiometer.rst:92 +msgid "Serving as a voltage divider" +msgstr "分圧器として機能する" + +#: ../2.1.4_potentiometer.rst:94 +msgid "" +"Potentiometer is a continuously adjustable resistor. When you adjust the " +"shaft or sliding handle of the potentiometer, the movable contact will " +"slide on the resistor. At this point, a voltage can be output depending " +"on the voltage applied onto the potentiometer and the angle the movable " +"arm has rotated to or the distance it moves." +msgstr "ポテンショメータは連続的に調整可能な抵抗器である。ポテンショメータのシャフトまたはスライドハンドルを調整すると、可動接点が抵抗器上でスライドする。この時点で、ポテンショメータに印加される電圧と、可動アームが回転した角度または移動距離に応じて、電圧を出力できる。" + +#: ../2.1.4_potentiometer.rst:101 +msgid "Schematic Diagram" +msgstr "回路図" + +#: ../2.1.4_potentiometer.rst:110 +msgid "Experimental Procedures" +msgstr "実験手順" + +#: ../2.1.4_potentiometer.rst:112 +msgid "**Step 1:** Build the circuit." +msgstr "**ステップ1:** 回路を作る。" + +#: ../2.1.4_potentiometer.rst:120 +msgid "" +"Please place the chip by referring to the corresponding position depicted" +" in the picture. Note that the grooves on the chip should be on the left " +"when it is placed." +msgstr "写真に示されている対応する位置を参照して、チップを配置してください。配置するときにチップの溝は左側にあることに注意してください。" + +#: ../2.1.4_potentiometer.rst:125 +msgid "For C Language Users" +msgstr "C言語ユーザー向け" + +#: ../2.1.4_potentiometer.rst:127 +msgid "**Step 2:** Open the code file." +msgstr "**ステップ2:** コードファイルを開く。" + +#: ../2.1.4_potentiometer.rst:137 +msgid "**Step 3:** Compile the code." +msgstr "**ステップ3:** コードをコンパイルする。" + +#: ../2.1.4_potentiometer.rst:147 +msgid "**Step 4:** Run." +msgstr "**ステップ4:** 実行する。" + +#: ../2.1.4_potentiometer.rst:157 ../2.1.4_potentiometer.rst:473 +msgid "" +"After the code runs, rotate the knob on the potentiometer, the intensity " +"of LED will change accordingly." +msgstr "コードの実行後、ポテンショメーターのノブを回すと、それに応じてLEDの輝度が変化する。" + +#: ../2.1.4_potentiometer.rst:162 +msgid "" +"If it does not work after running, please refer to :ref:`C code is not " +"working?`" +msgstr "実行後に機能しない場合は、:ref:`C code is not working?` を参照してください。" + +#: ../2.1.4_potentiometer.rst:164 ../2.1.4_potentiometer.rst:476 +msgid "**Code**" +msgstr "**コード**" + +#: ../2.1.4_potentiometer.rst:252 ../2.1.4_potentiometer.rst:524 +msgid "**Code Explanation**" +msgstr "**コードの説明**" + +#: ../2.1.4_potentiometer.rst:261 +msgid "" +"Define CS, CLK, DIO of ADC0834, and connect them to GPIO0, GPIO1 and " +"GPIO2 respectively. Then attach LED to GPIO3." +msgstr "ADC0834のCS、CLK、DIOを定義し、それぞれGPIO0、GPIO1、GPIO2に接続する。それから、GPIO3にLEDを取り付ける。" + +#: ../2.1.4_potentiometer.rst:316 +msgid "" +"There is a function of ADC0834 to get Analog to Digital Conversion. The " +"specific workflow is as follows:" +msgstr "ADC0834 には、   アナログからデジタルへの変換を行う機能がある。特定の ワークフローは次のとおりです:" + +#: ../2.1.4_potentiometer.rst:323 +msgid "Set CS to low level and start enabling AD conversion." +msgstr "CSを低レベルに設定し、AD変換の有効化を開始する。" + +#: ../2.1.4_potentiometer.rst:332 +msgid "" +"When the low-to-high transition of the clock input occurs at the first " +"time, set DIO to 1 as Start bit. In the following three steps, there are " +"3 assignment words." +msgstr "" +"クロック入力の lowからhighへの遷移が最初に発生したとき、 スタートビットとしてDIOを 1に設定する。次の三つのステップには " +"、割り当て単語が3つある 。" + +#: ../2.1.4_potentiometer.rst:343 +msgid "" +"As soon as the low-to-high transition of the clock input occurs for the " +"second time, set DIO to 1 and choose SGL mode." +msgstr "クロック入力のlowからhighへの遷移が二回発生したらすぐに、DIOを1に設定し、SGLモードを選択する。" + +#: ../2.1.4_potentiometer.rst:353 +msgid "" +"Once occurs for the third time, the value of DIO is controlled by the " +"variable **odd**." +msgstr "三回目に発生すると、DIOの値は変数 **odd** によって制御される。" + +#: ../2.1.4_potentiometer.rst:363 +msgid "" +"The pulse of CLK converted from low level to high level for the forth " +"time, the value of DIO is controlled by the variable **sel**." +msgstr "CLKのパルスが4番目に低レベルから高レベルに変換されると、DIOの値は変数 **sel** によって制御される。" + +#: ../2.1.4_potentiometer.rst:366 +msgid "" +"Under the condition that channel=0, sel=0, odd=0, the operational " +"formulas concerning **sel** and **odd** are as follows:" +msgstr "channel = 0、sel = 0、odd = 0の条件下では、 **sel** および **odd** に関する演算式は次のとおりである:" + +#: ../2.1.4_potentiometer.rst:374 +msgid "" +"When the condition that channel=1, sel=0, odd=1 is met, please refer to " +"the following address control logic table. Here CH1 is chosen, and the " +"start bit is shifted into the start location of the multiplexer register " +"and conversion starts." +msgstr "" +"channel = 1、sel = 0、odd = " +"1という条件が満たされている場合、次のアドレス制御ロジックテーブルを参照してください。ここで、CH1が選択され、開始ビットがマルチプレクサレジスタの開始位置にシフトされ、変換が開始される。" + +#: ../2.1.4_potentiometer.rst:388 +msgid "Here, set DIO to 1 twice, please ignore it." +msgstr "ここでは、DIOを1に二回設定し、それを無視してください。" + +#: ../2.1.4_potentiometer.rst:401 +msgid "" +"In the first for() statement, as soon as the fifth pulse of CLK is " +"converted from high level to low level, set DIO to input mode. Then the " +"conversion starts and the converted value is stored in the variable dat1." +" After eight clock periods, the conversion is complete." +msgstr "" +"最初のfor() " +"statementで、CLKの五番目のパルスがHighレベルから低レベルに変換したらすぐに、DIOを入力モードに設定してください。それから、変換が開始され、変換された値が変数dat1に保存される。8クロック周期後、変換が完了する。" + +#: ../2.1.4_potentiometer.rst:415 +msgid "" +"In the second for() statement, output the converted values via DO after " +"other eight clock periods and store them in the variable dat2." +msgstr "2番目最初のfor()statementdでは、他の最初の8つの後にDOを介して値を変換を出力し、変数dat2に保存する。" + +#: ../2.1.4_potentiometer.rst:424 +msgid "" +"return(dat1==dat2) ? dat1 : 0 is used to compare the value gotten during " +"the conversion and the output value. If they are equal to each other, " +"output the converting value dat1; otherwise, output 0. Here, the workflow" +" of ADC0834 is complete." +msgstr "" +"return(dat1 == dat2)? " +"dat1:0は、変換中に得られた値と出力値を比較するために使用される。それらが互いに等しい場合、変換値dat1を出力する。それ以外の場合は、0を出力する。これで、ADC0834の処理が完了した。" + +#: ../2.1.4_potentiometer.rst:433 +msgid "" +"The function is to use software to create a PWM pin, LedPin, then the " +"initial pulse width is set to 0, and the period of PWM is 100 x 100us." +msgstr "" +"この機能はソフトウェアを使用してPWMピンLedPinを作成し、初期パルス幅を0に設定し、PWMの周期を100 x " +"100usにするために使用される。" + +#: ../2.1.4_potentiometer.rst:445 +msgid "" +"In the main program, read the value of channel 0 that has been connected " +"with a potentiometer. And store the value in the variable analogVal then " +"write it in LedPin. Now you can see the brightness of LED changing with " +"the value of the potentiometer." +msgstr "" +"メイ プログラムで、 ポテンショメーターに最初接続されているチャンネル0 0 の値 を 読み取る " +"。そして、最初値を最初変数analogValに保存してから LedPinに書き込む。 " +"これで、ポテンショメータの値によってLEDの輝度が変化することを見ることができる。" + +#: ../2.1.4_potentiometer.rst:451 +msgid "For Python Users" +msgstr "Pythonユーザー向け" + +#: ../2.1.4_potentiometer.rst:453 +msgid "**Step 2:** Open the code file" +msgstr "**ステップ2:** コードファイルを開く" + +#: ../2.1.4_potentiometer.rst:463 +msgid "**Step 3:** Run." +msgstr "**ステップ3:** 実行する。" + +#: ../2.1.4_potentiometer.rst:480 + +msgid "" +"You can **Modify/Reset/Copy/Run/Stop** the code below. But before that, " +"you need to go to source code path like ``davinci-kit-for-raspberry-" +"pi/python``." +msgstr "" +"以下のコードを **変更/リセット/コピー/実行/停止** できます。 ただし、その前に、 ``davinci-kit-for-raspberry-pi/python`` のようなソースコードパスに移動する必要があります。" + +#: ../2.1.4_potentiometer.rst:530 +msgid "" +"import ADC0834 library. You can check the content of the library by " +"calling the command nano ADC0834.py." +msgstr "ADC0834ライブラリをインポートする。コマンドnano ADC0834.pyを呼び出して、ライブラリの内容を確認できる。" + +#: ../2.1.4_potentiometer.rst:548 +msgid "" +"In setup(), define the naming method as BCM, set LedPin as PWM channel " +"and render it a frequency of 2Khz." +msgstr "setup()で、命名方法をBCMとして定義し、LedPinをPWMチャネルとして設定し、2Khzの周波数にレンダリングする。" + +#: ../2.1.4_potentiometer.rst:551 +msgid "" +"**ADC0834.setup():** Initialize ADC0834, and connect the defined CS, CLK," +" DIO of ADC0834 to GPIO17, GPIO18 and GPIO27 respectively." +msgstr "" +"**ADC0834.setup():** " +"ADC0834を初期化し、ADC0834の定義されたCS、CLK、DIOをそれぞれGPIO17、GPIO18、GPIO27に接続する。" + +#: ../2.1.4_potentiometer.rst:564 +msgid "" +"The function getResult() is used to read the analog values of the four " +"channels of ADC0834. By default, the function reads the value of CH0, and" +" if you want to read other channels, please input the channel number in " +"**( )**, ex. getResult(1)." +msgstr "" +"関数getResult()はADC0834の4つのチャンネルのアナログ値を読み取るために使用される。デフォルトでは、関数はCH0の値を読み取り、他のチャネルを読み取りたい場合は、(" +" ) にチャネル番号を入力してください(例えばex. getResult(1))。" + +#: ../2.1.4_potentiometer.rst:569 +msgid "" +"The function loop() first reads the value of CH0, then assign the value " +"to the variable res. After that, call the function MAP to map the read " +"value of potentiometer to 0~100. This step is used to control the duty " +"cycle of LedPin. Now, you may see that the brightness of LED is changing " +"with the value of potentiometer." +msgstr "関数loop()は最初にCH0の値を読み取り、それから変数resに値を割り当てる。その後、関数MAPを呼び出して、ポテンショメーターの読み取り値を0〜100にマッピングする。このステップはLedPinのデューティサイクルを制御するために使用される。これで、ポテンショメータの値によってLEDの輝度が変化していることがわかる。" + +#: ../2.1.4_potentiometer.rst:577 +msgid "Phenomenon Picture" +msgstr "現象画像" + +#~ msgid "" +#~ "If it does not work after running," +#~ " please refer to :ref:`C code is " +#~ "not working?`." +#~ msgstr "" + diff --git a/docs/source/locale/ja/LC_MESSAGES/2.1.5_keypad.po b/docs/source/locale/ja/LC_MESSAGES/2.1.5_keypad.po new file mode 100644 index 0000000..f41aeef --- /dev/null +++ b/docs/source/locale/ja/LC_MESSAGES/2.1.5_keypad.po @@ -0,0 +1,307 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, SunFounder +# This file is distributed under the same license as the SunFounder Davinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Davinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-19 18:22+0800\n" +"PO-Revision-Date: 2021-05-28 07:31+0800\n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../2.1.5_keypad.rst:2 +msgid "2.1.5 Keypad" +msgstr "2.1.5 キーパッド" + +#: ../2.1.5_keypad.rst:5 +msgid "Introduction" +msgstr "前書き" + +#: ../2.1.5_keypad.rst:7 +msgid "" +"A keypad is a rectangular array of buttons. In this project, We will use " +"it input characters." +msgstr "キーパッドは、ボタンの長方形の配列である。このプロジェクトでは、入力文字を使用する。" + +#: ../2.1.5_keypad.rst:11 +msgid "Components" +msgstr "部品" + +#: ../2.1.5_keypad.rst:17 +msgid "Principle" +msgstr "原理" + +#: ../2.1.5_keypad.rst:19 +msgid "**Keypad**" +msgstr "**キーパッド**" + +#: ../2.1.5_keypad.rst:21 +msgid "" +"A keypad is a rectangular array of 12 or 16 OFF-(ON) buttons. Their " +"contacts are accessed via a header suitable for connection with a ribbon " +"cable or insertion into a printed circuit board. In some keypads, each " +"button connects with a separate contact in the header, while all the " +"buttons share a common ground." +msgstr "キーパッドは12個または16個のOFF-(ON)ボタンの長方形配列である。リボンケーブルとの接続またはプリント基板への挿入に適したヘッダーを介してそれらの接点にアクセスする。一部のキーパッドでは、各ボタンはヘッダーの個別の連絡先に接続されるが、すべてのボタンは共通の接地を共有する。" + +#: ../2.1.5_keypad.rst:30 +msgid "" +"More often, the buttons are matrix encoded, meaning that each of them " +"bridges a unique pair of conductors in a matrix. This configuration is " +"suitable for polling by a microcontroller, which can be programmed to " +"send an output pulse to each of the four horizontal wires in turn. During" +" each pulse, it checks the remaining four vertical wires in sequence, to " +"determine which one, if any, is carrying a signal. Pullup or pulldown " +"resistors should be added to the input wires to prevent the inputs of the" +" microcontroller from behaving unpredictably when no signal is present." +msgstr "多くの場合、ボタンはマトリックスエンコードされている。つまり、各ボタンはマトリックス内の一意のコンダクターペアをブリッジしている。この構成は、マイクロコントローラーによるポーリングに適し、4本の水平線のそれぞれに順番に出力パルスを送信するようにプログラムできる。各パルス中に、残りの4本の垂直ワイヤを順番にチェックして、信号を伝送しているのがどれかを判断する。信号が存在しない場合にマイクロコントローラの入力が予期しない動作をすることを防ぐため、入力ワイヤにプルアップまたはプルダウン抵抗を追加してください。" + +#: ../2.1.5_keypad.rst:41 +msgid "Schematic Diagram" +msgstr "回路図" + +#: ../2.1.5_keypad.rst:50 +msgid "Experimental Procedures" +msgstr "実験手順" + +#: ../2.1.5_keypad.rst:52 +msgid "**Step 1:** Build the circuit." +msgstr "**ステップ1:** 回路を作る。" + +#: ../2.1.5_keypad.rst:60 +msgid "For C Language Users" +msgstr "C言語ユーザー向け" + +#: ../2.1.5_keypad.rst:62 ../2.1.5_keypad.rst:348 +msgid "**Step 2:** Open the code file." +msgstr "**ステップ2:** コードファイルを開く。" + +#: ../2.1.5_keypad.rst:72 +msgid "**Step 3:** Compile the code." +msgstr "**ステップ3:** コードをコンパイルする。" + +#: ../2.1.5_keypad.rst:82 +msgid "**Step 4:** Run." +msgstr "**ステップ4:** 実行する。" + +#: ../2.1.5_keypad.rst:92 ../2.1.5_keypad.rst:368 +msgid "" +"After the code runs, the values of pressed buttons on keypad (button " +"Value) will be printed on the screen." +msgstr "コードの実行後、キーパッドで押されたボタンの値(ボタン値)が画面にプリントされる。" + +#: ../2.1.5_keypad.rst:97 +msgid "" +"If it does not work after running, please refer to :ref:`C code is not " +"working?`" +msgstr "実行後に機能しない場合は、:ref:`C code is not working?` を参照してください。" + +#: ../2.1.5_keypad.rst:99 ../2.1.5_keypad.rst:373 +msgid "**Code**" +msgstr "**コード**" + +#: ../2.1.5_keypad.rst:214 ../2.1.5_keypad.rst:442 +msgid "**Code Explanation**" +msgstr "**コードの説明**" + +#: ../2.1.5_keypad.rst:227 ../2.1.5_keypad.rst:457 +msgid "" +"Declare each key of the matrix keyboard to the array keys[] and define " +"the pins on each row and column." +msgstr "マトリックスキーボードの各キーを配列keys []に表示し、各行と列にピンを定義する。" + +#: ../2.1.5_keypad.rst:242 ../2.1.5_keypad.rst:470 +msgid "" +"This is the part of the main function that reads and prints the button " +"value." +msgstr "これは、ボタン値を読み取り、プリントするメイン関数の一部である。" + +#: ../2.1.5_keypad.rst:245 ../2.1.5_keypad.rst:473 +msgid "The function keyRead() will read the state of every button." +msgstr "関数keyRead() は、すべてのボタンの状態を読み取る。" + +#: ../2.1.5_keypad.rst:247 +msgid "" +"KeyCompare() and keyCopy() are used to judge whether the state of a " +"button has changed (that is, a button has been pressed or released)." +msgstr "" +"KeyCompare() とkeyCopy() " +"は、ボタンの状態が変化したかどうか(つまり、ボタンが押されたか離されたか)を判断するために使用される。" + +#: ../2.1.5_keypad.rst:250 +msgid "" +"keyPrint() will print the button value of the button whose current level " +"is high level (the button is pressed)." +msgstr "keyPrint() は現在のレベルが高レベル(ボタンが押されている)のボタンのボタン値をプリントする。" + +#: ../2.1.5_keypad.rst:273 +msgid "" +"This function assigns a high level to each row in turn, and when the key " +"in the column is pressed, the column in which the key is located gets a " +"high level. After the two-layer loop judgment, the key state compilation " +"will generate an array (reasult[])." +msgstr "" +"この関数は各行に順番に高レベルを割り当て、列のキーが押されると、キーが配置されている列が高レベルになる。two- layer " +"loopの判定後、キー状態のコンパイルにより配列(reasult [])が生成される。" + +#: ../2.1.5_keypad.rst:278 +msgid "When pressing button 3:" +msgstr "ボタン3を押すとき:" + +#: ../2.1.5_keypad.rst:283 +msgid "" +"RowPin [0] writes in the high level, and colPin[2] gets the high level. " +"ColPin [0], colPin[1], colPin[3] get the low level." +msgstr "" +"RowPin [0]は高レベルで書き込み、colPin [2]は高レベルになる。ColPin [0]、colPin [1]、colPin " +"[3]は低レベルになる。" + +#: ../2.1.5_keypad.rst:286 +msgid "" +"This gives us 0,0,1,0. When rowPin[1], rowPin[2] and rowPin[3] are " +"written in high level, colPin[0]~colPin[4] will get low level." +msgstr "" +"これにより、0,0,1,0が得られる。rowPin [1]、rowPin [2]、rowPin [3]が高レベルで書き込まれると、colPin " +"[0]〜colPin [4]は低レベルになる。" + +#: ../2.1.5_keypad.rst:289 +msgid "After the loop judgment is completed, an array will be generated:" +msgstr "ループ判定が完了すると、配列が生成される:" + +#: ../2.1.5_keypad.rst:317 + +msgid "" +"These two functions are used to judge whether the key state has changed, " +"for example when you release your hand when pressing \\'3\\' or pressing " +"\\'2\\', keyCompare() returns false." +msgstr "" +"これら二つの関数は、キーの状態が変化したかどうかを判断するために使用され、たとえば、「3」または「2」を押したときに手を離すと、keyCompare()" +" はfalseを返す。" + +#: ../2.1.5_keypad.rst:321 +msgid "" +"KeyCopy() is used to re-write the current button value for the a array " +"(last_key_pressed[BUTTON_NUM]) after each comparison. So we can compare " +"them next time." +msgstr "" +"KeyCopy() はそれぞれの比較後に配列(last_key_pressed " +"[BUTTON_NUM])の現在のボタン値を書き換えるために使用される。ですから次回にそれらを比較できる。" + +#: ../2.1.5_keypad.rst:340 + +msgid "" +"This function is used to print the value of the button currently pressed." +" If the button \\'1\\' is pressed, the \\'1\\' will be printed. If the " +"button \\'1\\' is pressed and the button \\'3\\' is pressed, the \\'1, " +"3\\' will be printed." +msgstr "この関数は現在押されているボタンの値をプリントするために使用される。「1」ボタンを押すと、「1」がプリントされる。ボタン「1」と「3」が押されると、「1、3」がプリントされる。" + +#: ../2.1.5_keypad.rst:346 +msgid "For Python Language Users" +msgstr "Python言語ユーザー向け" + +#: ../2.1.5_keypad.rst:358 +msgid "**Step 3:** Run." +msgstr "**ステップ3:** 実行する。" + +#: ../2.1.5_keypad.rst:377 + +msgid "" +"You can **Modify/Reset/Copy/Run/Stop** the code below. But before that, " +"you need to go to source code path like ``davinci-kit-for-raspberry-" +"pi/python``." +msgstr "" +"以下のコードを **変更/リセット/コピー/実行/停止** できます。 ただし、その前に、 ``davinci-kit-for-raspberry-pi/python`` のようなソースコードパスに移動する必要があります。" + +#: ../2.1.5_keypad.rst:475 +msgid "" +"The statement if len(pressed_keys) != 0 and last_key_pressed != " +"pressed_keys is used to judge" +msgstr "if len(pressed_keys)!= 0とlast_key_pressed!= Pressed_keysのステートメントは、" + +#: ../2.1.5_keypad.rst:478 + +msgid "" +"whether a key is pressed and the state of the pressed button. (If you " +"press \\'3\\' when you press \\'1\\', the judgement is tenable.)" +msgstr "キーが押されたかどうか、押されたボタンの状態を判断するために使用される。(「1」を押したときに「3」を押した場合、判断は受け入れられる。)" + +#: ../2.1.5_keypad.rst:481 +msgid "" +"Prints the value of the currently pressed key when the condition is " +"tenable." +msgstr "条件が主張できる場合、現在押されているキーの値をプリントする。" + +#: ../2.1.5_keypad.rst:484 +msgid "" +"The statement last_key_pressed = pressed_keys assigns the state of each " +"judgment to an array last_key_pressed to facilitate the next round of " +"conditional judgment." +msgstr "" +"ステートメントlast_key_pressed = " +"pressed_keysは、それぞれの判断の状態を配列last_key_pressedに割り当て、次の条件判断を容易にする。" + +#: ../2.1.5_keypad.rst:501 +msgid "" +"This function assigns a high level to each row in turn, and when the " +"button in the column is pressed, the column in which the key is located " +"gets a high level. After the two-layer loop is judged, the value of the " +"button whose state is 1 is stored in the array pressed_keys." +msgstr "この関数は各行に順番に高レベルを割り当て、列のボタンが押されると、キーが配置されている列が高レベルになる。2層ループが判定された後、状態が1のボタンの値は、pressed_keys配列に保存される。" + +#: ../2.1.5_keypad.rst:506 + +msgid "If you press the key \\'3\\':" +msgstr "キー「3」を押すと:" + +#: ../2.1.5_keypad.rst:511 +msgid "rowPins[0] is written in high level, and colPins[2] gets high level." +msgstr "rowPins [0]は高レベルで書き込まれ、colPins [2]は高レベルになり、。" + +#: ../2.1.5_keypad.rst:513 +msgid "colPins[0]、colPins[1]、colPins[3] get low level." +msgstr "colPins [0]、colPins [1]、colPins [3]は低レベルになる。" + +#: ../2.1.5_keypad.rst:515 + +msgid "There are four states:0, 0, 1, 0; and we write \\'3\\' into pressed_keys." +msgstr "4つの状態がある:0、0、1、0。そして、pressed_keysに「3」を書き込む。" + +#: ../2.1.5_keypad.rst:517 +msgid "" +"When rowPins[1] , rowPins[2] , rowPins[3] are written into high level, " +"colPins[0] ~ colPins[4] get low level." +msgstr "" +"rowPins [1]、rowPins [2]、rowPins [3]が高レベルに書き込まれると、colPins [0]〜colPins " +"[4]は低レベルになる。" + +#: ../2.1.5_keypad.rst:520 + +msgid "The loop stopped, there returns pressed_keys = \\'3\\'." +msgstr "ループが停止し、pressed_keys = '3' が返される。" + +#: ../2.1.5_keypad.rst:522 + +msgid "" +"If you press the buttons \\'1\\' and \\'3\\', there will return " +"pressed_keys = [\\'1\\',\\'3\\']." +msgstr "ボタン「1」と「3」を押すと、pressed_keys = ['1'、'3']が返される。" + +#: ../2.1.5_keypad.rst:526 +msgid "Phenomenon Picture" +msgstr "現象画像" + +#~ msgid "" +#~ "If it does not work after running," +#~ " please refer to :ref:`C code is " +#~ "not working?`." +#~ msgstr "" + diff --git a/docs/source/locale/ja/LC_MESSAGES/2.1.6_joystick.po b/docs/source/locale/ja/LC_MESSAGES/2.1.6_joystick.po new file mode 100644 index 0000000..ef413ef --- /dev/null +++ b/docs/source/locale/ja/LC_MESSAGES/2.1.6_joystick.po @@ -0,0 +1,171 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, SunFounder +# This file is distributed under the same license as the SunFounder Davinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Davinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-19 18:22+0800\n" +"PO-Revision-Date: 2021-05-28 07:37+0800\n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../2.1.6_joystick.rst:2 +msgid "2.1.6 Joystick" +msgstr "2.1.6 ジョイスティック" + +#: ../2.1.6_joystick.rst:5 +msgid "Introduction" +msgstr "前書き" + +#: ../2.1.6_joystick.rst:7 +msgid "" +"In this project, We're going to learn how joystick works. We manipulate " +"the Joystick and display the results on the screen." +msgstr "このプロジェクトでは、ジョイスティックの仕組みを学習する。ジョイスティックを操作して、結果を画面に表示する。" + +#: ../2.1.6_joystick.rst:11 +msgid "Components" +msgstr "部品" + +#: ../2.1.6_joystick.rst:17 +msgid "Principle" +msgstr "原理" + +#: ../2.1.6_joystick.rst:19 +msgid "**Joystick**" +msgstr "**ジョイスティック**" + +#: ../2.1.6_joystick.rst:21 +msgid "" +"The basic idea of a joystick is to translate the movement of a stick into" +" electronic information that a computer can process." +msgstr "ジョイスティックの基本的な原理は、スティックの動きをコンピューターが処理できる電子情報に変換することである。" + +#: ../2.1.6_joystick.rst:24 +msgid "" +"In order to communicate a full range of motion to the computer, a " +"joystick needs to measure the stick's position on two axes -- the X-axis " +"(left to right) and the Y-axis (up and down). Just as in basic geometry, " +"the X-Y coordinates pinpoint the stick's position exactly." +msgstr "モーションの全範囲をコンピューターに通信するために、ジョイスティックはX軸(左から右)とY軸(上下)の二つの軸でスティックの位置を測定する必要がある。基本的なジオメトリと同様に、X-Y座標はスティックの位置を正確に特定する。" + +#: ../2.1.6_joystick.rst:29 +msgid "" +"To determine the location of the stick, the joystick control system " +"simply monitors the position of each shaft. The conventional analog " +"joystick design does this with two potentiometers, or variable resistors." +msgstr "スティックの位置を決定するために、ジョイスティック制御システムは各シャフトの位置を監視する。従来のアナログジョイスティックの設計では、これを二つのポテンショメーターまたは可変抵抗器で行う。" + +#: ../2.1.6_joystick.rst:34 +msgid "" +"The joystick also has a digital input that is actuated when the joystick " +"is pressed down." +msgstr "ジョイスティックには、ジョイスティックを押し下げたときに作動するデジタル入力もある。" + +#: ../2.1.6_joystick.rst:40 +msgid "Schematic Diagram" +msgstr "回路図" + +#: ../2.1.6_joystick.rst:42 +msgid "" +"When the data of joystick is read, there are some differents between " +"axis: data of X and Y axis is analog, which need to use ADC0834 to " +"convert the analog value to digital value. Data of Z axis is digital, so " +"you can directly use the GPIO to read, or you can also use ADC to read." +msgstr "ジョイスティックのデータを読み取ると、軸間でいくつかの違いがある:X軸とY軸のデータはアナログであり、ADC0834を使用してアナログ値をデジタル値に変換する必要がある。Z軸のデータはデジタルであるため、GPIOを直接使用して読み取るか、またはADCを使用して読み取ることができる。" + +#: ../2.1.6_joystick.rst:54 +msgid "Experimental Procedures" +msgstr "実験手順" + +#: ../2.1.6_joystick.rst:56 +msgid "**Step 1:** Build the circuit." +msgstr "**ステップ1:** 回路を作る。" + +#: ../2.1.6_joystick.rst:64 +msgid "For C Language Users" +msgstr "C言語ユーザー向け" + +#: ../2.1.6_joystick.rst:66 ../2.1.6_joystick.rst:232 +msgid "**Step 2:** Go to the folder of the code." +msgstr "**ステップ2:** コードのフォルダーに入る。" + +#: ../2.1.6_joystick.rst:76 +msgid "**Step 3:** Compile the code." +msgstr "**ステップ3:** コードをコンパイルする。" + +#: ../2.1.6_joystick.rst:86 +msgid "**Step 4:** Run the executable file." +msgstr "**ステップ4:** EXEファイルを実行する。" + +#: ../2.1.6_joystick.rst:96 ../2.1.6_joystick.rst:252 +msgid "" +"After the code runs, turn the Joystick, then the corresponding values of " +"x, y, Btn are displayed on screen." +msgstr "コードの実行後、ジョイスティックを回すと、対応するx、y、Btnの値が画面に表示される。" + +#: ../2.1.6_joystick.rst:102 +msgid "" +"If it does not work after running, please refer to :ref:`C code is not " +"working?`" +msgstr "実行後に機能しない場合は、:ref:`C code is not working?` を参照してください。" + +#: ../2.1.6_joystick.rst:104 ../2.1.6_joystick.rst:256 +msgid "**Code**" +msgstr "**コード**" + +#: ../2.1.6_joystick.rst:188 ../2.1.6_joystick.rst:299 +msgid "**Code Explanation**" +msgstr "**コードの説明**" + +#: ../2.1.6_joystick.rst:210 +msgid "The working process of the function is detailed in 2.1.4 Potentiometer." +msgstr "機能の動作プロセスについては、2.1.4ポテンショメーターで詳しく説明している。" + +#: ../2.1.6_joystick.rst:222 ../2.1.6_joystick.rst:311 +msgid "" +"VRX and VRY of Joystick are connected to CH0, CH1 of ADC0834 " +"respectively. So the function getResult() is called to read the values of" +" CH0 and CH1. Then the read values should be stored in the variables " +"x_val and y_val. In addition, read the value of SW of joystick and store " +"it into the variable Btn_val. Finally, the values of x_val, y_val and " +"Btn_val shall be printed with print() function." +msgstr "" +"ジョイスティックのVRXとVRYは、それぞれADC0834のCH0、CH1に接続されている。したがって、関数getResult() " +"が呼び出されて、CH0とCH1の値が読み取られる。それから、読み取った値を変数x_valとy_valに保存してください。さらに、ジョイスティックのSWの値を読み取り、変数Btn_valに保存する。最後に、x_val、y_val、とBtn_valの値はprint()関数で出力される。" + +#: ../2.1.6_joystick.rst:230 +msgid "For Python Language Users" +msgstr "Python言語ユーザー向け" + +#: ../2.1.6_joystick.rst:242 +msgid "**Step 3:** Run." +msgstr "**ステップ3:** 実行する。" + +#: ../2.1.6_joystick.rst:260 + +msgid "" +"You can **Modify/Reset/Copy/Run/Stop** the code below. But before that, " +"you need to go to source code path like ``davinci-kit-for-raspberry-" +"pi/python``." +msgstr "" +"以下のコードを **変更/リセット/コピー/実行/停止** できます。 ただし、その前に、 ``davinci-kit-for-raspberry-pi/python`` のようなソースコードパスに移動する必要があります。" + +#: ../2.1.6_joystick.rst:319 +msgid "Phenomenon Picture" +msgstr "現象画像" + +#~ msgid "" +#~ "If it does not work after running," +#~ " please refer to :ref:`C code is " +#~ "not working?`." +#~ msgstr "" + diff --git a/docs/source/locale/ja/LC_MESSAGES/2.2.1_photoresistor.po b/docs/source/locale/ja/LC_MESSAGES/2.2.1_photoresistor.po new file mode 100644 index 0000000..b0eec79 --- /dev/null +++ b/docs/source/locale/ja/LC_MESSAGES/2.2.1_photoresistor.po @@ -0,0 +1,152 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, SunFounder +# This file is distributed under the same license as the SunFounder Davinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Davinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-19 18:22+0800\n" +"PO-Revision-Date: 2021-05-28 07:40+0800\n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../2.2.1_photoresistor.rst:2 +msgid "2.2.1 Photoresistor" +msgstr "2.2.1 フォトレジスタ" + +#: ../2.2.1_photoresistor.rst:5 +msgid "Introduction" +msgstr "前書き" + +#: ../2.2.1_photoresistor.rst:7 +msgid "" +"Photoresistor is a commonly used component of ambient light intensity in " +"life. It helps the controller to recognize day and night and realize " +"light control functions such as night lamp. This project is very similar " +"to potentiometer, and you might think it changing the voltage to sensing " +"light." +msgstr "フォトレジスタは生活の中で環境光の強度によく使用される部品である。コントローラーが昼と夜を認識し、夜間ランプなどの調光機能を実現することに役立つ。このプロジェクトはポテンショメータによく似ており、光を感知するための電圧を変えると思うかもしれない。" + +#: ../2.2.1_photoresistor.rst:14 +msgid "Components" +msgstr "部品" + +#: ../2.2.1_photoresistor.rst:20 +msgid "Principle" +msgstr "原理" + +#: ../2.2.1_photoresistor.rst:22 +msgid "" +"A photoresistor or photocell is a light-controlled variable resistor. The" +" resistance of a photoresistor decreases with increasing incident light " +"intensity; in other words, it exhibits photo conductivity. A " +"photoresistor can be applied in light-sensitive detector circuits, and " +"light- and darkness-activated switching circuits." +msgstr "フォトレジスタまたはフォトセルは光制御可変抵抗器である。フォトレジストの抵抗は入射光強度の増加とともに減少する。つまり、光伝導性を示す。フォトレジスタは、光に敏感な検出回路、および光・暗闇で作動する切換回路に適用できる。" + +#: ../2.2.1_photoresistor.rst:34 +msgid "Schematic Diagram" +msgstr "回路図" + +#: ../2.2.1_photoresistor.rst:43 +msgid "Experimental Procedures" +msgstr "実験手順" + +#: ../2.2.1_photoresistor.rst:45 +msgid "**Step 1:** Build the circuit." +msgstr "**ステップ1:** 回路を作る。" + +#: ../2.2.1_photoresistor.rst:53 +msgid "For C Language Users" +msgstr "C言語ユーザー向け" + +#: ../2.2.1_photoresistor.rst:55 ../2.2.1_photoresistor.rst:189 +msgid "**Step 2:** Go to the folder of the code." +msgstr "**ステップ2:** コードのフォルダーに入る。" + +#: ../2.2.1_photoresistor.rst:65 +msgid "**Step 3:** Compile the code." +msgstr "**ステップ3:** コードをコンパイルする。" + +#: ../2.2.1_photoresistor.rst:75 +msgid "**Step 4:** Run the executable file." +msgstr "**ステップ4:** EXEファイルを実行する。" + +#: ../2.2.1_photoresistor.rst:85 ../2.2.1_photoresistor.rst:209 +msgid "" +"The code run, the brightness of LED will vary depending on the intensity " +"of light that the photoresistor senses." +msgstr "コードを実行すると、LEDの輝度はフォトレジスターが感知する光の強度に応じて変化する。" + +#: ../2.2.1_photoresistor.rst:90 +msgid "" +"If it does not work after running, please refer to :ref:`C code is not " +"working?`" +msgstr "実行後に機能しない場合は、:ref:`C code is not working?` を参照してください。" + +#: ../2.2.1_photoresistor.rst:92 ../2.2.1_photoresistor.rst:212 +msgid "**Code**" +msgstr "**コード**" + +#: ../2.2.1_photoresistor.rst:180 ../2.2.1_photoresistor.rst:263 +msgid "**Code Explanation**" +msgstr "**コードの説明**" + +#: ../2.2.1_photoresistor.rst:182 +msgid "" +"The codes here are the same as that in 2.1.4 Potentiometer. If you have " +"any other questions, please check the code explanation of **2.1.4 " +"Potentiometer.c** for details." +msgstr "" +"ここのコードは、2.1.4ポテンショメーターのコードと同じである。他に質問がある場合は、 **2.1.4Potentiometer.c** " +"のコード説明を参照してください。" + +#: ../2.2.1_photoresistor.rst:187 +msgid "For Python Language Users" +msgstr "Python言語ユーザー向け" + +#: ../2.2.1_photoresistor.rst:199 +msgid "**Step 3:** Run the executable file." +msgstr "**ステップ3:** EXEファイルを実行する。" + +#: ../2.2.1_photoresistor.rst:216 + +msgid "" +"You can **Modify/Reset/Copy/Run/Stop** the code below. But before that, " +"you need to go to source code path like ``davinci-kit-for-raspberry-" +"pi/python``." +msgstr "" +"以下のコードを **変更/リセット/コピー/実行/停止** できます。 ただし、その前に、 ``davinci-kit-for-raspberry-pi/python`` のようなソースコードパスに移動する必要があります。" + +#: ../2.2.1_photoresistor.rst:274 +msgid "" +"Read the analog value of CH0 of ADC0834. By default, the function " +"getResult() is used to read the value of CH0, so if you want to read " +"other channels, please input 1, 2, or 3 into () of the function " +"getResult(). Next, what you need is to print the value via the print " +"function. Because the changing element is the duty cycle of LedPin, the " +"computational formula, analogVal*100/255 is needed to convert analogVal " +"into percentage. Finally, ChangeDutyCycle() is called to write the " +"percentage into LedPin." +msgstr "" +"ADC0834のCH0のアナログ値を読み取る。デフォルトでは、関数getResult() " +"を使用してCH0の値を読み取る。したがって、他のチャネルを読み取る場合は、関数getResult()の()に1、2、または3を入力してください。次に、プリント機能を使用して値をプリントする必要がある。変化する要素は計算式であるLedPinのデューティサイクルであるため、analogValをパーセンテージに変換するにはanalogVal" +" * 100/255が必要である。最後に、ChangeDutyCycle() が呼び出されて、パーセンテージがLedPinに書き込まれる。" + +#: ../2.2.1_photoresistor.rst:284 +msgid "Phenomenon Picture" +msgstr "現象画像" + +#~ msgid "" +#~ "If it does not work after running," +#~ " please refer to :ref:`C code is " +#~ "not working?`." +#~ msgstr "" + diff --git a/docs/source/locale/ja/LC_MESSAGES/2.2.2_thermistor.po b/docs/source/locale/ja/LC_MESSAGES/2.2.2_thermistor.po new file mode 100644 index 0000000..a9ee3fb --- /dev/null +++ b/docs/source/locale/ja/LC_MESSAGES/2.2.2_thermistor.po @@ -0,0 +1,287 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, SunFounder +# This file is distributed under the same license as the SunFounder Davinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Davinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-19 18:22+0800\n" +"PO-Revision-Date: 2021-05-28 07:50+0800\n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../2.2.2_thermistor.rst:2 +msgid "2.2.2 Thermistor" +msgstr "2.2.2 サーミスタ" + +#: ../2.2.2_thermistor.rst:5 +msgid "Introduction" +msgstr "前書き" + +#: ../2.2.2_thermistor.rst:7 +msgid "" +"Just like photoresistor can sense light, thermistor is a temperature " +"sensitive electronic device that can be used for realizing functions of " +"temperature control, such as making a heat alarm." +msgstr "フォトレジスターが光を感知できるように、サーミスターは温度に敏感な電子デバイスであり、過熱警報装置の作成など、温度制御の機能を実現するために使用できる。" + +#: ../2.2.2_thermistor.rst:12 +msgid "Components" +msgstr "部品" + +#: ../2.2.2_thermistor.rst:18 +msgid "Principle" +msgstr "原理" + +#: ../2.2.2_thermistor.rst:20 +msgid "" +"A thermistor is a thermally sensitive resistor that exhibits a precise " +"and predictable change in resistance proportional to small changes in " +"temperature. How much its resistance will change is dependent upon its " +"unique composition. Thermistors are the parts of a larger group of " +"passive components. And unlike their active component counterparts, " +"passive devices are incapable of providing power gain, or amplification " +"to a circuit." +msgstr "サーミスタは、温度のわずかな変化に比例して抵抗の予測可能な変化を正確に示す熱に敏感な抵抗器である。その抵抗がどの程度変化するかは、その独自の構成に依存する。サーミスタは、受動部品の大きなグループの一部である。また、対応するアクティブコンポーネントとは異なり、パッシブデバイスは回路に電力上昇または増幅を提供できない。" + +#: ../2.2.2_thermistor.rst:28 +msgid "" +"Thermistor is a sensitive element, and it has two types: Negative " +"Temperature Coefficient (NTC) and Positive Temperature Coefficient (PTC)," +" also known as NTC and PTC. Its resistance varies significantly with " +"temperature. The resistance of PTC thermistor increases with temperature " +",while the condition of NTC is opposite to the former In this experiment " +"we use NTC." +msgstr "" +"サーミスタは敏感な要素であり、負の温度係数(NTC)と正の温度係数(PTC)の2つのタイプがあり、NTCとPTCとも呼ばれる。その抵抗は温度によって大きく異なる。PTCサーミスタの抵抗は温度とともに増加するが、NTCの条件は前者とは逆である" +" この実験では、NTCを使用する。" + +#: ../2.2.2_thermistor.rst:38 +msgid "" +"The principle is that the resistance of the NTC thermistor changes with " +"the temperature of the outer environment. It detects the real-time " +"temperature of the environment. When the temperature gets higher, the " +"resistance of the thermistor decreases. Then the voltage data is " +"converted to digital quantities by the A/D adapter. The temperature in " +"Celsius or Fahrenheit is output via programming." +msgstr "その動作原理は、NTCサーミスタの抵抗が外部環境の温度とともに変化することである。環境のリアルタイム温度を検出できる。温度が高くなると、サーミスタの抵抗が減少する。次に、電圧データはA/Dアダプターによってデジタル量に変換される。摂氏または華氏の温度はプログラミングにより出力される。" + +#: ../2.2.2_thermistor.rst:45 +msgid "" +"In this experiment, a thermistor and a 10k pull-up resistor are used. " +"Each thermistor has a normal resistance. Here it is 10k ohm, which is " +"measured under 25 degree Celsius." +msgstr "この実験では、サーミスタと10kプルアップ抵抗が使用される。各サーミスタには通常の抵抗がある。ここでは、25℃で測定されると、10k ohmである。" + +#: ../2.2.2_thermistor.rst:49 +msgid "Here is the relation between the resistance and temperature:" +msgstr "抵抗と温度の関係は次の通りである:" + +#: ../2.2.2_thermistor.rst:51 +msgid "R\\ :sub:`T` =R\\ :sub:`N` exp\\ :sup:`B(1/TK – 1/TN)`" +msgstr "R\\ :sub:`T` =R\\ :sub:`N` exp\\ :sup:`B(1/TK – 1/TN)`" + +#: ../2.2.2_thermistor.rst:53 +msgid "" +"**R\\ T** is the resistance of the NTC thermistor when the temperature is" +" **T\\ K**." +msgstr "**R\\ T** は温度が **T\\ K** のときのNTCサーミスタの抵抗である。" + +#: ../2.2.2_thermistor.rst:56 +msgid "" +"**R\\ N** is the resistance of the NTC thermistor under the rated " +"temperature **T\\ N**. Here, the numerical value of **R\\ N** is 10k." +msgstr "**R\\ N** は、定格温度 **T\\ N** でのNTCサーミスタの抵抗である。ここで、 **R\\ N** の数値は10kである。" + +#: ../2.2.2_thermistor.rst:59 +msgid "" +"**T\\ K** is a Kelvin temperature and the unit is K. Here, the numerical " +"value of **T\\ K**\\ is 273.15 + degree Celsius." +msgstr "**T\\ K** はケルビン温度で、単位はKである。ここで、 **T\\ K** の数値は273.15である。+摂氏度である。" + +#: ../2.2.2_thermistor.rst:62 +msgid "" +"**T\\ N** is a rated Kelvin temperature; the unit is K too. Here, the " +"numerical value of **T\\ N** is 273.15+25." +msgstr "**T\\ N** は定格ケルビン温度で、単位もKである。ここで、 **T\\ N** の数値は273.15 + 25である。" + +#: ../2.2.2_thermistor.rst:65 +msgid "" +"And **B**\\ (beta), the material constant of NTC thermistor, is also " +"called heat sensitivity index with a numerical value 3950." +msgstr "また、NTCサーミスタの構成要素定数である **B**\\ (ベータ)は、数値3950の熱感受性指数とも呼ばれる。" + +#: ../2.2.2_thermistor.rst:68 +msgid "" +"**exp** is the abbreviation of exponential, and the base number e is a " +"natural number and equals 2.7 approximately." +msgstr "**exp** は指数の略語で、基数eは自然数であり、約2.7に等しくなる。" + +#: ../2.2.2_thermistor.rst:71 +msgid "" +"Convert this formula T\\ :sub:`K`\\ =1/(ln(R\\ :sub:`T`/R\\ " +":sub:`N`)/B+1/T\\ :sub:`N`) to get Kelvin temperature that minus 273.15 " +"equals degree Celsius." +msgstr "" +"この式T\\ :sub:`K`\\ =1/(ln(R\\ :sub:`T`/R\\ :sub:`N`)/B+1/T\\ :sub:`N`) " +"を変換して、マイナス273.15が摂氏温度に相当するケルビン温度を取得する。" + +#: ../2.2.2_thermistor.rst:75 +msgid "" +"This relation is an empirical formula. It is accurate only when the " +"temperature and resistance are within the effective range." +msgstr "この関係は実験式である。温度と抵抗が有効範囲内にある場合にのみそれは正確である。" + +#: ../2.2.2_thermistor.rst:79 +msgid "Schematic Diagram" +msgstr "回路図" + +#: ../2.2.2_thermistor.rst:88 +msgid "Experimental Procedures" +msgstr "実験手順" + +#: ../2.2.2_thermistor.rst:90 +msgid "**Step 1:** Build the circuit." +msgstr "**ステップ1:** 回路を作る。" + +#: ../2.2.2_thermistor.rst:98 +msgid "For C Language Users" +msgstr "C言語ユーザー向け" + +#: ../2.2.2_thermistor.rst:101 ../2.2.2_thermistor.rst:296 +msgid "**Step 2:** Go to the folder of the code." +msgstr "**ステップ2:** コードのフォルダーに入る。" + +#: ../2.2.2_thermistor.rst:111 +msgid "**Step 3:** Compile the code." +msgstr "**ステップ3:** コードをコンパイルする。" + +#: ../2.2.2_thermistor.rst:122 +msgid "-lm is to load the library math. Do not omit, or you will make an error." +msgstr "-lmはライブラリの数学をロードする。省略すると、エラーが発生する。" + +#: ../2.2.2_thermistor.rst:125 +msgid "**Step 4:** Run the executable file." +msgstr "**ステップ4:** EXEファイルを実行する。" + +#: ../2.2.2_thermistor.rst:135 ../2.2.2_thermistor.rst:316 +msgid "" +"With the code run, the thermistor detects ambient temperature which will " +"be printed on the screen once it finishes the program calculation." +msgstr "コードを実行すると、サーミスタは周囲温度を検出する。周囲温度は、プログラムの計算が終了すると画面に出力される。" + +#: ../2.2.2_thermistor.rst:140 +msgid "" +"If it does not work after running, please refer to :ref:`C code is not " +"working?`" +msgstr "実行後に機能しない場合は、:ref:`C code is not working?` を参照してください。" + +#: ../2.2.2_thermistor.rst:143 ../2.2.2_thermistor.rst:319 +msgid "**Code**" +msgstr "**コード**" + +#: ../2.2.2_thermistor.rst:233 ../2.2.2_thermistor.rst:357 +msgid "**Code Explanation**" +msgstr "**コードの説明**" + +#: ../2.2.2_thermistor.rst:239 +msgid "" +"There is a C numerics library which declares a set of functions to " +"compute common mathematical operations and transformations." +msgstr "一般的な数学的操作と変換を計算する一連の関数を宣言するC数値ライブラリがある。" + +#: ../2.2.2_thermistor.rst:246 ../2.2.2_thermistor.rst:370 +msgid "This function is used to read the value of the thermistor." +msgstr "この関数はサーミスタの値を読み取るために使用される。" + +#: ../2.2.2_thermistor.rst:257 +msgid "These calculations convert the thermistor values into Celsius values." +msgstr "これらの計算により、サーミスタ値が摂氏値に変換される。" + +#: ../2.2.2_thermistor.rst:264 ../2.2.2_thermistor.rst:389 +msgid "" +"These two lines of codes are calculating the voltage distribution with " +"the read value analog so as to get Rt (resistance of thermistor)." +msgstr "Rt(サーミスタの抵抗)を取得するために、これらの2行のコードは読み取り値アナログを使って電圧分布を計算している。" + +#: ../2.2.2_thermistor.rst:271 ../2.2.2_thermistor.rst:396 +msgid "" +"This code refers to plugging Rt into the formula **T\\ K\\ =1/(ln(R\\ " +"T/R\\ N)/B+1/T\\ N)** to get Kelvin temperature." +msgstr "" +"このコードは、Rtを式 **T\\ K\\ =1/(ln(R\\ T/R\\ N)/B+1/T\\ N)** " +"に挿入してケルビン温度を取得することを意味する。" + +#: ../2.2.2_thermistor.rst:278 +msgid "Convert Kelvin temperature into degree Celsius." +msgstr "ケルビン温度を摂氏に変換する。" + +#: ../2.2.2_thermistor.rst:284 +msgid "Convert degree Celsius into Fahrenheit." +msgstr "摂氏を華氏に変換する。" + +#: ../2.2.2_thermistor.rst:290 ../2.2.2_thermistor.rst:415 +msgid "Print centigrade degree, Fahrenheit degree and their units on the display." +msgstr "ディスプレイに摂氏度、華氏度とそれらの単位を表示する。" + +#: ../2.2.2_thermistor.rst:294 +msgid "For Python Language Users" +msgstr "Python言語ユーザー向け" + +#: ../2.2.2_thermistor.rst:306 +msgid "**Step 3:** Run the executable file" +msgstr "**ステップ3:** EXEファイルを実行する。" + +#: ../2.2.2_thermistor.rst:323 + +msgid "" +"You can **Modify/Reset/Copy/Run/Stop** the code below. But before that, " +"you need to go to source code path like ``davinci-kit-for-raspberry-" +"pi/python``." +msgstr "" +"以下のコードを **変更/リセット/コピー/実行/停止** できます。 ただし、その前に、 ``davinci-kit-for-raspberry-pi/python`` のようなソースコードパスに移動する必要があります。" + +#: ../2.2.2_thermistor.rst:363 +msgid "" +"There is a numerics library which declares a set of functions to compute " +"common mathematical operations and transformations." +msgstr "一般的な数学的操作と変換を計算する一連の関数を宣言するC数値ライブラリがある。" + +#: ../2.2.2_thermistor.rst:381 +msgid "" +"These calculations convert the thermistor values into centigrade degree " +"and Fahrenheit degree." +msgstr "これらの計算はサーミスタの値を摂氏度と華氏度に変換する。" + +#: ../2.2.2_thermistor.rst:403 +msgid "Convert Kelvin temperature into centigrade degree." +msgstr "ケルビン温度を摂氏に変換する。" + +#: ../2.2.2_thermistor.rst:409 +msgid "Convert the centigrade degree into Fahrenheit degree." +msgstr "摂氏を華氏に変換する。" + +#: ../2.2.2_thermistor.rst:419 +msgid "Phenomenon Picture" +msgstr "現象画像" + +#~ msgid "" +#~ "If it does not work after running," +#~ " please refer to :ref:`C code is " +#~ "not working?`." +#~ msgstr "" + +#~ msgid "" +#~ "With the code run, the thermistor " +#~ "detects ambient temperature which will " +#~ "be printed on the screen once it" +#~ " finishes the program calculation. **Code**" +#~ msgstr "コードを実行すると、サーミスタは周囲温度を検出する。周囲温度は、プログラムの計算が終了すると画面に出力される。" + diff --git a/docs/source/locale/ja/LC_MESSAGES/2.2.3_dht-11.po b/docs/source/locale/ja/LC_MESSAGES/2.2.3_dht-11.po new file mode 100644 index 0000000..028f523 --- /dev/null +++ b/docs/source/locale/ja/LC_MESSAGES/2.2.3_dht-11.po @@ -0,0 +1,289 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, SunFounder +# This file is distributed under the same license as the SunFounder Davinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Davinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-19 18:22+0800\n" +"PO-Revision-Date: 2021-05-28 08:17+0800\n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../2.2.3_dht-11.rst:2 +msgid "2.2.3 DHT-11" +msgstr "2.2.3 DHT-11" + +#: ../2.2.3_dht-11.rst:5 +msgid "Introduction" +msgstr "前書き" + +#: ../2.2.3_dht-11.rst:7 +msgid "" +"The digital temperature and humidity sensor DHT11 is a composite sensor " +"that contains a calibrated digital signal output of temperature and " +"humidity. The technology of a dedicated digital modules collection and " +"the technology of the temperature and humidity sensing are applied to " +"ensure that the product has high reliability and excellent stability." +msgstr "デジタル温湿度センサーDHT11は、温度と湿度の校正済みデジタル信号出力を含む複合センサーである。専用のデジタルモジュールコレクションの技術と温湿度検知の技術を適用して、製品の高い信頼性と優れた安定性を確保している。" + +#: ../2.2.3_dht-11.rst:13 +msgid "" +"The sensors include a wet element resistive sensor and a NTC temperature " +"sensor and they are connected to a high performance 8-bit " +"microcontroller." +msgstr "センサーには、湿式素子抵抗センサーとNTC温度センサーが含まれており、高性能の8ビットマイクロコントローラーに接続されている。" + +#: ../2.2.3_dht-11.rst:18 +msgid "Components" +msgstr "部品" + +#: ../2.2.3_dht-11.rst:24 +msgid "Principle" +msgstr "原理" + +#: ../2.2.3_dht-11.rst:26 +msgid "" +"The DHT11 is a basic, ultra low-cost digital temperature and humidity " +"sensor. It uses a capacitive humidity sensor and a thermistor to measure " +"the surrounding air, and spits out a digital signal on the data pin (no " +"analog input pins are needed)." +msgstr "DHT11は基本的な超低コストのデジタル温湿度センサーである。容量性湿度センサーとサーミスタを使用して周囲の空気を測定し、データピンにデジタル信号を出力する(アナログ入力ピンは不要)。" + +#: ../2.2.3_dht-11.rst:36 +msgid "" +"Only three pins are available: VCC, GND, and DATA. The communication " +"process begins with the DATA line sending start signals to DHT11, and " +"DHT11 receives the signals and returns an answer signal. Then the host " +"receives the answer signal and begins to receive 40-bit humiture data " +"(8-bit humidity integer + 8-bit humidity decimal + 8-bit temperature " +"integer + 8-bit temperature decimal + 8-bit checksum). For more " +"information, please refer to DHT11 datasheet." +msgstr "" +"VCC、GND、とDATAの三つのピンのみが利用できる。通信プロセスは開始信号をDHT11に送信するDATAラインから始まり、DHT11は信号を受信して応答信号を返す。次に、ホストは応答信号を受信し、40ビットの湿度データ(8ビット湿度整数+" +" 8ビット湿度10進数+ 8ビット温度整数+ 8ビット温度10進数+ " +"8ビットチェックサム)の受信を開始する。詳細については、DHT11データシートを参照してください。" + +#: ../2.2.3_dht-11.rst:45 +msgid "Schematic Diagram" +msgstr "回路図" + +#: ../2.2.3_dht-11.rst:51 +msgid "Experimental Procedures" +msgstr "実験手順" + +#: ../2.2.3_dht-11.rst:53 +msgid "**Step 1:** Build the circuit." +msgstr "**ステップ1:** 回路を作る。" + +#: ../2.2.3_dht-11.rst:61 +msgid "For C Language Users" +msgstr "C言語ユーザー向け" + +#: ../2.2.3_dht-11.rst:63 ../2.2.3_dht-11.rst:289 +msgid "**Step 2:** Go to the folder of the code." +msgstr "**ステップ2:** コードのフォルダーに入る。" + +#: ../2.2.3_dht-11.rst:73 +msgid "**Step 3:** Compile the code." +msgstr "**ステップ3:** コードをコンパイルする。" + +#: ../2.2.3_dht-11.rst:83 +msgid "**Step 4:** Run the executable file." +msgstr "**ステップ4:** EXEファイルを実行する。" + +#: ../2.2.3_dht-11.rst:93 ../2.2.3_dht-11.rst:309 +msgid "" +"After the code runs, the program will print the temperature and humidity " +"detected by DHT11 on the computer screen." +msgstr "コードの実行後、プログラムはDHT11によって検出された温度と湿度をコンピューター画面にプリントする。" + +#: ../2.2.3_dht-11.rst:98 +msgid "" +"If it does not work after running, please refer to :ref:`C code is not " +"working?`" +msgstr "実行後に機能しない場合は、:ref:`C code is not working?` を参照してください。" + +#: ../2.2.3_dht-11.rst:101 ../2.2.3_dht-11.rst:312 +msgid "**Code**" +msgstr "**コード**" + +#: ../2.2.3_dht-11.rst:175 ../2.2.3_dht-11.rst:448 +msgid "**Code Explanation**" +msgstr "**コードの説明**" + +#: ../2.2.3_dht-11.rst:188 +msgid "This function is used to realize the function of DHT11." +msgstr "この機能はDHT11の機能を実現するために使用される。" + +#: ../2.2.3_dht-11.rst:190 +msgid "It generally can be divided into 3 parts:" +msgstr "通常、次の3つの部分に分けることができる:" + +#: ../2.2.3_dht-11.rst:192 +msgid "prepare to read the pin:" +msgstr "ピンを読む準備ができた:" + +#: ../2.2.3_dht-11.rst:206 +msgid "Its communication flow is determined by work timing." +msgstr "その通信フローは、作業のタイミングによって決まる。" + +#: ../2.2.3_dht-11.rst:213 +msgid "" +"When DHT11 starts up, MCU will send a low level signal and then keep the " +"signal at high level for 40us. After that, the detection of the condition" +" of external environment will start." +msgstr "DHT11が起動すると、MCUは低レベルの信号を送信し、40usの間信号を高レベルに保つ。その後、外部環境の状態の検出が開始される。" + +#: ../2.2.3_dht-11.rst:217 +msgid "read data:" +msgstr "データの読み取り:" + +#: ../2.2.3_dht-11.rst:243 +msgid "" +"The loop stores the detected data in the dht11_dat[] array. DHT11 " +"transmits data of 40 bits at a time. The first 16 bits are related to " +"humidity, the middle 16 bits are related to temperature, and the last " +"eight bits are used for verification. The data format is:" +msgstr "" +"ループは検出されたデータをdht11_dat " +"[]配列に保存する。DHT11は一度に40ビットのデータを転送する。最初の16ビットは湿度に関連し、中央の16ビットは温度に関連し、最後の8ビットは検証に使用される。データ形式は次のとおりである:" + +#: ../2.2.3_dht-11.rst:248 +msgid "" +"**8bit humidity integer data** + **8bit humidity decimal data** + **8bit " +"temperature integer data** + **8bit temperature decimal data** + **8bit " +"check bit**." +msgstr "" +"**8ビット湿度整数データ** + **8ビット湿度10進データ** + **8ビット温度整数データ** + **8ビット温度10進データ** +" +" **8ビットチェックビット**。" + +#: ../2.2.3_dht-11.rst:252 +msgid "Print Humidity & Temperature." +msgstr "湿度と温度をプリントする。" + +#: ../2.2.3_dht-11.rst:265 +msgid "" +"When the data storage is up to 40 bits, check the validity of the data " +"through the **check bit (dht11_dat[4])**, and then print the temperature " +"and humidity." +msgstr "" +"データストレージが最大40ビットの場合、 **check bit (dht11_dat[4])** " +"を通じてデータの有効性をチェックし、温度と湿度をプリントする。" + +#: ../2.2.3_dht-11.rst:269 +msgid "" +"For example, if the received data is 00101011(8-bit value of humidity " +"integer) 00000000 (8-bit value of humidity decimal) 00111100 (8-bit value" +" of temperature integer) 00000000 (8-bit value of temperature decimal) " +"01100111 (check bit)" +msgstr "たとえば、受信データが00101011(湿度整数の8ビット値)00000000(湿度10進数の8ビット値)00111100(温度整数の8ビット値)00000000(温度10進数の8ビット値)01100111(チェックビット)の場合、" + +#: ../2.2.3_dht-11.rst:274 ../2.2.3_dht-11.rst:491 +msgid "**Calculation:**" +msgstr "**計算:**" + +#: ../2.2.3_dht-11.rst:276 ../2.2.3_dht-11.rst:493 +msgid "00101011+00000000+00111100+00000000=01100111." +msgstr "00101011+00000000+00111100+00000000=01100111." + +#: ../2.2.3_dht-11.rst:278 +msgid "" +"The final result is equal to the check bit data, then the received data " +"is correct:" +msgstr "最終結果はチェックビットデータに等しく、受信データは正しいである:" + +#: ../2.2.3_dht-11.rst:281 +msgid "Humidity =43%,Temperature =60*C." +msgstr "湿度= 43%、温度= 60 * C。" + +#: ../2.2.3_dht-11.rst:283 +msgid "" +"If it is not equal to the check bit data, the data transmission is not " +"normal and the data is received again." +msgstr "チェックビットデータと等しくない場合、データ送信は正常ではなく、データが再度受信される。" + +#: ../2.2.3_dht-11.rst:287 +msgid "For Python Language Users" +msgstr "Python言語ユーザー向け" + +#: ../2.2.3_dht-11.rst:299 +msgid "**Step 3:** Run the executable file." +msgstr "**ステップ3:** EXEファイルを実行する。" + +#: ../2.2.3_dht-11.rst:316 + +msgid "" +"You can **Modify/Reset/Copy/Run/Stop** the code below. But before that, " +"you need to go to source code path like ``davinci-kit-for-raspberry-" +"pi/python``." +msgstr "" +"以下のコードを **変更/リセット/コピー/実行/停止** できます。 ただし、その前に、 ``davinci-kit-for-raspberry-pi/python`` のようなソースコードパスに移動する必要があります。" + +#: ../2.2.3_dht-11.rst:464 +msgid "" +"This function is used to implement the functions of DHT11. It stores the " +"detected data in the the_bytes[] array. DHT11 transmits data of 40 bits " +"at a time. The first 16 bits are related to humidity, the middle 16 bits " +"are related to temperature, and the last eight bits are used for " +"verification. The data format is:" +msgstr "" +"この関数はDHT11の関数を実装するために使用される。それは検出されたデータをthe_bytes " +"[]配列に保存する。DHT11は一度に40ビットのデータを点灯する。最初の16ビットは湿度に関連し、中央の16ビットは温度に関連し、最後の8ビットは検証に使用される。データ形式は次のとおりである:" + +#: ../2.2.3_dht-11.rst:470 +msgid "" +"**8bit humidity integer data** +\\ **8bit humidity decimal data** +\\ " +"**8bit temperature integer data** + **8bit temperature decimal data** + " +"**8bit check bit**." +msgstr "" +"**8ビット湿度整数データ** +\\ **8ビット湿度10進データ** +\\ **8ビット温度整数データ** + " +"**8ビット温度10進データ** + **8ビットチェックビット**。" + +#: ../2.2.3_dht-11.rst:474 +msgid "" +"When the validity is detected via the check bit, the function returns two" +" results: 1. error; 2. humidity and temperature." +msgstr "チェックビットを介して有効性が検出されると、関数は2つの結果を返す:1. エラー; 2.湿度と温度。" + +#: ../2.2.3_dht-11.rst:486 +msgid "" +"For example, if the received date is 00101011(8-bit value of humidity " +"integer) 00000000 (8-bit value of humidity decimal) 00111100 (8-bit value" +" of temperature integer) 00000000 (8-bit value of temperature decimal) " +"01100111 (check bit)" +msgstr "たとえば、受信した日付が00101011(湿度整数の8ビット値)00000000(湿度10進数の8ビット値)00111100(温度整数の8ビット値)00000000(温度10進数の8ビット値)01100111(チェックビット)の場合、" + +#: ../2.2.3_dht-11.rst:495 +msgid "" +"If the final result is equal to the check bit data, the data transmission" +" is abnormal: return False." +msgstr "最終結果がチェックビットデータと等しい場合、データ送信は異常である:Falseを返す。" + +#: ../2.2.3_dht-11.rst:498 + +msgid "" +"If the final result is equal to the check bit data, the received data is " +"correct, then there will return the_bytes[0] and the_bytes[2] and output " +"\\\"Humidity =43%,Temperature =60C\\\"." +msgstr "" +"最終結果がチェックビットデータと等しく、受信データは正しい場合、the_bytes [0]とthe_bytes [2]が返され、「Humidity" +" = 43%、Temperature= 60C」が出力される。" + +#: ../2.2.3_dht-11.rst:503 +msgid "Phenomenon Picture" +msgstr "現象画像" + +#~ msgid "" +#~ "If it does not work after running," +#~ " please refer to :ref:`C code is " +#~ "not working?`." +#~ msgstr "" + diff --git a/docs/source/locale/ja/LC_MESSAGES/2.2.4_pir.po b/docs/source/locale/ja/LC_MESSAGES/2.2.4_pir.po new file mode 100644 index 0000000..d76829d --- /dev/null +++ b/docs/source/locale/ja/LC_MESSAGES/2.2.4_pir.po @@ -0,0 +1,210 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, SunFounder +# This file is distributed under the same license as the SunFounder Davinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Davinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-19 18:22+0800\n" +"PO-Revision-Date: 2021-05-28 08:23+0800\n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../2.2.4_pir.rst:2 +msgid "2.2.4 PIR" +msgstr "2.2.4 PIR" + +#: ../2.2.4_pir.rst:5 +msgid "Introduction" +msgstr "前書き" + +#: ../2.2.4_pir.rst:7 +msgid "" +"In this project, we will make a device by using the human body infrared " +"pyroelectric sensors. When someone gets closer to the LED, the LED will " +"turn on automatically. If not, the light will turn off. This infrared " +"motion sensor is a kind of sensor that can detect the infrared emitted by" +" human and animals." +msgstr "このプロジェクトでは、人体の赤外線焦電センサーを使用してデバイスを作成する。誰かがLEDに近づくと、LEDは自動的に点灯する。そうでない場合、ライトは消灯する。この赤外線モーションセンサーは、人間や動物が発する赤外線を検出できるセンサーの一種である。" + +#: ../2.2.4_pir.rst:14 +msgid "Components" +msgstr "部品" + +#: ../2.2.4_pir.rst:20 +msgid "Principle" +msgstr "原理" + +#: ../2.2.4_pir.rst:22 +msgid "" +"The PIR sensor detects infrared heat radiation that can be used to detect" +" the presence of organisms that emit infrared heat radiation." +msgstr "PIRセンサーは、赤外線熱放射を検出し、赤外線熱放射を放出する生物の存在を検出するために使用できる。" + +#: ../2.2.4_pir.rst:25 +msgid "" +"The PIR sensor is split into two slots that are connected to a " +"differential amplifier. Whenever a stationary object is in front of the " +"sensor, the two slots receive the same amount of radiation and the output" +" is zero. Whenever a moving object is in front of the sensor, one of the " +"slots receives more radiation than the other , which makes the output " +"fluctuate high or low. This change in output voltage is a result of " +"detection of motion." +msgstr "PIRセンサーは差動増幅器に接続される2つのスロットに分割される。静止物体がセンサーの前にあるときはいつでも、二つのスロットは同じ量の放射線を受け取り、出力はゼロである。動いている物体がセンサーの前にあるときはいつでも、スロットの一つが他のスロットよりも多くの放射線を受け取り、出力を上下に変動させる。この出力電圧の変化は、動きの検出の結果である。" + +#: ../2.2.4_pir.rst:38 +msgid "" +"After the sensing module is wired, there is a one-minute initialization. " +"During the initialization, module will output for 0~3 times at intervals." +" Then the module will be in the standby mode. Please keep the " +"interference of light source and other sources away from the surface of " +"the module so as to avoid the misoperation caused by the interfering " +"signal. Even you'd better use the module without too much wind, because " +"the wind can also interfere with the sensor." +msgstr "検知モジュールの配線後、1分間の初期化が行われる。初期化中に、モジュールは間隔を置いて0〜3回出力する。その後、モジュールはスタンバイモードになる。干渉信号によって引き起こされる誤動作を避けるために、光源と他の源の干渉をモジュールの表面から遠ざけてください。風はセンサーにも干渉する可能性があるため、風があまり無くてモジュールを使用することをお勧めする。" + +#: ../2.2.4_pir.rst:51 +msgid "**Distance Adjustment**" +msgstr "**距離調整**" + +#: ../2.2.4_pir.rst:54 +msgid "" +"Turning the knob of the distance adjustment potentiometer clockwise, the " +"range of sensing distance increases, and the maximum sensing distance " +"range is about 0-7 meters. If turn it anticlockwise, the range of sensing" +" distance is reduced, and the minimum sensing distance range is about 0-3" +" meters." +msgstr "距離調整ポテンショメータのノブを時計回りに回すと、検知距離の範囲が広がり、最大検知距離範囲は約0〜7メートルである。反時計回りに回すと、検知距離の範囲が狭くなり、最小検知距離の範囲は約0〜3メートルである。" + +#: ../2.2.4_pir.rst:60 +msgid "**Delay adjustment**" +msgstr "**遅延調整**" + +#: ../2.2.4_pir.rst:63 +msgid "" +"Rotate the knob of the delay adjustment potentiometer clockwise, you can " +"also see the sensing delay increasing. The maximum of the sensing elay " +"can reach up to 300s. On the contrary, if rotate it anticlockwise, you " +"can shorten the delay with a minimum of 5s." +msgstr "遅延調整ポテンショメーターのノブを時計回りに回すと、検知遅延が増加することも分かる。検知遅延の最大値は、最大300秒に達する可能性がある。逆に、反時計回りに回転させると、最小5秒で遅延を短縮できる。" + +#: ../2.2.4_pir.rst:68 +msgid "Two trigger modes: (choosing different modes by using the jumper cap)." +msgstr "二つのトリガーモード:(ジャンパーキャップを使用して異なるモードを選択する)。" + +#: ../2.2.4_pir.rst:70 +msgid "" +"**H:** **Repeatable trigger mode**, after sensing the human body, the " +"module outputs high level. During the subsequent delay period, if " +"somebody enters the sensing range,the output will keep being the high " +"level." +msgstr "" +"**H:** **繰り返し可能なトリガーモード**、人体を感知した後、モジュールは高レベルを出力します。 " +"その後の遅延期間中に、誰かが検知範囲に入ると、出力は高レベルのままになります。" + +#: ../2.2.4_pir.rst:75 +msgid "" +"**L:** **Non-repeatable trigger mode**, outputs high level when it senses" +" the human body. After the delay, the output will change from high level " +"into low level automatically." +msgstr "**L:** **繰り返し不可のトリガーモード**、人体を感知すると高レベルを出力します。 遅延後、出力は自動的に高レベルから低レベルに変わります。" + +#: ../2.2.4_pir.rst:80 +msgid "Schematic Diagram" +msgstr "回路図" + +#: ../2.2.4_pir.rst:86 +msgid "Experimental Procedures" +msgstr "実験手順" + +#: ../2.2.4_pir.rst:88 +msgid "**Step 1:** Build the circuit." +msgstr "**ステップ1:** 回路を作る。" + +#: ../2.2.4_pir.rst:96 +msgid "For C Language Users" +msgstr "C言語ユーザー向け" + +#: ../2.2.4_pir.rst:98 ../2.2.4_pir.rst:219 +msgid "**Step 2:** Go to the folder of the code." +msgstr "**ステップ2:** コードのフォルダーに入る。" + +#: ../2.2.4_pir.rst:108 +msgid "**Step 3:** Compile the code." +msgstr "**ステップ3:** コードをコンパイルする。" + +#: ../2.2.4_pir.rst:118 +msgid "**Step 4:** Run the executable file." +msgstr "**ステップ4:** EXEファイルを実行する。" + +#: ../2.2.4_pir.rst:128 ../2.2.4_pir.rst:239 +msgid "" +"After the code runs, PIR detects surroundings and let RGB LED glow yellow" +" if it senses someone walking by. There are two potentiometers on the PIR" +" module: one is to adjust sensitivity and the other is to adjust the " +"detection distance. In order to make the PIR module work better, you need" +" to try to adjust these two potentiometers." +msgstr "" +"コードの実行後、PIRは周囲の状況を検出し、誰かが歩いていることを感知すると、RGB " +"LEDが黄色く光るようにする。PIRモジュールには2つのポテンショメーターがある:1つは感度を調整するためのもので、もう1つは検出距離を調整するためのものである。PIRモジュールの動作を改善するために、これら2つのポテンショメーターを調整する必要がある。" + +#: ../2.2.4_pir.rst:136 +msgid "" +"If it does not work after running, please refer to :ref:`C code is not " +"working?`" +msgstr "実行後に機能しない場合は、:ref:`C code is not working?` を参照してください。" + +#: ../2.2.4_pir.rst:139 ../2.2.4_pir.rst:245 +msgid "**Code**" +msgstr "**コード**" + +#: ../2.2.4_pir.rst:184 ../2.2.4_pir.rst:324 +msgid "**Code Explanation**" +msgstr "**コードの 説明**" + +#: ../2.2.4_pir.rst:191 ../2.2.4_pir.rst:349 +msgid "" +"These codes are used to set the color of the RGB LED, and please refer to" +" :ref:`1.1.2 RGB LED` for more details." +msgstr "これらのコードは、RGB LEDの色を設定するために使用されます。詳細については、:ref:`1.1.2 RGB LED` を参照してください。" + +#: ../2.2.4_pir.rst:213 ../2.2.4_pir.rst:362 +msgid "" +"When PIR detects the human infrared spectrum, RGB LED emits the yellow " +"light; if not, emits the blue light." +msgstr "PIRが人間の赤外線スペクトルを検出すると、RGB LEDが黄色の光を発する。そうでない場合は、青色の光を発する。" + +#: ../2.2.4_pir.rst:217 +msgid "For Python Language Users" +msgstr "Python言語ユーザー向け" + +#: ../2.2.4_pir.rst:229 +msgid "**Step 3:** Run the executable file." +msgstr "**ステップ3:** EXEファイルを実行する。" + +#: ../2.2.4_pir.rst:249 + +msgid "" +"You can **Modify/Reset/Copy/Run/Stop** the code below. But before that, " +"you need to go to source code path like ``davinci-kit-for-raspberry-" +"pi/python``." +msgstr "" +"以下のコードを **変更/リセット/コピー/実行/停止** できます。 ただし、その前に、 ``davinci-kit-for-raspberry-pi/python`` のようなソースコードパスに移動する必要があります。" + +#: ../2.2.4_pir.rst:366 +msgid "Phenomenon Picture" +msgstr "現象画像" + +#~ msgid "" +#~ "If it does not work after running," +#~ " please refer to :ref:`C code is " +#~ "not working?`." +#~ msgstr "" + diff --git a/docs/source/locale/ja/LC_MESSAGES/2.2.5_ultrasonic_sensor_module.po b/docs/source/locale/ja/LC_MESSAGES/2.2.5_ultrasonic_sensor_module.po new file mode 100644 index 0000000..b5d5a7c --- /dev/null +++ b/docs/source/locale/ja/LC_MESSAGES/2.2.5_ultrasonic_sensor_module.po @@ -0,0 +1,250 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, SunFounder +# This file is distributed under the same license as the SunFounder Davinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Davinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-19 18:22+0800\n" +"PO-Revision-Date: 2021-05-28 08:29+0800\n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../2.2.5_ultrasonic_sensor_module.rst:2 +msgid "2.2.5 Ultrasonic Sensor Module" +msgstr "2.2.5 超音波センサーモジュール" + +#: ../2.2.5_ultrasonic_sensor_module.rst:5 +msgid "Introduction" +msgstr "前書き" + +#: ../2.2.5_ultrasonic_sensor_module.rst:7 +msgid "" +"The ultrasonic sensor uses ultrasonic to accurately detect objects and " +"measure distances. It sends out ultrasonic waves and converts them into " +"electronic signals." +msgstr "超音波センサーは超音波を使用して物体を正確に検出し、距離を測定する。超音波を送り出し、電子信号に変換する。" + +#: ../2.2.5_ultrasonic_sensor_module.rst:12 +msgid "Components" +msgstr "部品" + +#: ../2.2.5_ultrasonic_sensor_module.rst:18 +msgid "Principle" +msgstr "原理" + +#: ../2.2.5_ultrasonic_sensor_module.rst:20 +msgid "**Ultrasonic**" +msgstr "**超音波**" + +#: ../2.2.5_ultrasonic_sensor_module.rst:22 +msgid "" +"Ultrasonic ranging module provides 2cm - 400cm non-contact measurement " +"function, and the ranging accuracy can reach to 3mm. It can ensure that " +"the signal is stable within 5m, and the signal is gradually weakened " +"after 5m, till the 7m position disappears." +msgstr "" +"超音波測距モジュールは2cm-" +"400cmの非接触測定機能を提供し、測距精度は3mmに達することができる。信号が5m以内で安定し、5m後に信号が徐々に弱まり、7mの位置が消えることを確認できる。" + +#: ../2.2.5_ultrasonic_sensor_module.rst:27 +msgid "" +"The module includes ultrasonic transmitters, receiver and control " +"circuit. The basic principles are as follows:" +msgstr "モジュールには、超音波送信機、受信機、と制御回路が含まれている。基本的な原理は次のとおりである:" + +#: ../2.2.5_ultrasonic_sensor_module.rst:30 +msgid "(1)Use an IO flip-flop to process a high level signal of at least 10us." +msgstr "(1)IOフリップフロップを使用して、少なくとも10usの高レベル信号を処理する。" + +#: ../2.2.5_ultrasonic_sensor_module.rst:32 +msgid "" +"(2)The module automatically sends eight 40khz and detects if there is a " +"pulse signal return." +msgstr "(2)モジュールは8つの40khzを自動的に送信し、パルス信号が戻すかどうかを検出する。" + +#: ../2.2.5_ultrasonic_sensor_module.rst:35 +msgid "" +"(3)If the signal returns, passing the high level, the high output IO " +"duration is the time from the transmission of the ultrasonic wave to the " +"return of it. Here, test distance = (high time x sound speed (340 m / s) " +"/ 2." +msgstr "" +"(3)信号が戻し、高レベルを通過する場合、高出力IO持続時間は、超音波の送信から信号の戻りまでの時間である。ここでは、テスト距離=(高時間x音速(340" +" m/s)/ 2。" + +#: ../2.2.5_ultrasonic_sensor_module.rst:50 +msgid "" +"The timing diagram is shown below. You only need to supply a short 10us " +"pulse for the trigger input to start the ranging, and then the module " +"will send out an 8 cycle burst of ultrasound at 40 kHz and raise its " +"echo. You can calculate the range through the time interval between " +"sending trigger signal and receiving echo signal." +msgstr "" +"タイミング図を以下に示す。トリガー入力に10usの短いパルスを供給してレンジングを開始するだけで、モジュールは40 " +"kHzで8サイクルの超音波バーストを送信し、エコーを上げる。トリガー信号を送信してからエコー信号を受信するまでの時間間隔で範囲を計算できる。" + +#: ../2.2.5_ultrasonic_sensor_module.rst:56 +msgid "" +"Formula: us / 58 = centimeters or us / 148 =inch; or: the range = high " +"level time \\* velocity (340M/S) / 2; you are suggested to use " +"measurement cycle over 60ms in order to prevent signal collisions of " +"trigger signal and the echo signal." +msgstr "" +"式:us/58 =センチメートルまたはus/148 =インチ;または:範囲=高レベル時間 \\* 速度(340M/S)/ " +"2;トリガー信号とエコー信号の信号衝突を防ぐために、60ms以上の測定サイクルを使用することをお勧めする。" + +#: ../2.2.5_ultrasonic_sensor_module.rst:67 +msgid "Schematic Diagram" +msgstr "回路図" + +#: ../2.2.5_ultrasonic_sensor_module.rst:73 +msgid "Experimental Procedures" +msgstr "実験手順" + +#: ../2.2.5_ultrasonic_sensor_module.rst:75 +msgid "**Step 1:** Build the circuit." +msgstr "**ステップ1:** 回路を作る。" + +#: ../2.2.5_ultrasonic_sensor_module.rst:83 +msgid "For C Language Users" +msgstr "C言語ユーザー向け" + +#: ../2.2.5_ultrasonic_sensor_module.rst:85 +#: ../2.2.5_ultrasonic_sensor_module.rst:268 +msgid "**Step 2:** Go to the folder of the code." +msgstr "**ステップ2:** コードのフォルダーに入る。" + +#: ../2.2.5_ultrasonic_sensor_module.rst:95 +msgid "**Step 3:** Compile the code." +msgstr "**ステップ3:** コードをコンパイルする。" + +#: ../2.2.5_ultrasonic_sensor_module.rst:105 +msgid "**Step 4:** Run the executable file." +msgstr "**ステップ4:** EXEファイルを実行する。" + +#: ../2.2.5_ultrasonic_sensor_module.rst:115 +#: ../2.2.5_ultrasonic_sensor_module.rst:288 +msgid "" +"With the code run, the ultrasonic sensor module detects the distance " +"between the obstacle ahead and the module itself, then the distance value" +" will be printed on the screen." +msgstr "コードを実行すると、超音波センサーモジュールが前方の障害物とモジュール自体の間の距離を検出し、距離値が画面に出力される。" + +#: ../2.2.5_ultrasonic_sensor_module.rst:121 +msgid "" +"If it does not work after running, please refer to :ref:`C code is not " +"working?`" +msgstr "実行後に機能しない場合は、:ref:`C code is not working?` を参照してください。" + +#: ../2.2.5_ultrasonic_sensor_module.rst:123 +#: ../2.2.5_ultrasonic_sensor_module.rst:294 +msgid "**Code**" +msgstr "**コード**" + +#: ../2.2.5_ultrasonic_sensor_module.rst:187 +#: ../2.2.5_ultrasonic_sensor_module.rst:352 +msgid "**Code Explanation**" +msgstr "**コードの説明**" + +#: ../2.2.5_ultrasonic_sensor_module.rst:197 +msgid "" +"Initialize the ultrasonic pin; meanwhile, set Echo to input, Trig to " +"output." +msgstr "超音波ピンを初期化する。一方、Echoを入力、Trigを出力に設定する。" + +#: ../2.2.5_ultrasonic_sensor_module.rst:204 +#: ../2.2.5_ultrasonic_sensor_module.rst:358 +msgid "" +"This function is used to realize the function of ultrasonic sensor by " +"calculating the return detection distance." +msgstr "戻り検出距離を計算することにより、この機能は超音波センサーの機能を実現するために使用される。" + +#: ../2.2.5_ultrasonic_sensor_module.rst:212 +msgid "" +"Struct timeval is a structure used to store the current time. The " +"complete structure is as follows:" +msgstr "構造体timevalは、現在の時刻を保存するために使用される構造体である。完全な構造は次の通りである:" + +#: ../2.2.5_ultrasonic_sensor_module.rst:223 +msgid "" +"Here, tv_sec represents the seconds that Epoch spent when creating struct" +" timeval. Tv_usec stands for microseconds or a fraction of seconds." +msgstr "ここで、tv_secは、エポックがstruct timevalを作成するときに費やした秒を表す。Tv_usecはマイクロ秒または秒の一部を表す。" + +#: ../2.2.5_ultrasonic_sensor_module.rst:233 +msgid "A 10us ultrasonic pulse is being sent out." +msgstr "10usの超音波パルスが送信されている。" + +#: ../2.2.5_ultrasonic_sensor_module.rst:240 +#: ../2.2.5_ultrasonic_sensor_module.rst:375 +msgid "" +"This empty loop is used to ensure that when the trigger signal is sent, " +"there is no interfering echo signal and then get the current time." +msgstr "このempty loopは、トリガー信号が送信されたときに、干渉エコー信号がないことを確認してから現在の時刻を取得するために使用される。" + +#: ../2.2.5_ultrasonic_sensor_module.rst:248 +#: ../2.2.5_ultrasonic_sensor_module.rst:384 +msgid "" +"This empty loop is used to ensure that the next step is not performed " +"until the echo signal is received and then get the current time." +msgstr "このempty loopは、エコー信号が受信されて現在の時刻が取得されるまで次のステップが実行されないようにするために使用される。" + +#: ../2.2.5_ultrasonic_sensor_module.rst:256 +msgid "Convert the time stored by struct timeval into a full microsecond time." +msgstr "struct timevalによって保存された時間を完全なマイクロ秒時間に変換する。" + +#: ../2.2.5_ultrasonic_sensor_module.rst:262 +msgid "" +"The distance is calculated by the time interval and the speed of sound " +"propagation. The speed of sound in the air: 34000cm/s." +msgstr "距離は時間間隔と音の伝播速度によって計算される。空気中の音速:34000cm/s。" + +#: ../2.2.5_ultrasonic_sensor_module.rst:266 +msgid "For Python Language Users" +msgstr "Python言語ユーザー向け" + +#: ../2.2.5_ultrasonic_sensor_module.rst:278 +msgid "**Step 3:** Run the executable file." +msgstr "**ステップ3:** EXEファイルを実行する。" + +#: ../2.2.5_ultrasonic_sensor_module.rst:298 + +msgid "" +"You can **Modify/Reset/Copy/Run/Stop** the code below. But before that, " +"you need to go to source code path like ``davinci-kit-for-raspberry-" +"pi/python``." +msgstr "" +"以下のコードを **変更/リセット/コピー/実行/停止** できます。 ただし、その前に、 ``davinci-kit-for-raspberry-pi/python`` のようなソースコードパスに移動する必要があります。" + +#: ../2.2.5_ultrasonic_sensor_module.rst:367 +msgid "This is sending out a 10us ultrasonic pulse." +msgstr "これは10usの超音波パルスを送信している。" + +#: ../2.2.5_ultrasonic_sensor_module.rst:391 +msgid "Execute the interval calculation." +msgstr "間隔計算を実行する。" + +#: ../2.2.5_ultrasonic_sensor_module.rst:397 +msgid "" +"The distance is calculated in the light of time interval and the speed of" +" sound propagation. The speed of sound in the air: 340m/s." +msgstr "距離は時間間隔の光と音の伝播速度によって計算される。空気中の音速:340m / s。" + +#: ../2.2.5_ultrasonic_sensor_module.rst:401 +msgid "Phenomenon Picture" +msgstr "現象画像" + +#~ msgid "" +#~ "If it does not work after running," +#~ " please refer to :ref:`C code is " +#~ "not working?`." +#~ msgstr "" + diff --git a/docs/source/locale/ja/LC_MESSAGES/2.2.6_mpu6050_module.po b/docs/source/locale/ja/LC_MESSAGES/2.2.6_mpu6050_module.po new file mode 100644 index 0000000..dcd98ae --- /dev/null +++ b/docs/source/locale/ja/LC_MESSAGES/2.2.6_mpu6050_module.po @@ -0,0 +1,318 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, SunFounder +# This file is distributed under the same license as the SunFounder Davinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Davinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-19 18:22+0800\n" +"PO-Revision-Date: 2021-05-28 08:39+0800\n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../2.2.6_mpu6050_module.rst:2 +msgid "2.2.6 MPU6050 Module" +msgstr "2.2.6 MPU6050モジュール" + +#: ../2.2.6_mpu6050_module.rst:5 +msgid "Introduction" +msgstr "前書き" + +#: ../2.2.6_mpu6050_module.rst:7 +msgid "" +"The MPU-6050 is the world’s first and only 6-axis motion tracking devices" +" (3-axis Gyroscope and 3-axis Accelerometer) designed for smartphones, " +"tablets and wearable sensors that have these features, including the low " +"power, low cost, and high performance requirements." +msgstr "MPU-6050は、低消費電力、低コスト、高性能などの機能を備えたスマートフォン、タブレット、ウェアラブルセンサー向けに設計された世界初で唯一の6軸物標追跡装置(3軸ジャイロスコープと3軸加速度センサー)である。" + +#: ../2.2.6_mpu6050_module.rst:12 +msgid "" +"In this experiment, use I2C to obtain the values of the three-axis " +"acceleration sensor and three-axis gyroscope for MPU6050 and display them" +" on the screen." +msgstr "この実験では、I2Cを使用して、MPU6050の3軸加速度センサーと3軸ジャイロスコープの値を取得し、画面に表示する。" + +#: ../2.2.6_mpu6050_module.rst:17 +msgid "Components" +msgstr "部品" + +#: ../2.2.6_mpu6050_module.rst:23 +msgid "Principle" +msgstr "原理" + +#: ../2.2.6_mpu6050_module.rst:25 +msgid "**MPU6050**" +msgstr "**MPU6050**" + +#: ../2.2.6_mpu6050_module.rst:27 +msgid "" +"The MPU-6050 is a 6-axis(combines 3-axis Gyroscope, 3-axis Accelerometer)" +" motion tracking devices." +msgstr "MPU-6050は、6軸(3軸ジャイロスコープ、3軸加速度計を組み合わせた)物標追跡装置である。" + +#: ../2.2.6_mpu6050_module.rst:30 +msgid "Its three coordinate systems are defined as follows:" +msgstr "その三つの座標系は次のように定義される:" + +#: ../2.2.6_mpu6050_module.rst:32 +msgid "" +"Put MPU6050 flat on the table, assure that the face with label is upward " +"and a dot on this surface is on the top left corner. Then the upright " +"direction upward is the z-axis of the chip. The direction from left to " +"right is regarded as the X-axis. Accordingly the direction from back to " +"front is defined as the Y-axis." +msgstr "MPU6050をテーブルの上に平らに置き、ラベルのある面が上向きで、この表面のドットが左上隅にあることを確認してください。次に、上向きの直立方向がチップのz軸である。左から右への方向はX軸と見なされる。したがって、後ろから前への方向はY軸として定義される。" + +#: ../2.2.6_mpu6050_module.rst:41 +msgid "**3-axis Accelerometer**" +msgstr "**3-軸加速度計**" + +#: ../2.2.6_mpu6050_module.rst:43 +msgid "" +"The accelerometer works on the principle of piezo electric effect, the " +"ability of certain materials to generate an electric charge in response " +"to applied mechanical stress." +msgstr "加速度計は加えられた機械応力に応答して電荷を生成する特定の材料の能力である圧電効果の原理で動作する。" + +#: ../2.2.6_mpu6050_module.rst:47 +msgid "" +"Here, imagine a cuboidal box, having a small ball inside it, like in the " +"picture above. The walls of this box are made with piezo electric " +"crystals. Whenever you tilt the box, the ball is forced to move in the " +"direction of the inclination, due to gravity. The wall with which the " +"ball collides, creates tiny piezo electric currents. There are totally, " +"three pairs of opposite walls in a cuboid. Each pair corresponds to an " +"axis in 3D space: X, Y and Z axes. Depending on the current produced from" +" the piezo electric walls, we can determine the direction of inclination " +"and its magnitude." +msgstr "ここで、上記の写真のように、小さなボールの中に直方体の箱があることを想像してください。この箱の壁は圧電結晶で作られている。箱を傾けると、重力によりボールが傾斜の方向に移動する。ボールが衝突する壁は、小さな圧電電流を生成する。合計で、立方体には3組の向かい合った壁がある。各ペアは、3D空間の軸:X、Y、Z軸に対応する。圧電壁から生成される電流に応じて、傾斜の方向とその大きさを決定できる。" + +#: ../2.2.6_mpu6050_module.rst:60 +msgid "" +"We can use the MPU6050 to detect its acceleration on each coordinate axis" +" (in the stationary desktop state, the Z-axis acceleration is 1 gravity " +"unit, and the X and Y axes are 0). If it is tilted or in a " +"weightless/overweight condition, the corresponding reading will change." +msgstr "MPU6050を使用して、各座標軸の加速度を検出できる(静止デスクトップ状態では、Z軸の加速度は1重力単位で、X軸とY軸は0である)。傾斜または無重量/重量超過の状態にある場合、対応する測定値が変化する。" + +#: ../2.2.6_mpu6050_module.rst:65 +msgid "" +"There are four kinds of measuring ranges that can be selected " +"programmatically: +/-2g, +/-4g, +/-8g, and +/-16g (2g by default) " +"corresponding to each precision. Values range from -32768 to 32767." +msgstr "プログラムで選択できる測定範囲には、+/-2g、+/-4g、+/-8g、と各精度に対応する+/-16g(デフォルトでは2g)の4種類がある。値の範囲は-32768〜32767である。" + +#: ../2.2.6_mpu6050_module.rst:69 +msgid "" +"The reading of accelerometer is converted to an acceleration value by " +"mapping the reading from the reading range to the measuring range." +msgstr "読み取り値を測定範囲にマッピングすることにより、加速度計の読み取り値は加速度値に変換される。" + +#: ../2.2.6_mpu6050_module.rst:72 +msgid "" +"Acceleration = (Accelerometer axis raw data / 65536 \\* full scale " +"Acceleration range) g" +msgstr "加速度=(加速度計軸の生データ / 65536 \\* フルスケールの加速度範囲)g" + +#: ../2.2.6_mpu6050_module.rst:75 +msgid "" +"Take the X-axis as an example, when Accelerometer X axis raw data is " +"16384 and the range is selected as +/-2g:" +msgstr "X軸を例として、加速度計X軸の生データは16384の場合、範囲を +/-2gに選択する:" + +#: ../2.2.6_mpu6050_module.rst:78 +msgid "**Acceleration along the X axis = (16384 / 65536 \\* 4) g** **=1g**" +msgstr "**X軸=(16384 / 65536 \\* 4)g による加速度 = 1g**" + +#: ../2.2.6_mpu6050_module.rst:80 +msgid "**3-axis Gyroscope**" +msgstr "**3軸ジャイロスコープ**" + +#: ../2.2.6_mpu6050_module.rst:82 +msgid "" +"Gyroscopes work on the principle of Coriolis acceleration. Imagine that " +"there is a fork like structure, that is in constant back and forth " +"motion. It is held in place using piezo electric crystals. Whenever, you " +"try to tilt this arrangement, the crystals experience a force in the " +"direction of inclination. This is caused as a result of the inertia of " +"the moving fork. The crystals thus produce a current in consensus with " +"the piezo electric effect, and this current is amplified." +msgstr "ジャイロスコープはコリオリ加速の原理で動作する。フォークのような構造があり、常に前後に動いていると想像してください。圧電結晶を使用して所定の位置に保持される。この配置を傾けようとするたびに、結晶は傾斜の方向に力を受ける。これは、可動フォークの慣性の結果によって引き起こされる。したがって、結晶は圧電効果と一致して電流を生成し、この電流は増幅される。" + +#: ../2.2.6_mpu6050_module.rst:94 +msgid "" +"The Gyroscope also has four kinds of measuring ranges: +/- 250, +/- 500, " +"+/- 1000, +/- 2000. The calculation method and Acceleration are basically" +" consistent." +msgstr "また、ジャイロスコープには、+ /-250、+ /-500、+ /-1000、+/- 2000.計算方法と加速は基本的に一貫している。" + +#: ../2.2.6_mpu6050_module.rst:98 +msgid "" +"The formula for converting the reading into angular velocity is as " +"follows:" +msgstr "読み取り値を角速度に変換する式は次の通りである:" + +#: ../2.2.6_mpu6050_module.rst:101 +msgid "" +"Angular velocity = (Gyroscope axis raw data / 65536 \\* full scale " +"Gyroscope range) °/s" +msgstr "角速度=(ジャイロスコープの軸生データ/ 65536 \\*フルスケールジャイロスコープの範囲)°/ s" + +#: ../2.2.6_mpu6050_module.rst:104 +msgid "" +"The X axis, for example, the Accelerometer X axis raw data is 16384 and " +"ranges + / - 250°/ s:" +msgstr "X軸、たとえば、加速度計のX軸の生データは16384で、範囲は+ /-250°/ sである:" + +#: ../2.2.6_mpu6050_module.rst:107 +msgid "" +"**Angular velocity along the X axis = (16384 / 65536 \\* 500)°/s** " +"**=125°/s**" +msgstr "**X軸による角速度 = (16384 / 65536 \\* 500)°/s** **=125°/s**" + +#: ../2.2.6_mpu6050_module.rst:110 +msgid "Schematic Diagram" +msgstr "回路図" + +#: ../2.2.6_mpu6050_module.rst:112 +msgid "" +"MPU6050 communicates with the microcontroller through the I2C bus " +"interface. The SDA1 and SCL1 need to be connected to the corresponding " +"pin." +msgstr "MPU6050はI2Cバスインターフェイスを介してマイクロコントローラーと通信する。SDA1とSCL1を対応するピンに接続する必要がある。" + +#: ../2.2.6_mpu6050_module.rst:122 +msgid "Experimental Procedures" +msgstr "実験手順" + +#: ../2.2.6_mpu6050_module.rst:124 +msgid "**Step 1:** Build the circuit." +msgstr "**ステップ1:** 回路を作る。" + +#: ../2.2.6_mpu6050_module.rst:131 +msgid "**Step 2**: Setup I2C (see Appendix. If you have set I2C, skip this step.)" +msgstr "**ステップ2:** I2C設定(付録を参照してください。I2Cを設定している場合は、この手順をスキップしてください。)" + +#: ../2.2.6_mpu6050_module.rst:135 +msgid "For C Language Users" +msgstr "C言語ユーザー向け" + +#: ../2.2.6_mpu6050_module.rst:137 ../2.2.6_mpu6050_module.rst:355 +msgid "**Step 3:** Go to the folder of the code." +msgstr "**ステップ3:** コードのフォルダーに入る。" + +#: ../2.2.6_mpu6050_module.rst:147 +msgid "**Step 4:** Compile the code." +msgstr "**ステップ4:** コードをコンパイルする。" + +#: ../2.2.6_mpu6050_module.rst:157 +msgid "**Step 5:** Run the executable file." +msgstr "**ステップ5:** EXEファイルを実行する。" + +#: ../2.2.6_mpu6050_module.rst:167 +msgid "" +"With the code run, deflection angle of x axis, y axis and the " +"acceleration, angular velocity on each axis read by MPU6050 will be " +"printed on the screen after being calculating." +msgstr "コードを実行すると、MPU6050によって読み取られたx軸、y軸の転向角、加速度、各軸の角速度が計算後に画面に入力される。" + +#: ../2.2.6_mpu6050_module.rst:173 +msgid "" +"If it does not work after running, please refer to :ref:`C code is not " +"working?`" +msgstr "実行後に機能しない場合は、:ref:`C code is not working?` を参照してください。" + +#: ../2.2.6_mpu6050_module.rst:175 ../2.2.6_mpu6050_module.rst:379 +msgid "**Code**" +msgstr "**コード**" + +#: ../2.2.6_mpu6050_module.rst:269 ../2.2.6_mpu6050_module.rst:461 +msgid "**Code Explanation**" +msgstr "**コードの説明**" + +#: ../2.2.6_mpu6050_module.rst:284 ../2.2.6_mpu6050_module.rst:478 +msgid "Read sensor data sent from MPU6050." +msgstr "MPU6050から送信されたセンサーデータを読み取る。" + +#: ../2.2.6_mpu6050_module.rst:295 +msgid "We get the deflection angle on the Y-axis." +msgstr "Y軸の転向角を取得する。" + +#: ../2.2.6_mpu6050_module.rst:306 +msgid "Calculate the deflection angle of the X-axis." +msgstr "x軸の転向角を計算する。" + +#: ../2.2.6_mpu6050_module.rst:323 ../2.2.6_mpu6050_module.rst:507 +msgid "" +"Read the values of the x axis, y axis and z axis on the gyroscope sensor," +" convert the metadata to angular velocity values, and then print them." +msgstr "ジャイロセンサーのx軸、y軸、z軸の値を読み取り、メタデータを角速度値に変換してから出力する。" + +#: ../2.2.6_mpu6050_module.rst:341 +msgid "" +"Read the values of the x axis, y axis and z axis on the acceleration " +"sensor, convert the metadata to accelerated speed values (gravity unit), " +"and then print them." +msgstr "加速度センサーのx軸、y軸、z軸の値を読み取り、メタデータを加速速度値(重力単位)に変換してから出力する。" + +#: ../2.2.6_mpu6050_module.rst:350 ../2.2.6_mpu6050_module.rst:533 +msgid "Print the deflection angles of the x-axis and y-axis." +msgstr "x軸とy軸の転向角をプリントする。" + +#: ../2.2.6_mpu6050_module.rst:353 +msgid "For Python Language Users" +msgstr "Python言語ユーザー向け" + +#: ../2.2.6_mpu6050_module.rst:365 +msgid "**Step 4:** Run the executable file." +msgstr "**ステップ4:** EXEファイルを実行する。" + +#: ../2.2.6_mpu6050_module.rst:375 +msgid "" +"With the code run, the angle of deflection of the x-axis and y-axis and " +"the acceleration, angular velocity on each axis read by MPU6050 will be " +"printed on the screen after being calculating." +msgstr "コードを実行し、x軸とy軸の転向角、加速度とMPU6050によって読み取られた各軸の角速度は、計算後に画面に入力される。" + +#: ../2.2.6_mpu6050_module.rst:384 + +msgid "" +"You can **Modify/Reset/Copy/Run/Stop** the code below. But before that, " +"you need to go to source code path like ``davinci-kit-for-raspberry-" +"pi/python``." +msgstr "" +"以下のコードを **変更/リセット/コピー/実行/停止** できます。 ただし、その前に、 ``davinci-kit-for-raspberry-pi/python`` のようなソースコードパスに移動する必要があります。" + +#: ../2.2.6_mpu6050_module.rst:487 +msgid "Calculate the deflection angle of the y-axis." +msgstr "y軸の転向角を計算する。" + +#: ../2.2.6_mpu6050_module.rst:495 +msgid "Calculate the deflection angle of the x-axis." +msgstr "x軸の転向角を計算する。" + +#: ../2.2.6_mpu6050_module.rst:524 +msgid "" +"Read the values of the x axis, y axis and z axis on the acceleration " +"sensor, convert the elements to accelerated speed value (gravity unit), " +"and print them." +msgstr "ジャイロセンサーのx軸、y軸、z軸の値を読み取り、メタデータを角速度値に変換してから出力する。" + +#: ../2.2.6_mpu6050_module.rst:536 +msgid "Phenomenon Picture" +msgstr "現象画像" + +#~ msgid "" +#~ "If it does not work after running," +#~ " please refer to :ref:`C code is " +#~ "not working?`." +#~ msgstr "" + diff --git a/docs/source/locale/ja/LC_MESSAGES/2.2.7_mfrc522_rfid_module.po b/docs/source/locale/ja/LC_MESSAGES/2.2.7_mfrc522_rfid_module.po new file mode 100644 index 0000000..cd6a7e6 --- /dev/null +++ b/docs/source/locale/ja/LC_MESSAGES/2.2.7_mfrc522_rfid_module.po @@ -0,0 +1,283 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, SunFounder +# This file is distributed under the same license as the SunFounder Davinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Davinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-19 18:22+0800\n" +"PO-Revision-Date: 2021-05-28 08:44+0800\n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../2.2.7_mfrc522_rfid_module.rst:2 +msgid "2.2.7 MFRC522 RFID Module" +msgstr "2.2.7 MFRC522 RFIDモジュール" + +#: ../2.2.7_mfrc522_rfid_module.rst:5 +msgid "Introduction" +msgstr "前書き" + +#: ../2.2.7_mfrc522_rfid_module.rst:7 +msgid "" +"Radio Frequency Identification (RFID) refers to technologies that use " +"wireless communication between an object (or tag) and interrogating " +"device (or reader) to automatically track and identify such objects." +msgstr "無線周波数識別(RFID)は、オブジェクト(またはタグ)と質問デバイス(またはリーダー)の間の無線通信を使用して、そのようなオブジェクトを自動的に追跡したり識別したりする技術を指す。" + +#: ../2.2.7_mfrc522_rfid_module.rst:11 +msgid "" +"Some of the most common applications for this technology include retail " +"supply chains, military supply chains, automated payment methods, baggage" +" tracking and management, document tracking and pharmaceutical " +"management, to name a few." +msgstr "この技術の最も一般的なアプリケーションには、小売サプライチェーン、軍事サプライチェーン、自動決済方法、荷物の追跡と管理、ドキュメントの追跡と医薬品管理などが含まれておる。" + +#: ../2.2.7_mfrc522_rfid_module.rst:16 +msgid "In this project, we will use RFID for reading and writing." +msgstr "このプロジェクトでは、読み取りと書き込みにRFIDを使用する。" + +#: ../2.2.7_mfrc522_rfid_module.rst:19 +msgid "Components" +msgstr "部品" + +#: ../2.2.7_mfrc522_rfid_module.rst:25 +msgid "Principle" +msgstr "原理" + +#: ../2.2.7_mfrc522_rfid_module.rst:27 +msgid "**RFID**" +msgstr "**RFID**" + +#: ../2.2.7_mfrc522_rfid_module.rst:29 +msgid "" +"Radio Frequency Identification (RFID) refers to technologies that involve" +" using wireless communication between an object (or tag) and an " +"interrogating device (or reader) to automatically track and identify such" +" objects. The tag transmission range is limited to several meters from " +"the reader. A clear line of sight between the reader and tag is not " +"necessarily required." +msgstr "無線周波数識別(RFID)は、オブジェクト(またはタグ)と質問デバイス(またはリーダー)の間の無線通信を使用して、そのようなオブジェクトを自動的に追跡したり識別したりする技術を指す。タグの送信範囲はリーダーから数メートルに制限されている。リーダーとタグの間の明確な見通し線は必ずしも必要ではない。" + +#: ../2.2.7_mfrc522_rfid_module.rst:36 +msgid "" +"Most tags contain at least one integrated circuit (IC) and an antenna. " +"The microchip stores information and is responsible for managing the " +"radio frequency (RF) communication with the reader. Passive tags do not " +"have an independent energy source and depend on an external " +"electromagnetic signal, provided by the reader, to power their " +"operations. Active tags contain an independent energy source, such as a " +"battery. Thus, they may have increased processing, transmission " +"capabilities and range." +msgstr "ほとんどのタグには、少なくとも1つの集積回路(IC)とアンテナが含まれている。マイクロチップは情報を保存し、リーダーとの無線周波数(RF)通信を管理する。パッシブタグは独立したエネルギー源を持たず、リーダーによって提供される外部電磁信号に依存して動作する。しかしアクティブタグバッテリーなどの独立したエネルギー源が含まれている。したがって、処理、送信機能と範囲が拡大している可能性がある。" + +#: ../2.2.7_mfrc522_rfid_module.rst:48 +msgid "**MFRC522**" +msgstr "**MFRC522**" + +#: ../2.2.7_mfrc522_rfid_module.rst:50 +msgid "" +"MFRC522 is a kind of integrated read and write card chip. It is commonly " +"used in the radio at 13.56MHz. Launched by the NXP Company, it is a low-" +"voltage, low-cost, and small-sized non-contact card chip, a best choice " +"of intelligent instrument and portable handheld device." +msgstr "" +"MFRC522は、読み取りと書き込みカードチップの一種である。通常、13.56MHzの無線で使用される。NXP " +"Companyによって発売された低電圧、低コスト、小型の非接触カードチップであり、インテリジェント機器と持ち転びやすい手持ちデバイスの最良の選択である。" + +#: ../2.2.7_mfrc522_rfid_module.rst:55 +msgid "" +"The MF RC522 uses advanced modulation and demodulation concept which " +"fully presented in all types of 13.56MHz passive contactless " +"communication methods and protocols. In addition, it supports rapid " +"CRYPTO1 encryption algorithm to verify MIFARE products. MFRC522 also " +"supports MIFARE series of high-speed non-contact communication, with a " +"two-way data transmission rate up to 424kbit/s. As a new member of the " +"13.56MHz highly integrated reader card series, MF RC522 is much similar " +"to the existing MF RC500 and MF RC530 but there also exists great " +"differences. It communicates with the host machine via the serial manner " +"which needs less wiring. You can choose between SPI, I2C and serial UART " +"mode (similar to RS232), which helps reduce the connection, save PCB " +"board space (smaller size), and reduce cost." +msgstr "" +"MF " +"RC522はすべてのタイプの13.56MHzパッシブ非接触通信方法とプロトコルで完全に開示された高度な変調と復調の概念を使用している。さらに、MIFARE製品を検証するための高速CRYPTO1暗号化アルゴリズムをサポートしている。MFRC522は最大424kbit/sの双方向データ伝送速度で、MIFAREシリーズの高速非接触通信もサポートしている。13.56MHz高集積リーダーカードシリーズの新しいメンバーとして、MF" +" RC522は既存のMF RC500とMF " +"RC530と非常に似ているが、多くの違いがある。配線が少ないシリアル方式でホストマシンと通信する。SPI、I2C、とシリアルUARTモード(RS232に類似)から選択できる。これにより、接続の削減、PCBボードスペースの節約(サイズの縮小)、およびコストの削減に役立つ。" + +#: ../2.2.7_mfrc522_rfid_module.rst:69 +msgid "Schematic Diagram" +msgstr "回路図" + +#: ../2.2.7_mfrc522_rfid_module.rst:75 +msgid "Experimental Procedures" +msgstr "実験手順" + +#: ../2.2.7_mfrc522_rfid_module.rst:77 +msgid "**Step 1:** Build the circuit." +msgstr "**ステップ1:** 回路を作る。" + +#: ../2.2.7_mfrc522_rfid_module.rst:84 +msgid "" +"**Step 2:** Set up SPI (refer to :ref:`Appendix` for more details. If you" +" have set SPI, skip this step.)" +msgstr "" +"**ステップ2:** SPIを設定します(詳細については、:ref:`Appendix` " +"を参照してください。SPIを設定している場合は、このステップをスキップしてください。)" + +#: ../2.2.7_mfrc522_rfid_module.rst:88 +msgid "For C Language Users" +msgstr "C言語ユーザー向け" + +#: ../2.2.7_mfrc522_rfid_module.rst:90 ../2.2.7_mfrc522_rfid_module.rst:195 +msgid "**Step 3:** Go to the folder of the code." +msgstr "**ステップ3:** コードのフォルダーに入る。" + +#: ../2.2.7_mfrc522_rfid_module.rst:100 +msgid "**Step 4:** Compile the code." +msgstr "**ステップ4:** コードをコンパイルする。" + +#: ../2.2.7_mfrc522_rfid_module.rst:112 +msgid "" +"There are two examples for you to read or write the card ID, and you can " +"choose one of them according to your need." +msgstr "カードIDの読み取りまたは書き込みには二つの例があり、必要に応じていずれかを選択できる。" + +#: ../2.2.7_mfrc522_rfid_module.rst:115 +msgid "**Step 5:** Run the executable file." +msgstr "**ステップ5:** EXEファイルを実行する。" + +#: ../2.2.7_mfrc522_rfid_module.rst:135 +msgid "" +"If it does not work after running, please refer to :ref:`C code is not " +"working?`" +msgstr "実行後に機能しない場合は、:ref:`C code is not working?` を参照してください。" + +#: ../2.2.7_mfrc522_rfid_module.rst:137 ../2.2.7_mfrc522_rfid_module.rst:295 +msgid "**Code Explanation**" +msgstr "**コードの説明**" + +#: ../2.2.7_mfrc522_rfid_module.rst:143 +msgid "This function is used to initialize the RFID RC522 module." +msgstr "この関数はRFID RC522モジュールを初期化するために使用される。" + +#: ../2.2.7_mfrc522_rfid_module.rst:149 +msgid "" +"This function is used to read the data of the card, and if the read is " +"successful, it will return \"1\"." +msgstr "この関数はカードのデータを読み取るために使用され、読み取りが成功すると「1」が返されます。" + +#: ../2.2.7_mfrc522_rfid_module.rst:156 +msgid "" +"This function is used to write the data of card and returns \"1\" if the " +"write is successful. \\*data is the information that will be written to " +"the card." +msgstr "この関数はカードのデータを書き込むために使用され、書き込みが成功すると「1」を返します。 \\ * dataは、カードに書き込まれる情報です。" + +#: ../2.2.7_mfrc522_rfid_module.rst:163 +msgid "For Python Language Users" +msgstr "Python言語ユーザー向け" + +#: ../2.2.7_mfrc522_rfid_module.rst:164 +msgid "**Step 2:** Install the libraries." +msgstr " **ステップ2:** ライブラリをインストールします。" + +#: ../2.2.7_mfrc522_rfid_module.rst:166 +msgid "" +"The ``spidev`` library helps handle interactions with the SPI and is a " +"key component to this tutorial as we need it for the Raspberry Pi to " +"interact with the RFID RC522." +msgstr "" + +#: ../2.2.7_mfrc522_rfid_module.rst:168 +msgid "" +"Run the following command to install ``spidev`` to your Raspberry Pi via " +"``pip``." +msgstr "" + +#: ../2.2.7_mfrc522_rfid_module.rst:179 +msgid "" +"Continue to install the MFRC522 library. The MFRC522 library contains two" +" files: ``MFRC522.py`` and ``SimpleMFRC522.py``." +msgstr "" + +#: ../2.2.7_mfrc522_rfid_module.rst:181 +msgid "" +"Among them ``MFRC522.py`` is the realization of RFID RC522 interface, " +"this library handles all the heavy work of communicating with RFID " +"through Pi's SPI interface." +msgstr "" + +#: ../2.2.7_mfrc522_rfid_module.rst:183 +msgid "" +"``SimpleMFRC522.py`` takes the ``MFRC522.py`` file and greatly simplifies" +" it by allowing you to deal with only a few functions instead of a few " +"functions." +msgstr "" + +#: ../2.2.7_mfrc522_rfid_module.rst:205 +msgid "**Step 4:** Run the executable file." +msgstr "**ステップ4:** EXEファイルを実行する。" + +#: ../2.2.7_mfrc522_rfid_module.rst:225 +msgid "" +"After running ``2.2.7_read.py``, it will print the ``id`` and ``text`` of" +" your card in the shell." +msgstr "" + +#: ../2.2.7_mfrc522_rfid_module.rst:226 +msgid "" +"After running ``2.2.7_write.py``, you need to write a message first, " +"press ``Enter`` to confirm, and finally put your card on the MFRC522 RFID" +" module to finish writing." +msgstr "" + +#: ../2.2.7_mfrc522_rfid_module.rst:229 +msgid "**code**" +msgstr "**コード**" + +#: ../2.2.7_mfrc522_rfid_module.rst:233 + +msgid "" +"You can **Modify/Reset/Copy/Run/Stop** the code below. But before that, " +"you need to go to source code path like ``davinci-kit-for-raspberry-" +"pi/python``." +msgstr "" +"以下のコードを **変更/リセット/コピー/実行/停止** できます。 ただし、その前に、 ``davinci-kit-for-raspberry-pi/python`` のようなソースコードパスに移動する必要があります。" + +#: ../2.2.7_mfrc522_rfid_module.rst:301 +msgid "Instantiate ``SimpleMFRC522()`` class." +msgstr "``SimpleMFRC522()`` クラスをインスタンス化します。" + +#: ../2.2.7_mfrc522_rfid_module.rst:307 +msgid "" +"This function is used to read card data. If the reading is successful, id" +" and text will be returned." +msgstr "この機能は、カードデータを読み取るために使用されます。 読み取りが成功すると、IDとテキストが返されます。" + +#: ../2.2.7_mfrc522_rfid_module.rst:313 +msgid "" +"This function is used to write information to the card, press ``Enter`` " +"key to finish writing. ``text`` is the information to be written to the " +"card." +msgstr "" +"この機能は、カードに情報を書き込むために使用されます。「Enter」キーを押して書き込みを終了します。 `` " +"text``は、カードに書き込まれる情報です。" + +#: ../2.2.7_mfrc522_rfid_module.rst:316 +msgid "Phenomenon Picture" +msgstr "現象画像" + +#~ msgid "" +#~ "If it does not work after running," +#~ " please refer to :ref:`C code is " +#~ "not working?`." +#~ msgstr "" + diff --git a/docs/source/locale/ja/LC_MESSAGES/2_input.po b/docs/source/locale/ja/LC_MESSAGES/2_input.po new file mode 100644 index 0000000..6c049dc --- /dev/null +++ b/docs/source/locale/ja/LC_MESSAGES/2_input.po @@ -0,0 +1,31 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, SunFounder +# This file is distributed under the same license as the SunFounder Davinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Davinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-05-20 18:20+0800\n" +"PO-Revision-Date: 2021-05-28 08:45+0800\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" +"Last-Translator: \n" +"Language-Team: \n" +"X-Generator: Poedit 2.4.3\n" + +#: ../2_input.rst:2 +msgid "2 Input" +msgstr "2 入力" + +#: ../2_input.rst:4 +msgid "**2.1 Controllers**" +msgstr "**2.1 コントローラー**" + +#: ../2_input.rst:16 +msgid "**2.2 Sensors**" +msgstr "**2.2 センサー**" diff --git a/docs/source/locale/ja/LC_MESSAGES/3.1.10_alarm_bell.po b/docs/source/locale/ja/LC_MESSAGES/3.1.10_alarm_bell.po new file mode 100644 index 0000000..8a2c63f --- /dev/null +++ b/docs/source/locale/ja/LC_MESSAGES/3.1.10_alarm_bell.po @@ -0,0 +1,372 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, SunFounder +# This file is distributed under the same license as the SunFounder Davinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Davinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-19 18:22+0800\n" +"PO-Revision-Date: 2021-05-28 15:36+0800\n" +"Last-Translator: \n" +"Language: ja\n" +"Language-Team: \n" +"Plural-Forms: nplurals=1; plural=0\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../3.1.10_alarm_bell.rst:2 +msgid "3.1.10 Alarm Bell" +msgstr "3.1.10 警報ベル" + +#: ../3.1.10_alarm_bell.rst:5 +msgid "Introduction" +msgstr "前書き" + +#: ../3.1.10_alarm_bell.rst:7 +msgid "" +"In this course, we will make a manual alarm device. You can replace the " +"toggle switch with a thermistor or a photosensitive sensor to make a " +"temperature alarm or a light alarm." +msgstr "このコースでは、手動警報装置を作成する。トグルスイッチをサーミスタまたは感光センサーに交換して、温度警報または光警報を作成できる。" + +#: ../3.1.10_alarm_bell.rst:12 +msgid "Components" +msgstr "部品" + +#: ../3.1.10_alarm_bell.rst:18 +msgid "Schematic Diagram" +msgstr "回路図" + +#: ../3.1.10_alarm_bell.rst:21 +msgid "T-Board Name" +msgstr "Tボード名" + +#: ../3.1.10_alarm_bell.rst:21 +msgid "physical" +msgstr "physical" + +#: ../3.1.10_alarm_bell.rst:21 +msgid "wiringPi" +msgstr "wiringPi" + +#: ../3.1.10_alarm_bell.rst:21 +msgid "BCM" +msgstr "BCM" + +#: ../3.1.10_alarm_bell.rst:22 +msgid "GPIO17" +msgstr "GPIO17" + +#: ../3.1.10_alarm_bell.rst:22 +msgid "Pin 11" +msgstr "Pin 11" + +#: ../3.1.10_alarm_bell.rst:22 +msgid "0" +msgstr "0" + +#: ../3.1.10_alarm_bell.rst:22 +msgid "17" +msgstr "17" + +#: ../3.1.10_alarm_bell.rst:23 +msgid "GPIO18" +msgstr "GPIO18" + +#: ../3.1.10_alarm_bell.rst:23 +msgid "Pin 12" +msgstr "Pin 12" + +#: ../3.1.10_alarm_bell.rst:23 +msgid "1" +msgstr "1" + +#: ../3.1.10_alarm_bell.rst:23 +msgid "18" +msgstr "18" + +#: ../3.1.10_alarm_bell.rst:24 +msgid "GPIO27" +msgstr "GPIO27" + +#: ../3.1.10_alarm_bell.rst:24 +msgid "Pin 13" +msgstr "Pin 13" + +#: ../3.1.10_alarm_bell.rst:24 +msgid "2" +msgstr "2" + +#: ../3.1.10_alarm_bell.rst:24 +msgid "27" +msgstr "27" + +#: ../3.1.10_alarm_bell.rst:25 +msgid "GPIO22" +msgstr "GPIO22" + +#: ../3.1.10_alarm_bell.rst:25 +msgid "Pin 15" +msgstr "Pin 15" + +#: ../3.1.10_alarm_bell.rst:25 +msgid "3" +msgstr "3" + +#: ../3.1.10_alarm_bell.rst:25 +msgid "22" +msgstr "22" + +#: ../3.1.10_alarm_bell.rst:32 +msgid "Experimental Procedures" +msgstr "実験手順" + +#: ../3.1.10_alarm_bell.rst:34 +msgid "**Step 1**: Build the circuit." +msgstr "**ステップ1:** 回路を作る。" + +msgid "Alarm Bell_bb" +msgstr "Alarm Bell_bb" + +#: ../3.1.10_alarm_bell.rst:41 +msgid "**For C Language Users**" +msgstr "**C言語ユーザー向け**" + +#: ../3.1.10_alarm_bell.rst:43 +msgid "**Step 2**: Change directory." +msgstr "**ステップ2:** ディレクトリを変更する。" + +#: ../3.1.10_alarm_bell.rst:53 +msgid "**Step 3**: Compile." +msgstr "**ステップ3:** コンパイルする。" + +#: ../3.1.10_alarm_bell.rst:63 +msgid "**Step 4**: Run." +msgstr "**ステップ4:** 実行。" + +#: ../3.1.10_alarm_bell.rst:73 ../3.1.10_alarm_bell.rst:239 +msgid "" +"After the program starts, the toggle switch will be toggled to the right," +" and the buzzer will give out alarm sounds. At the same time, the red and" +" green LEDs will flash at a certain frequency." +msgstr "プログラムが起動すると、トグルスイッチが右に切り替わり、ブザーが警報音を出す。同時に、特定の周波数で赤と緑のLEDが点滅する。" + +#: ../3.1.10_alarm_bell.rst:79 +msgid "" +"If it does not work after running, please refer to :ref:`C code is not " +"working?`" +msgstr "実行後に機能しない場合は、:ref:`C code is not working?` を参照してください。" + +#: ../3.1.10_alarm_bell.rst:82 ../3.1.10_alarm_bell.rst:338 +msgid "**Code Explanation**" +msgstr "**コードの説明**" + +#: ../3.1.10_alarm_bell.rst:88 +msgid "" +"In this code, you'll use a new library, pthread.h, which is a set of " +"common thread libraries and can realize multithreading. We add the " +"**-lpthread** parameter at compile time for the independent working of " +"the LED and the buzzer." +msgstr "" +"このコードでは、新しいライブラリpthread.hを使用する。これは、一般的なスレッドライブラリのセットであり、マルチスレッドを実現できる。コンパイル時に" +" **-lpthread** パラメーターを追加して、LEDとブザーを独立して動作させる。" + +#: ../3.1.10_alarm_bell.rst:110 ../3.1.10_alarm_bell.rst:360 +msgid "" +"The function ledWork() helps to set the working state of these 2 LEDs: it" +" keeps the green LED lighting up for 0.5s and then turns off; similarly, " +"keeps the red LED lighting up for 0.5s and then turns off." +msgstr "関数ledWork()は、これら2つのLEDの動作状態を設定するために役立つ:緑色のLEDを0.5秒間点灯させた後、消灯する。同様に、赤いLEDを0.5秒間点灯させてから消灯する。" + +#: ../3.1.10_alarm_bell.rst:131 ../3.1.10_alarm_bell.rst:376 +msgid "" +"The function buzzWork() is used to set the working state of the buzzer. " +"Here we set the frequency as between 130 and 800, to accumulate or decay " +"at an interval of 20." +msgstr "関数buzzWork()は、ブザーの動作状態を設定するために使用される。ここでは、周波数を130〜800に設定し、20の間隔で累積・減衰する。" + +#: ../3.1.10_alarm_bell.rst:149 ../3.1.10_alarm_bell.rst:391 +msgid "In the function on():" +msgstr "関数on()で:" + +#: ../3.1.10_alarm_bell.rst:151 ../3.1.10_alarm_bell.rst:393 + +msgid "" +"Define the mark \\\"flag=1\\\", indicating the ending of the control " +"thread." +msgstr "制御スレッドの終了を示すマーク「flag = 1」を定義する。" + +#: ../3.1.10_alarm_bell.rst:154 +msgid "Create a software-controlled tone pin **BeepPin**." +msgstr "ソフトウェア制御のトーンピン **BeepPin** を作成する。" + +#: ../3.1.10_alarm_bell.rst:156 +msgid "" +"Create two separate threads so that the LED and the buzzer can work at " +"the same time." +msgstr "LEDとブザーが同時に動作できるように、二つの個別のスレッドを作成する。" + +#: ../3.1.10_alarm_bell.rst:159 +msgid "**pthread_t tLed:** Declare a thread **tLed**." +msgstr "**pthread_t tLed:** スレッド **tLed** を宣言する。" + +#: ../3.1.10_alarm_bell.rst:161 + +msgid "" +"**pthread_create(&tLed,NULL,ledWork,NULL):** Create the thread and its " +"prototype is as follows:" +msgstr "**pthread_create(&tLed、NULL、ledWork、NULL):** スレッドを作成し、そのプロトタイプは次の通りである:" + +#: ../3.1.10_alarm_bell.rst:164 +msgid "" +"int pthread_create(pthread_t \\*restrict tidp,const pthread_attr_t " +"\\*restrict_attr,void*(*start_rtn)(void*),void \\*restrict arg);" +msgstr "" +"int pthread_create(pthread_t \\*restrict tidp,const pthread_attr_t " +"\\*restrict_attr,void*(*start_rtn)(void*),void \\*restrict arg);" + +#: ../3.1.10_alarm_bell.rst:167 +msgid "**Return the Value**" +msgstr "**値を返す**" + +#: ../3.1.10_alarm_bell.rst:169 + +msgid "" +"If successful, return \\\"**0**\\\";otherwise, return the **fall number**" +" \\\"**-1**\\\"." +msgstr "成功した場合は「**0**」を返し、それ以外の場合は落下数「**-1**」を返します。" + +#: ../3.1.10_alarm_bell.rst:172 +msgid "**Parameter**" +msgstr "**パラメータ**" + +#: ../3.1.10_alarm_bell.rst:174 +msgid "The first parameter is a pointer to the thread identifier." +msgstr "最初のパラメーターは、スレッドIDへのポインターです。" + +#: ../3.1.10_alarm_bell.rst:175 +msgid "The second one is used to set the thread attribute." +msgstr "2つ目は、スレッド属性を設定するために使用されます。" + +#: ../3.1.10_alarm_bell.rst:176 +msgid "The third one is the starting address of the thread running function." +msgstr "3番目は、スレッド実行関数の開始アドレスです。" + +#: ../3.1.10_alarm_bell.rst:177 +msgid "The last one is the one that runs the function." +msgstr "最後のものは、関数を実行するものです。" + +#: ../3.1.10_alarm_bell.rst:189 ../3.1.10_alarm_bell.rst:423 + +msgid "" +"The function Off() defines \\\"flag=0\\\" so as to exit the threads " +"**ledWork** and **BuzzWork** and then turn off the buzzer and the LED." +msgstr "" +"スレッド **ledWork** と **BuzzWork** を終了するために、関数Off()は「flag = " +"0」を定義しそして、ブザーとLEDをオフにする。" + +#: ../3.1.10_alarm_bell.rst:210 ../3.1.10_alarm_bell.rst:438 +msgid "" +"Main() contains the whole process of the program: firstly read the value " +"of the slide switch; if the toggle switch is toggled to the right (the " +"reading is 1), the function on() is called, the buzzer is driven to emit " +"sounds and the the red and the green LEDs blink. Otherwise, the buzzer " +"and the LED don’t work." +msgstr "Main()には、プログラムのプロセス全体が含まれている:まず、スライドスイッチの値を読み取る。トグルスイッチが右に切り替えられた場合(読み取り値が1)、関数on()が呼び出され、ブザーが駆動されて音が鳴り、赤と緑のLEDが点滅する。そうしないと、ブザーとLEDが機能しない。" + +#: ../3.1.10_alarm_bell.rst:217 +msgid "**For Python Language Users**" +msgstr "**Python言語ユーザー向け**" + +#: ../3.1.10_alarm_bell.rst:219 +msgid "**Step 2:** Change directory." +msgstr "**ステップ2:** ディレクトリを変更する。" + +#: ../3.1.10_alarm_bell.rst:229 +msgid "**Step 3:** Run." +msgstr "**ステップ3:** 実行する。" + +#: ../3.1.10_alarm_bell.rst:243 +msgid "**Code**" +msgstr "**コード**" + +#: ../3.1.10_alarm_bell.rst:247 + +msgid "" +"You can **Modify/Reset/Copy/Run/Stop** the code below. But before that, " +"you need to go to source code path like ``davinci-kit-for-raspberry-" +"pi/python``." +msgstr "" +"以下のコードを **変更/リセット/コピー/実行/停止** できます。 ただし、その前に、 ``davinci-kit-for-raspberry-pi/python`` のようなソースコードパスに移動する必要があります。" + +#: ../3.1.10_alarm_bell.rst:344 +msgid "" +"Here, we import the **Threading** module and it allows you to do multiple" +" things at once, while normal programs can only execute code from top to " +"bottom. With **Threading** modules, the LED and the buzzer can work " +"separately." +msgstr "" +"ここでは、 **Threading** " +"モジュールをインポートし、複数のことを一度に行えるようにするが、通常のプログラムはコードを上から下にしか実行できない。 **Threading**" +" モジュールを使用すると、LEDとブザーを個別に動作させることができる。" + +#: ../3.1.10_alarm_bell.rst:396 +msgid "Start the Buzz, and set the duty cycle to 50%." +msgstr "バズを開始し、デューティサイクルを50%に設定する。" + +#: ../3.1.10_alarm_bell.rst:398 +msgid "" +"Create **2** separate threads so that the LED and the buzzer can work at " +"the same time." +msgstr "LEDとブザ **ー** が同時に動作できるように、二つの個別のスレッドを作成する。" + +#: ../3.1.10_alarm_bell.rst:401 + +msgid "" +"tBuzz = threading.Thread(target=buzzerWork) **:** Create the thread and " +"its prototype is as follows:" +msgstr "" +"tBuzz = threading.Thread(target = buzzerWork) **:** " +"スレッドを作成すると、そのプロトタイプは以下の通りである:" + +#: ../3.1.10_alarm_bell.rst:405 +msgid "" +"class threading.Thread(group=None, target=None, name=None, args=(), " +"kwargs={}, \\*, daemon=None)" +msgstr "" +"class threading.Thread(group=None, target=None, name=None, args=(), " +"kwargs={}, \\*, daemon=None)" + +#: ../3.1.10_alarm_bell.rst:407 + +msgid "" +"Among the construction methods, the principal parameter is **target**, we" +" need to assign a callable object (here are the functions **ledWork** and" +" **BuzzWork** ) to **target**." +msgstr "" +"構築メソッドの中で、主要なパラメーターは **ターゲット** であり、呼び出し可能なオブジェクト(ここでは関数 **ledWork** と " +"**BuzzWork** )を **ターゲット** に割り当てる必要がある。" + +#: ../3.1.10_alarm_bell.rst:411 +msgid "" +"Next **start()** is called to start the thread object, ex., tBuzz.start()" +" is used to start the newly installed tBuzz thread." +msgstr "" +"次に、スレッドオブジェクトを開始するために **start()** " +"が呼び出される。たとえば、tBuzz.start()は、新しくインストールされたtBuzzスレッドを開始するために使用される。" + +#: ../3.1.10_alarm_bell.rst:445 +msgid "Phenomenon Picture" +msgstr "現象画像" + +#~ msgid "" +#~ "If it does not work after running," +#~ " please refer to :ref:`C code is " +#~ "not working?`." +#~ msgstr "" + diff --git a/docs/source/locale/ja/LC_MESSAGES/3.1.11_morse_code_generator.po b/docs/source/locale/ja/LC_MESSAGES/3.1.11_morse_code_generator.po new file mode 100644 index 0000000..710c994 --- /dev/null +++ b/docs/source/locale/ja/LC_MESSAGES/3.1.11_morse_code_generator.po @@ -0,0 +1,258 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, SunFounder +# This file is distributed under the same license as the SunFounder Davinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Davinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-19 18:22+0800\n" +"PO-Revision-Date: 2021-05-28 10:23+0800\n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../3.1.11_morse_code_generator.rst:2 +msgid "3.1.11 Morse Code Generator" +msgstr "3.1.11 モールス符号ジェネレーター" + +#: ../3.1.11_morse_code_generator.rst:5 +msgid "Introduction" +msgstr "前書き" + +#: ../3.1.11_morse_code_generator.rst:7 +msgid "" +"In this lesson, we'll make a Morse code generator, where you type in a " +"series of English letters in the Raspberry Pi to make it appear as Morse " +"code." +msgstr "このレッスンでは、モールス符号ジェネレーターを作成する。ここでは、Raspberry Piに一連の英語の文字を入力して、モールス符号として表示する。" + +#: ../3.1.11_morse_code_generator.rst:12 +msgid "Components" +msgstr "部品" + +#: ../3.1.11_morse_code_generator.rst:18 +msgid "Schematic Diagram" +msgstr "回路図" + +#: ../3.1.11_morse_code_generator.rst:21 +msgid "T-Board Name" +msgstr "Tボード名" + +#: ../3.1.11_morse_code_generator.rst:21 +msgid "physical" +msgstr "physical" + +#: ../3.1.11_morse_code_generator.rst:21 +msgid "wiringPi" +msgstr "wiringPi" + +#: ../3.1.11_morse_code_generator.rst:21 +msgid "BCM" +msgstr "BCM" + +#: ../3.1.11_morse_code_generator.rst:22 +msgid "GPIO17" +msgstr "GPIO17" + +#: ../3.1.11_morse_code_generator.rst:22 +msgid "Pin 11" +msgstr "Pin 11" + +#: ../3.1.11_morse_code_generator.rst:22 +msgid "0" +msgstr "0" + +#: ../3.1.11_morse_code_generator.rst:22 +msgid "17" +msgstr "17" + +#: ../3.1.11_morse_code_generator.rst:23 +msgid "GPIO22" +msgstr "GPIO22" + +#: ../3.1.11_morse_code_generator.rst:23 +msgid "Pin 15" +msgstr "Pin 15" + +#: ../3.1.11_morse_code_generator.rst:23 +msgid "3" +msgstr "3" + +#: ../3.1.11_morse_code_generator.rst:23 +msgid "22" +msgstr "22" + +#: ../3.1.11_morse_code_generator.rst:30 +msgid "Experimental Procedures" +msgstr "実験手順" + +#: ../3.1.11_morse_code_generator.rst:32 +msgid "" +"**Step 1:** Build the circuit. (Pay attention to poles of the buzzer: The" +" one with + label is the positive pole and the other is the negative.)" +msgstr "**ステップ1:** 回路を作る。(ブザーの両極に注意してください:+ラベルが付いている方が正極で、もう一方が負極である。)" + +msgid "Morse_bb" +msgstr "Morse_bb" + +#: ../3.1.11_morse_code_generator.rst:41 +msgid "**For C Language Users**" +msgstr "**C言語ユーザー向け**" + +#: ../3.1.11_morse_code_generator.rst:43 ../3.1.11_morse_code_generator.rst:229 +msgid "**Step 2**: Open the code file." +msgstr "**ステップ2:** コードファイルを開く。" + +#: ../3.1.11_morse_code_generator.rst:53 +msgid "**Step 3**: Compile the code." +msgstr "**ステップ3:** コードをコンパイルする。" + +#: ../3.1.11_morse_code_generator.rst:63 +msgid "**Step 4**: Run the executable file above." +msgstr "**ステップ4:** EXEファイルを実行する。" + +#: ../3.1.11_morse_code_generator.rst:73 ../3.1.11_morse_code_generator.rst:249 +msgid "" +"After the program runs, type a series of characters, and the buzzer and " +"the LED will send the corresponding Morse code signals." +msgstr "プログラムの実行後、一連の文字を入力すると、ブザーとLEDが対応するモールス信号を送信する。" + +#: ../3.1.11_morse_code_generator.rst:78 +msgid "" +"If it does not work after running, please refer to :ref:`C code is not " +"working?`" +msgstr "実行後に機能しない場合は、:ref:`C code is not working?` を参照してください。" + +#: ../3.1.11_morse_code_generator.rst:81 ../3.1.11_morse_code_generator.rst:327 +msgid "**Code Explanation**" +msgstr "**コードの説明**" + +#: ../3.1.11_morse_code_generator.rst:103 +#: ../3.1.11_morse_code_generator.rst:342 + +msgid "" +"This structure MORSE is the dictionary of the Morse code, containing " +"characters A-Z, numbers 0-9 and marks \\\"?\\\" \\\"/\\\" \\\":\\\" " +"\\\",\\\" \\\".\\\" \\\";\\\" \\\"!\\\" \\\"@\\\" ." +msgstr "" +"この構造MORSEは、モールス符号のディクショナリで、文字A〜Z、数字0〜9とマークを含む「?」 「/」 「:」 「,」 「.」 「;」 「!」 " +"「@」 ." + +#: ../3.1.11_morse_code_generator.rst:118 + +msgid "" +"The function **lookup()** works by \\\"checking the dictionary\\\". " +"Define a **key,** search the same words as **key** in the structure " +"**morseDict** and return the corresponding information— \\\"**code**\\\" " +"of the certain word." +msgstr "" +"関数 **lookup()** は、「checking the dictionary」によって機能する。 **キー** を定義し、構造 " +"**morseDict** の **キー** と同じ単語を検索し、対応する情報(特定の単語の「**コード**」)を返す。" + +#: ../3.1.11_morse_code_generator.rst:130 +msgid "Create a function on() to start the buzzer and the LED." +msgstr "関数on()を作成して、ブザーとLEDを起動する。" + +#: ../3.1.11_morse_code_generator.rst:139 +msgid "The function off() turns off the buzzer and the LED." +msgstr "関数off()はブザーとLEDをオフにする。" + +#: ../3.1.11_morse_code_generator.rst:150 +#: ../3.1.11_morse_code_generator.rst:369 +msgid "" +"Define a function beep() to make the buzzer and the LED emit sounds and " +"blink in a certain interval of **dt**." +msgstr "関数beep()を定義して、ブザーとLEDが特定の **dt** 間隔で音を鳴らして点滅するようにする。" + +#: ../3.1.11_morse_code_generator.rst:175 +#: ../3.1.11_morse_code_generator.rst:384 + +msgid "" +"The function morsecode() is used to process the Morse code of input " +"characters by making the \\\"1\\\" of the code keep emitting sounds or " +"lights and the \\\"0\\\"shortly emit sounds or lights, ex., input " +"\\\"SOS\\\", and there will be a signal containing three short three long" +" and then three short segments \\\" · · · - - - · · · \\\"." +msgstr "" +"関数morsecode()はコードの「1」が音または光を放射し続け、「0」が音または光を短時間放射することにより、入力文字のモールス符号を処理するために使用される。たとえば、「SOS」を入力すると、" +" 3つの短い、3つの長いと3つの短いセグメントを含む信号になる“ • • • - - - • • • ”。" + +#: ../3.1.11_morse_code_generator.rst:197 +msgid "Before coding, you need to unify the letters into capital letters." +msgstr "コーディングする前に、文字を大文字に統一しなければならない。" + +#: ../3.1.11_morse_code_generator.rst:217 +msgid "" +"When you type the relevant characters with the keyboard, " +"code=strupr(code) will convert the input letters to their capital form." +msgstr "キーボードで関連する文字を入力すると、code = strupr(code)は入力文字を大文字に変換する。" + +#: ../3.1.11_morse_code_generator.rst:220 +msgid "" +"Printf() then prints the clear text on the computer screen, and the " +"morsecod() function causes the buzzer and the LED to emit Morse code." +msgstr "Printf()はコンピューター画面にクリアテキストをプリントし、morsecod()関数はブザーとLEDからモールス符号を出力させる。" + +#: ../3.1.11_morse_code_generator.rst:223 +msgid "" +"Note that the length of the input character mustn’t exceed the **length**" +" (can be revised)." +msgstr "入力文字の長さは、 **長さ** を超えないことに注意してください(訂正可能)。" + +#: ../3.1.11_morse_code_generator.rst:227 +msgid "**For Python Language Users**" +msgstr "**Python言語ユーザー向け**" + +#: ../3.1.11_morse_code_generator.rst:239 +msgid "**Step 3**: Run." +msgstr "**ステップ3:** 実行する。" + +#: ../3.1.11_morse_code_generator.rst:252 +msgid "**Code**" +msgstr "**コード**" + +#: ../3.1.11_morse_code_generator.rst:256 + +msgid "" +"You can **Modify/Reset/Copy/Run/Stop** the code below. But before that, " +"you need to go to source code path like ``davinci-kit-for-raspberry-" +"pi/python``." +msgstr "" +"以下のコードを **変更/リセット/コピー/実行/停止** できます。 ただし、その前に、 ``davinci-kit-for-raspberry-pi/python`` のようなソースコードパスに移動する必要があります。" + +#: ../3.1.11_morse_code_generator.rst:351 +msgid "The function on() starts the buzzer and the LED." +msgstr "関数on()はブザーとLEDを起動する。" + +#: ../3.1.11_morse_code_generator.rst:359 +msgid "The function off() is used to turn off the buzzer and the LED." +msgstr "関数off()はブザーとLEDをオフにする。" + +#: ../3.1.11_morse_code_generator.rst:399 +msgid "" +"When you type the relevant characters with the keyboard, upper() will " +"convert the input letters to their capital form." +msgstr "キーボードで関連する文字を入力すると、upper()は入力文字を大文字に変換する。" + +#: ../3.1.11_morse_code_generator.rst:402 +msgid "" +"Printf () then prints the clear text on the computer screen, and the " +"morsecod() function causes the buzzer and the LED to emit Morse code." +msgstr "Printf()はコンピューター画面にクリアテキストをプリントし、morsecod()関数はブザーとLEDからモールス符号を出力させる。" + +#: ../3.1.11_morse_code_generator.rst:407 +msgid "Phenomenon Picture" +msgstr "現象画像" + +#~ msgid "" +#~ "If it does not work after running," +#~ " please refer to :ref:`C code is " +#~ "not working?`." +#~ msgstr "" + diff --git a/docs/source/locale/ja/LC_MESSAGES/3.1.12_game_guess_number.po b/docs/source/locale/ja/LC_MESSAGES/3.1.12_game_guess_number.po new file mode 100644 index 0000000..ccab35b --- /dev/null +++ b/docs/source/locale/ja/LC_MESSAGES/3.1.12_game_guess_number.po @@ -0,0 +1,462 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, SunFounder +# This file is distributed under the same license as the SunFounder Davinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Davinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-19 18:22+0800\n" +"PO-Revision-Date: 2021-05-28 10:40+0800\n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../3.1.12_game_guess_number.rst:2 +msgid "3.1.12 GAME– Guess Number" +msgstr "3.1.12 ゲーム–数字推測" + +#: ../3.1.12_game_guess_number.rst:5 +msgid "Introduction" +msgstr "前書き" + +#: ../3.1.12_game_guess_number.rst:7 +msgid "" +"Guessing Numbers is a fun party game where you and your friends take " +"turns inputting a number (0~99). The range will be smaller with the " +"inputting of the number till a player answers the riddle correctly. Then " +"the player is defeated and punished. For example, if the lucky number is " +"51 which the players cannot see, and the player ① inputs 50, the prompt " +"of number range changes to 50~99; if the player ② inputs 70, the range of" +" number can be 50~70; if the player ③ inputs 51, this player is the " +"unlucky one. Here, we use keypad to input numbers and use LCD to output " +"outcomes." +msgstr "数字を推測することは、あなたとあなたの友人が交互に数字を入力する楽しいパーティーゲームである(0〜99)。プレーヤーがなぞなぞに正しく答えるまで、数字を入力すると範囲は小さくなる。その後、プレイヤーは敗北し、処罰される。たとえば、ラッキーナンバーが51で、プレーヤーがそれを見ることができず、プレーヤー①が50を入力する場合、番号範囲は50〜99に変わる。もしプレイヤー②が70を入力する場合、番号の範囲は50〜70になる。プレイヤー③が51を入力した場合、このプレイヤーは不運なプレイヤーである。ここでは、キーパッドを使用して数字を入力し、LCDを使用して結果を表示させる。" + +#: ../3.1.12_game_guess_number.rst:18 +msgid "Components" +msgstr "部品" + +#: ../3.1.12_game_guess_number.rst:24 +msgid "Schematic Diagram" +msgstr "回路図" + +#: ../3.1.12_game_guess_number.rst:27 +msgid "T-Board Name" +msgstr "Tボード名" + +#: ../3.1.12_game_guess_number.rst:27 +msgid "physical" +msgstr "physical" + +#: ../3.1.12_game_guess_number.rst:27 +msgid "wiringPi" +msgstr "wiringPi" + +#: ../3.1.12_game_guess_number.rst:27 +msgid "BCM" +msgstr "BCM" + +#: ../3.1.12_game_guess_number.rst:28 +msgid "GPIO18" +msgstr "GPIO18" + +#: ../3.1.12_game_guess_number.rst:28 +msgid "Pin 12" +msgstr "Pin 12" + +#: ../3.1.12_game_guess_number.rst:28 +msgid "1" +msgstr "1" + +#: ../3.1.12_game_guess_number.rst:28 +msgid "18" +msgstr "18" + +#: ../3.1.12_game_guess_number.rst:29 +msgid "GPIO23" +msgstr "GPIO23" + +#: ../3.1.12_game_guess_number.rst:29 +msgid "Pin 16" +msgstr "Pin 16" + +#: ../3.1.12_game_guess_number.rst:29 +msgid "4" +msgstr "4" + +#: ../3.1.12_game_guess_number.rst:29 +msgid "23" +msgstr "23" + +#: ../3.1.12_game_guess_number.rst:30 +msgid "GPIO24" +msgstr "GPIO24" + +#: ../3.1.12_game_guess_number.rst:30 +msgid "Pin 18" +msgstr "Pin 18" + +#: ../3.1.12_game_guess_number.rst:30 +msgid "5" +msgstr "5" + +#: ../3.1.12_game_guess_number.rst:30 +msgid "24" +msgstr "24" + +#: ../3.1.12_game_guess_number.rst:31 +msgid "GPIO25" +msgstr "GPIO25" + +#: ../3.1.12_game_guess_number.rst:31 +msgid "Pin 22" +msgstr "Pin 22" + +#: ../3.1.12_game_guess_number.rst:31 +msgid "6" +msgstr "6" + +#: ../3.1.12_game_guess_number.rst:31 +msgid "25" +msgstr "25" + +#: ../3.1.12_game_guess_number.rst:32 +msgid "SPIMOSI" +msgstr "SPIMOSI" + +#: ../3.1.12_game_guess_number.rst:32 +msgid "Pin 19" +msgstr "Pin 19" + +#: ../3.1.12_game_guess_number.rst:32 +msgid "12" +msgstr "12" + +#: ../3.1.12_game_guess_number.rst:32 +msgid "10" +msgstr "10" + +#: ../3.1.12_game_guess_number.rst:33 +msgid "GPIO22" +msgstr "GPIO22" + +#: ../3.1.12_game_guess_number.rst:33 +msgid "Pin 15" +msgstr "Pin 15" + +#: ../3.1.12_game_guess_number.rst:33 +msgid "3" +msgstr "3" + +#: ../3.1.12_game_guess_number.rst:33 +msgid "22" +msgstr "22" + +#: ../3.1.12_game_guess_number.rst:34 +msgid "GPIO27" +msgstr "GPIO27" + +#: ../3.1.12_game_guess_number.rst:34 +msgid "Pin 13" +msgstr "Pin 13" + +#: ../3.1.12_game_guess_number.rst:34 +msgid "2" +msgstr "2" + +#: ../3.1.12_game_guess_number.rst:34 +msgid "27" +msgstr "27" + +#: ../3.1.12_game_guess_number.rst:35 +msgid "GPIO17" +msgstr "GPIO17" + +#: ../3.1.12_game_guess_number.rst:35 +msgid "Pin 11" +msgstr "Pin 11" + +#: ../3.1.12_game_guess_number.rst:35 +msgid "0" +msgstr "0" + +#: ../3.1.12_game_guess_number.rst:35 +msgid "17" +msgstr "17" + +#: ../3.1.12_game_guess_number.rst:36 +msgid "SDA1" +msgstr "SDA1" + +#: ../3.1.12_game_guess_number.rst:36 +msgid "Pin 3" +msgstr "Pin 3" + +#: ../3.1.12_game_guess_number.rst:36 +msgid "SDA1(8)" +msgstr "SDA1(8)" + +#: ../3.1.12_game_guess_number.rst:36 +msgid "SDA1(2)" +msgstr "SDA1(2)" + +#: ../3.1.12_game_guess_number.rst:37 +msgid "SCL1" +msgstr "SCL1" + +#: ../3.1.12_game_guess_number.rst:37 +msgid "Pin 5" +msgstr "Pin 5" + +#: ../3.1.12_game_guess_number.rst:37 +msgid "SCL1(9)" +msgstr "SCL1(9)" + +#: ../3.1.12_game_guess_number.rst:37 +msgid "SDA1(3)" +msgstr "SDA1(3)" + +#: ../3.1.12_game_guess_number.rst:44 +msgid "Experimental Procedures" +msgstr "**実験手順**" + +#: ../3.1.12_game_guess_number.rst:46 +msgid "**Step 1:** Build the circuit." +msgstr "**ステップ1:** 回路を作る。" + +msgid "Guess Number_bb" +msgstr "Guess Number_bb" + +#: ../3.1.12_game_guess_number.rst:52 +msgid "**Step 2**: Setup I2C (see Appendix. If you have set I2C, skip this step.)" +msgstr "**ステップ2:** I2C設定(付録を参照してください。I2Cを設定している場合は、この手順をスキップしてください。)" + +#: ../3.1.12_game_guess_number.rst:56 +msgid "**For C Language Users**" +msgstr "**C言語ユーザー向け**" + +#: ../3.1.12_game_guess_number.rst:58 ../3.1.12_game_guess_number.rst:285 +msgid "**Step 3**: Change directory." +msgstr "**ステップ3:** ディレクトリを変更する。" + +#: ../3.1.12_game_guess_number.rst:68 +msgid "**Step 4**: Compile." +msgstr "**ステップ4:** コンパイルする。" + +#: ../3.1.12_game_guess_number.rst:78 +msgid "**Step 5**: Run." +msgstr "**ステップ5:** 実行する。" + +#: ../3.1.12_game_guess_number.rst:88 ../3.1.12_game_guess_number.rst:305 +msgid "After the program runs, there displays the initial page on the LCD:" +msgstr "プログラムの実行後、LCDに最初のページが表示される:" + +#: ../3.1.12_game_guess_number.rst:95 ../3.1.12_game_guess_number.rst:312 + +msgid "" +"Press \\'A\\', and the game will start and the game page will appear on " +"the LCD." +msgstr "「A」を押すと、ゲームが開始され、ゲームページがLCDに表示される。" + +#: ../3.1.12_game_guess_number.rst:105 +msgid "" +"If it does not work after running, please refer to :ref:`C code is not " +"working?`" +msgstr "実行後に機能しない場合は、:ref:`C code is not working?` を参照してください。" + +#: ../3.1.12_game_guess_number.rst:108 ../3.1.12_game_guess_number.rst:320 + +msgid "" +"A random number \\'**point**\\' is produced but not displayed on the LCD " +"when the game starts, and what you need to do is to guess it. The number " +"you have typed appears at the end of the first line till the final " +"calculation is finished. (Press \\'D\\' to start the comparation, and if " +"the input number is larger than **10**, the automatic comparation will " +"start.)" +msgstr "" +"乱数の 「**point**」 " +"が生成されるが、ゲームの開始時にLCDに表示されない。必要なのはそれを推測することである。最終計算が完了するまで入力した数値は最初の行の最後に表示される。(「D」を押して比較を開始し、入力値が" +" **10** より大きい場合、自動比較が開始される。)" + +#: ../3.1.12_game_guess_number.rst:115 ../3.1.12_game_guess_number.rst:327 + +msgid "" +"The number range of \\'point\\' is displayed on the second line. And you " +"must type the number within the range. When you type a number, the range " +"narrows; if you got the lucky number luckily or unluckily, there will " +"appear \\\"You've got it!\\\"" +msgstr "" +"「ポイント」の番号範囲が2行目に表示される。そして、範囲内の数値を入力しなければならない。数値を入力すると、範囲が狭くなる。幸運にも不運にもラッキーナンバーを獲得した場合、「You've" +" got it!」と表示される" + +#: ../3.1.12_game_guess_number.rst:120 ../3.1.12_game_guess_number.rst:470 +msgid "**Code Explanation**" +msgstr "**コードの説明**" + +#: ../3.1.12_game_guess_number.rst:122 ../3.1.12_game_guess_number.rst:472 +msgid "" +"At the beginning part of the code are the functional functions of " +"**keypad** and **I2C LCD1602**. You can learning more details about them " +"in **1.1.7 I2C LCD1602** and **2.1.5 Keypad.**" +msgstr "" +"コードの最初の部分は **キーパッド** と **I2C LCD1602** の機能である。それらの詳細については、 :ref:`1.1.7 " +"I2C LCD1602` と :ref:`2.1.5 Keypad` を参照ください。" + +#: ../3.1.12_game_guess_number.rst:126 ../3.1.12_game_guess_number.rst:476 +msgid "Here, what we need to know is as follows:" +msgstr "ここで、以下のことをわかる必要がある:" + +#: ../3.1.12_game_guess_number.rst:146 + +msgid "" +"This function is used to initially define **I2C LCD1602** and **Keypad** " +"and to display \\\"Welcome!\\\" and \\\"Press A to go!\\\"." +msgstr "" +"この関数は元々 **I2C LCD1602** と **Keypad** を定義し、「Welcome!」と「Press A to " +"go!」を表示するために使用される。" + +#: ../3.1.12_game_guess_number.rst:160 ../3.1.12_game_guess_number.rst:488 + +msgid "" +"The function produces the random number \\'**point**\\' and resets the " +"range hint of the point." +msgstr "この関数は乱数「 **point** 」を生成し、ポイントの範囲ヒントをリセットしする。" + +#: ../3.1.12_game_guess_number.rst:184 + +msgid "" +"detect_point() compares the input number with the produced \\\"point\\\"." +" If the comparing outcome is that they are not same, **count** will " +"assign values to **upper** and **lower** and return \\'**0**\\'; " +"otherwise, if the outcome indicates they are same, there returns " +"\\'**1**\\'." +msgstr "" +"detect_point()は入力番号を生成された「point」と比較する。比較結果が同じではない場合、 **count** は値を **上限**" +" と **下限** に割り当て、「 **0** 」を返す。それ以外の場合、結果が同じであると示す場合、「 **1** 」を返す。" + +#: ../3.1.12_game_guess_number.rst:212 +msgid "" +"This function works for displaying the game page. Pay attention to the " +"function **Int2Str(str,count)**, it converts these variables **count**, " +"**lower**, and **upper** from **integer** to **character string** for the" +" correct display of **lcd**." +msgstr "" +"この関数はゲームページを表示するために使用される。関数 **Int2Str(str、count)** " +"に注意してください。lcdを正しく表示するために、これらの変数 **count** 、 **lower** と **upper** を " +"**整数** から **文字列** に変換する。" + +#: ../3.1.12_game_guess_number.rst:259 ../3.1.12_game_guess_number.rst:562 +msgid "Main() contains the whole process of the program, as show below:" +msgstr "Main()には、以下に示すように、プログラムのプロセス全体が含まれている:" + +#: ../3.1.12_game_guess_number.rst:261 ../3.1.12_game_guess_number.rst:564 +msgid "Initialize **I2C LCD1602** and **Keypad**." +msgstr "**I2C LCD1602** と **キーパッド** を初期化する。" + +#: ../3.1.12_game_guess_number.rst:263 +msgid "Use **init_new_value()** to create a random number **0-99**." +msgstr "**init_new_value()** を使用して、 **0〜99** の乱数を作成する。" + +#: ../3.1.12_game_guess_number.rst:265 ../3.1.12_game_guess_number.rst:566 +msgid "Judge whether the button is pressed and get the button reading." +msgstr "ボタンが押されているかどうかを判断し、ボタンの読み取り値を取得する。" + +#: ../3.1.12_game_guess_number.rst:267 ../3.1.12_game_guess_number.rst:568 + +msgid "" +"If the button \\'**A**\\' is pressed, a random number **0-99** will " +"appear then the game starts." +msgstr "ボタン「 **A** 」を押すと、 **0〜99** の乱数が表示され、ゲームが開始される。" + +#: ../3.1.12_game_guess_number.rst:270 + +msgid "" +"If the button \\'**D**\\' is detected to have been pressed, the program " +"will enter into the outcome judgement and will display the outcome on the" +" LCD. This step helps that you can also judge the outcome when you press " +"only one number and then the button \\'**D**\\'." +msgstr "" +"ボタン「 **D** " +"」が押されたことが検出されると、プログラムは結果判定に入り、LCDに結果を表示する。このステップは数字を1つだけ押してからボタン「 **D** " +"」を押したときの結果を判断するために役立つ。" + +#: ../3.1.12_game_guess_number.rst:276 ../3.1.12_game_guess_number.rst:574 +msgid "" +"If the button **0-9** is pressed, the value of **count** will be changed;" +" if the **count** is larger than **10**, then the judgement starts." +msgstr "ボタン **0-9** を押すと、**coun** の値が変更されます。 **カウント** が **10** より大きい場合、判断が開始されます。" + +#: ../3.1.12_game_guess_number.rst:280 ../3.1.12_game_guess_number.rst:578 +msgid "The changes of the game and its values are displayed on **LCD1602**." +msgstr "ゲームの変化とその値は **LCD1602** に表示される。" + +#: ../3.1.12_game_guess_number.rst:283 +msgid "**For Python Language Users**" +msgstr "**Python言語ユーザー向け**" + +#: ../3.1.12_game_guess_number.rst:295 +msgid "**Step 4**: Run." +msgstr "**ステップ4:** 実行。" + +#: ../3.1.12_game_guess_number.rst:332 +msgid "**Code**" +msgstr "**コード**" + +#: ../3.1.12_game_guess_number.rst:336 + +msgid "" +"You can **Modify/Reset/Copy/Run/Stop** the code below. But before that, " +"you need to go to source code path like ``davinci-kit-for-raspberry-" +"pi/python``." +msgstr "" +"以下のコードを **変更/リセット/コピー/実行/停止** できます。 ただし、その前に、 ``davinci-kit-for-raspberry-pi/python`` のようなソースコードパスに移動する必要があります。" + +#: ../3.1.12_game_guess_number.rst:507 + +msgid "" +"detect_point() compares the input number (**count**) with the produced " +"\\\"**point**\\\". If the comparing outcome is that they are not same, " +"**count** will assign values to **upper** and **lower** and return " +"\\'**0**\\'; otherwise, if the outcome indicates they are same, there " +"returns \\'**1**\\'." +msgstr "" +"detect_point() は入力番号 (**count**) を生成された「 **point** 」と比較する。比較結果が同じではない場合、 " +"**count** は値を **上限** と **下限** に割り当て、「 **0** 」を返す。それ以外の場合、結果が同じであると示す場合、「 " +"**1** 」を返す。" + +#: ../3.1.12_game_guess_number.rst:529 +msgid "This function works for displaying the game page." +msgstr "この関数はゲームページを表示するために使用される。" + +#: ../3.1.12_game_guess_number.rst:531 +msgid "" +"str(count): Because **write()** can only support the data type — " +"**character string**, **str()** is needed to convert the **number** into " +"**string**." +msgstr "" +"sstr(count): Because **write()** はデータ型のみをサポートできるため、 **文字列**, **str()** は " +"**数値** を **文字列** に変換するために必要である。" + +#: ../3.1.12_game_guess_number.rst:571 + +msgid "" +"If the button \\'**D**\\' is detected to have been pressed, the program " +"will enter into the outcome judgement." +msgstr "ボタン「 **D** 」が押されたことが検出されると、プログラムは結果判定に入る。" + +#: ../3.1.12_game_guess_number.rst:581 +msgid "Phenomenon Picture" +msgstr "現象画像" + +#~ msgid "" +#~ "If it does not work after running," +#~ " please refer to :ref:`C code is " +#~ "not working?`." +#~ msgstr "" + diff --git a/docs/source/locale/ja/LC_MESSAGES/3.1.13_game_10_second.po b/docs/source/locale/ja/LC_MESSAGES/3.1.13_game_10_second.po new file mode 100644 index 0000000..2c9007a --- /dev/null +++ b/docs/source/locale/ja/LC_MESSAGES/3.1.13_game_10_second.po @@ -0,0 +1,305 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, SunFounder +# This file is distributed under the same license as the SunFounder Davinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Davinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-19 18:22+0800\n" +"PO-Revision-Date: 2021-05-28 10:46+0800\n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../3.1.13_game_10_second.rst:2 +msgid "3.1.13 GAME– 10 Second" +msgstr "3.1.13 ゲーム– 10秒" + +#: ../3.1.13_game_10_second.rst:5 +msgid "Introduction" +msgstr "前書き" + +#: ../3.1.13_game_10_second.rst:7 +msgid "" +"Next, follow me to make a game device to challenge your concentration. " +"Tie the tilt switch to a stick to make a magic wand. Shake the wand, the " +"4-digit segment display will start counting, shake again will let it stop" +" counting. If you succeed in keeping the displayed count at **10.00**, " +"then you win. You can play the game with your friends to see who is the " +"time wizard." +msgstr "それから、あなたの集中力に挑戦できるゲームデバイスを作ろう。傾斜スイッチをスティックにつないで、魔法の棒を作る。棒を振ると、4桁のセグメントディスプレイがカウントを開始し、もう一度振るとカウントを停止する。表示されたカウントを10.00に保つことに成功した場合、あなたが勝つ。友達とゲームをプレイして、タイムウィザードが誰かを確認できる。" + +#: ../3.1.13_game_10_second.rst:15 +msgid "Components" +msgstr "部品" + +#: ../3.1.13_game_10_second.rst:21 +msgid "Schematic Diagram" +msgstr "回路図" + +#: ../3.1.13_game_10_second.rst:24 +msgid "T-Board Name" +msgstr "Tボード名" + +#: ../3.1.13_game_10_second.rst:24 +msgid "physical" +msgstr "physical" + +#: ../3.1.13_game_10_second.rst:24 +msgid "wiringPi" +msgstr "wiringPi" + +#: ../3.1.13_game_10_second.rst:24 +msgid "BCM" +msgstr "BCM" + +#: ../3.1.13_game_10_second.rst:25 +msgid "GPIO17" +msgstr "GPIO17" + +#: ../3.1.13_game_10_second.rst:25 +msgid "Pin 11" +msgstr "Pin 11" + +#: ../3.1.13_game_10_second.rst:25 +msgid "0" +msgstr "0" + +#: ../3.1.13_game_10_second.rst:25 +msgid "17" +msgstr "17" + +#: ../3.1.13_game_10_second.rst:26 +msgid "GPIO27" +msgstr "GPIO27" + +#: ../3.1.13_game_10_second.rst:26 +msgid "Pin 13" +msgstr "Pin 13" + +#: ../3.1.13_game_10_second.rst:26 +msgid "2" +msgstr "2" + +#: ../3.1.13_game_10_second.rst:26 +msgid "27" +msgstr "27" + +#: ../3.1.13_game_10_second.rst:27 +msgid "GPIO22" +msgstr "GPIO22" + +#: ../3.1.13_game_10_second.rst:27 +msgid "Pin 15" +msgstr "Pin 15" + +#: ../3.1.13_game_10_second.rst:27 +msgid "3" +msgstr "3" + +#: ../3.1.13_game_10_second.rst:27 +msgid "22" +msgstr "22" + +#: ../3.1.13_game_10_second.rst:28 +msgid "SPIMOSI" +msgstr "SPIMOSI" + +#: ../3.1.13_game_10_second.rst:28 +msgid "Pin 19" +msgstr "Pin 19" + +#: ../3.1.13_game_10_second.rst:28 +msgid "12" +msgstr "12" + +#: ../3.1.13_game_10_second.rst:28 +msgid "10" +msgstr "10" + +#: ../3.1.13_game_10_second.rst:29 +msgid "GPIO18" +msgstr "GPIO18" + +#: ../3.1.13_game_10_second.rst:29 +msgid "Pin 12" +msgstr "Pin 12" + +#: ../3.1.13_game_10_second.rst:29 +msgid "1" +msgstr "1" + +#: ../3.1.13_game_10_second.rst:29 +msgid "18" +msgstr "18" + +#: ../3.1.13_game_10_second.rst:30 +msgid "GPIO23" +msgstr "GPIO23" + +#: ../3.1.13_game_10_second.rst:30 +msgid "Pin 16" +msgstr "Pin 16" + +#: ../3.1.13_game_10_second.rst:30 +msgid "4" +msgstr "4" + +#: ../3.1.13_game_10_second.rst:30 +msgid "23" +msgstr "23" + +#: ../3.1.13_game_10_second.rst:31 +msgid "GPIO24" +msgstr "GPIO24" + +#: ../3.1.13_game_10_second.rst:31 +msgid "Pin 18" +msgstr "Pin 18" + +#: ../3.1.13_game_10_second.rst:31 +msgid "5" +msgstr "5" + +#: ../3.1.13_game_10_second.rst:31 +msgid "24" +msgstr "24" + +#: ../3.1.13_game_10_second.rst:32 +msgid "GPIO26" +msgstr "GPIO26" + +#: ../3.1.13_game_10_second.rst:32 +msgid "Pin 37" +msgstr "Pin 37" + +#: ../3.1.13_game_10_second.rst:32 +msgid "25" +msgstr "25" + +#: ../3.1.13_game_10_second.rst:32 +msgid "26" +msgstr "26" + +#: ../3.1.13_game_10_second.rst:39 +msgid "Experimental Procedures" +msgstr "実験手順" + +#: ../3.1.13_game_10_second.rst:41 +msgid "**Step 1**: Build the circuit." +msgstr "**ステップ1:** 回路を作る。" + +msgid "10 second_bb" +msgstr "10 second_bb" + +#: ../3.1.13_game_10_second.rst:48 +msgid "**For C Language Users**" +msgstr "**C言語ユーザー向け**" + +#: ../3.1.13_game_10_second.rst:50 ../3.1.13_game_10_second.rst:138 +msgid "**Step 2**: Go to the folder of the code." +msgstr "**ステップ2:** コードのフォルダーに入る。" + +#: ../3.1.13_game_10_second.rst:60 +msgid "**Step 3**: Compile the code." +msgstr "**ステップ3:** コードをコンパイルする。" + +#: ../3.1.13_game_10_second.rst:70 +msgid "**Step 4**: Run the executable file." +msgstr "**ステップ4:** EXEファイルを実行する。" + +#: ../3.1.13_game_10_second.rst:80 ../3.1.13_game_10_second.rst:158 +msgid "" +"Shake the wand, the 4-digit segment display will start counting, shake " +"again will let it stop counting. If you succeed in keeping the displayed " +"count at **10.00**, then you win. Shake it one more time to start the " +"next round of the game." +msgstr "" +"棒を振ると、4桁のセグメントディスプレイがカウントを開始し、もう一度振るとカウントを停止する。表示されたカウントを **10.00** " +"に保つことに成功した場合、あなたが勝つ。もう一度振って、ゲームの次のラウンドを開始する。" + +#: ../3.1.13_game_10_second.rst:87 +msgid "" +"If it does not work after running, please refer to :ref:`C code is not " +"working?`" +msgstr "実行後に機能しない場合は、:ref:`C code is not working?` を参照してください。" + +#: ../3.1.13_game_10_second.rst:90 ../3.1.13_game_10_second.rst:283 +msgid "**Code Explanation**" +msgstr "**コードの説明**" + +#: ../3.1.13_game_10_second.rst:106 ../3.1.13_game_10_second.rst:300 +msgid "The game is divided into two modes:" +msgstr "ゲームは二つのモードに分けられている:" + +#: ../3.1.13_game_10_second.rst:108 ../3.1.13_game_10_second.rst:302 + +msgid "" +"gameState=0 is the \\\"start\\\" mode, in which the time is timed and " +"displayed on the segment display, and the tilting switch is shaken to " +"enter the \\\"show\\\" mode." +msgstr "" +"gameState = " +"0は「開始」モードであり、このモードでは、時間を計測してセグメントディスプレイに表示し、傾斜スイッチを振って「表示」モードに入る。" + +#: ../3.1.13_game_10_second.rst:112 ../3.1.13_game_10_second.rst:306 + +msgid "" +"GameState =1 is the \\\"show\\\" mode, which stops the timing and " +"displays the time on the segment display. Shaking the tilt switch again " +"will reset the timer and restart the game." +msgstr "" +"GameState = " +"1は「表示」モードであり、タイミングを停止し、セグメントディスプレイに時間を表示する。傾斜スイッチを再度振ると、タイマーがリセットされ、ゲームが再起動する。" + +#: ../3.1.13_game_10_second.rst:131 ../3.1.13_game_10_second.rst:323 +msgid "" +"Loop() is the main function. First, the time is displayed on the 4-bit " +"segment display and the value of the tilt switch is read. If the state of" +" the tilt switch has changed, stateChange() is called." +msgstr "Loop()が主な関数である。最初に、4ビットセグメントディスプレイに時間が表示され、傾斜スイッチの値が読み取られる。傾斜スイッチの状態が変更された場合、stateChange()が呼び出される。" + +#: ../3.1.13_game_10_second.rst:136 +msgid "**For Python Language Users**" +msgstr "**Python言語ユーザー向け**" + +#: ../3.1.13_game_10_second.rst:148 +msgid "**Step 3**: Run the executable file." +msgstr "**ステップ3:** EXEファイルを実行する。" + +#: ../3.1.13_game_10_second.rst:163 +msgid "**Code**" +msgstr "**コード**" + +#: ../3.1.13_game_10_second.rst:167 + +msgid "" +"You can **Modify/Reset/Copy/Run/Stop** the code below. But before that, " +"you need to go to source code path like ``davinci-kit-for-raspberry-" +"pi/python``." +msgstr "" +"以下のコードを **変更/リセット/コピー/実行/停止** できます。 ただし、その前に、 ``davinci-kit-for-raspberry-pi/python`` のようなソースコードパスに移動する必要があります。" + +#: ../3.1.13_game_10_second.rst:336 +msgid "" +"After the interval reaches 0.01s, the timer function is called; add 1 to " +"counter, and the timer is used again to execute itself repeatedly every " +"0.01s." +msgstr "間隔が0.01秒に達すると、Timer関数が呼び出される。カウンターに1を追加すると、タイマーが再び使用されて、0.01秒ごとに繰り返し実行される。" + +#: ../3.1.13_game_10_second.rst:341 +msgid "Phenomenon Picture" +msgstr "現象画像" + +#~ msgid "" +#~ "If it does not work after running," +#~ " please refer to :ref:`C code is " +#~ "not working?`." +#~ msgstr "" + diff --git a/docs/source/locale/ja/LC_MESSAGES/3.1.14_game_not_not.po b/docs/source/locale/ja/LC_MESSAGES/3.1.14_game_not_not.po new file mode 100644 index 0000000..8a35ca7 --- /dev/null +++ b/docs/source/locale/ja/LC_MESSAGES/3.1.14_game_not_not.po @@ -0,0 +1,539 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, SunFounder +# This file is distributed under the same license as the SunFounder Davinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Davinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-19 18:22+0800\n" +"PO-Revision-Date: 2021-05-28 11:19+0800\n" +"Last-Translator: \n" +"Language: ja\n" +"Language-Team: \n" +"Plural-Forms: nplurals=1; plural=0\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../3.1.14_game_not_not.rst:2 +msgid "3.1.14 GAME– Not Not" +msgstr "3.1.14 ゲーム–Not Not-頭脳耐久ゲーム" + +#: ../3.1.14_game_not_not.rst:5 +msgid "Introduction" +msgstr "前書き" + +#: ../3.1.14_game_not_not.rst:7 + +msgid "" +"In this lesson, we will make an interesting game device, and we call it " +"\\\"Not Not\\\"." +msgstr "このレッスンでは、面白いゲームデバイスを作成し、「Not Not」と呼ぶ。" + +#: ../3.1.14_game_not_not.rst:9 +msgid "" +"During the game, the dot matrix will refresh an arrow randomly. What you " +"need to do is to press the button in the opposite direction of the arrow " +"within a limited time. If the time is up, or if the button in the same " +"direction as the arrow is pressed, you are out." +msgstr "ゲーム中、ドットマトリックスは矢印をランダムに更新する。必要なのは、限られた時間内に矢印の反対方向にボタンを押すことである。時間になった場合、または矢印と同じ方向のボタンが押された場合、敗北すると意味する。" + +#: ../3.1.14_game_not_not.rst:11 +msgid "" +"This game can really practice your reverse thinking, and now shall we " +"have a try?" +msgstr "このゲームは本当にあなたの逆思考を実践することができる。" + +#: ../3.1.14_game_not_not.rst:14 +msgid "Components" +msgstr "部品" + +#: ../3.1.14_game_not_not.rst:20 +msgid "Schematic Diagram" +msgstr "回路図" + +#: ../3.1.14_game_not_not.rst:23 +msgid "T-Board Name" +msgstr "Tボード名" + +#: ../3.1.14_game_not_not.rst:23 +msgid "physical" +msgstr "physical" + +#: ../3.1.14_game_not_not.rst:23 +msgid "wiringPi" +msgstr "wiringPi" + +#: ../3.1.14_game_not_not.rst:23 +msgid "BCM" +msgstr "BCM" + +#: ../3.1.14_game_not_not.rst:24 +msgid "GPIO17" +msgstr "GPIO17" + +#: ../3.1.14_game_not_not.rst:24 +msgid "Pin 11" +msgstr "Pin 11" + +#: ../3.1.14_game_not_not.rst:24 +msgid "0" +msgstr "0" + +#: ../3.1.14_game_not_not.rst:24 +msgid "17" +msgstr "17" + +#: ../3.1.14_game_not_not.rst:25 +msgid "GPIO18" +msgstr "GPIO18" + +#: ../3.1.14_game_not_not.rst:25 +msgid "Pin 12" +msgstr "Pin 12" + +#: ../3.1.14_game_not_not.rst:25 +msgid "1" +msgstr "1" + +#: ../3.1.14_game_not_not.rst:25 +msgid "18" +msgstr "18" + +#: ../3.1.14_game_not_not.rst:26 +msgid "GPIO27" +msgstr "GPIO27" + +#: ../3.1.14_game_not_not.rst:26 +msgid "Pin 13" +msgstr "Pin 13" + +#: ../3.1.14_game_not_not.rst:26 +msgid "2" +msgstr "2" + +#: ../3.1.14_game_not_not.rst:26 +msgid "27" +msgstr "27" + +#: ../3.1.14_game_not_not.rst:27 +msgid "GPIO20" +msgstr "GPIO20" + +#: ../3.1.14_game_not_not.rst:27 +msgid "Pin 38" +msgstr "Pin 38" + +#: ../3.1.14_game_not_not.rst:27 +msgid "28" +msgstr "28" + +#: ../3.1.14_game_not_not.rst:27 +msgid "20" +msgstr "20" + +#: ../3.1.14_game_not_not.rst:28 +msgid "GPIO26" +msgstr "GPIO26" + +#: ../3.1.14_game_not_not.rst:28 +msgid "Pin 37" +msgstr "Pin 37" + +#: ../3.1.14_game_not_not.rst:28 +msgid "25" +msgstr "25" + +#: ../3.1.14_game_not_not.rst:28 +msgid "26" +msgstr "26" + +#: ../3.1.14_game_not_not.rst:35 +msgid "Experimental Procedures" +msgstr "実験手順" + +#: ../3.1.14_game_not_not.rst:37 +msgid "**Step 1:** Build the circuit." +msgstr "**ステップ1:** 回路を作る。" + +#: ../3.1.14_game_not_not.rst:44 +msgid "**For C Language Users**" +msgstr "**C言語ユーザー向け**" + +#: ../3.1.14_game_not_not.rst:46 +msgid "**Step 2:** Go to the folder of code." +msgstr "**ステップ2:** コードのフォルダに移動します。" + +#: ../3.1.14_game_not_not.rst:56 +msgid "**Step 3**: Compile." +msgstr "**ステップ3:** コンパイルします。" + +#: ../3.1.14_game_not_not.rst:66 +msgid "**Step 4**: Run." +msgstr "**ステップ4:** 実行します。" + +#: ../3.1.14_game_not_not.rst:76 + +msgid "" +"After the program starts, a left or right arrow will be refreshed at " +"random on the dot matrix. What you need to do is to press the button in " +"the opposite direction of the arrow within a limited time. Then " +"\\\"**√**\\\" appears on the dot matrix. If the time is up, or if the " +"button in the same direction as the arrow is pressed, you are out and the" +" dot matrix displays \\\"x\\\". You can also add 2 new buttons or replace" +" them with Joystick keys for up, down, left and right— 4 directions to " +"increase the difficulty of the game." +msgstr "" +"プログラムの開始後、左矢印または右矢印がドットマトリックス上でランダムに更新されます。 " +"限られた時間内に矢印の反対方向にボタンを押す必要があります。 次に、「**√**」がドットマトリックスに表示されます。 " +"時間切れの場合、または矢印と同じ方向のボタンが押された場合は、外に出て、ドットマトリックスに「x」が表示されます。 " +"また、2つの新しいボタンを追加したり、上下左右のジョイスティックキーに置き換えたりすることもできます。4方向でゲームの難易度を上げることができます。" + +#: ../3.1.14_game_not_not.rst:87 +msgid "" +"If it does not work after running, please refer to :ref:`C code is not " +"working?`" +msgstr "実行後に機能しない場合は、:ref:`C code is not working?` を参照してください。" + +#: ../3.1.14_game_not_not.rst:90 ../3.1.14_game_not_not.rst:443 +msgid "**Code Explanation**" +msgstr "**コードの説明**" + +#: ../3.1.14_game_not_not.rst:92 ../3.1.14_game_not_not.rst:445 +msgid "" +"Based on **1.1.6 LED Dot Matrix**, this lesson adds **2** buttons to make" +" an amusing game device. So, if you are not very familiar with the dot " +"matrix, please refer to :ref:`1.1.6 LED Dot Matrix`." +msgstr "" +"**1.1.6 LEDドットマトリックス** に基づいて、このレッスンでは **2** ボタンを追加して面白いゲームデバイスを作成します。 " +"したがって、ドットマトリックスにあまり詳しくない場合は、:ref:`1.1.6 LED Dot Matrix` を参照してください。" + +#: ../3.1.14_game_not_not.rst:96 ../3.1.14_game_not_not.rst:449 +msgid "The whole program process is as below:" +msgstr "プログラム全体のプロセスは次のとおりである:" + +#: ../3.1.14_game_not_not.rst:98 ../3.1.14_game_not_not.rst:454 +msgid "Randomly select an arrow direction and generate **timer 1**." +msgstr "矢印の方向をランダムに選択し、 **タイマー1** を生成する。" + +#: ../3.1.14_game_not_not.rst:100 +msgid "Display the arrow image on the dot matrix." +msgstr "ドットマトリックスに矢印画像を表示する。" + +#: ../3.1.14_game_not_not.rst:102 ../3.1.14_game_not_not.rst:458 +msgid "" +"Judge the button input. If the button is pressed or **timer 1** reminds " +"time’s up, judgement starts." +msgstr "ボタン入力を判断する。ボタンが押されるか、 **タイマー1** が時間切れを想起させると、判定が開始される。" + +#: ../3.1.14_game_not_not.rst:105 ../3.1.14_game_not_not.rst:461 +msgid "" +"Display the image on the basis of a judging result; meanwhile, generate " +"**timer 2**." +msgstr "判定結果に基づいて画像を表示する。その間、 **タイマー2** を生成する。" + +#: ../3.1.14_game_not_not.rst:108 ../3.1.14_game_not_not.rst:464 +msgid "Rerun **step 1** when **timer 2** reminds time’s up." +msgstr "**タイマー2** が時間切れを想起させると、 **ステップ1** を再実行する。" + +#: ../3.1.14_game_not_not.rst:131 +msgid "" +"GLYPH structure works like a dictionary: the **word** attribute " +"corresponds to the **key** on the dictionary; the **code** attribute " +"corresponds to the **value**." +msgstr "" +"GLYPH構造は辞書のように動作します。**word** 属性は辞書の **key** に対応し、**コード** 属性は **value** " +"に対応します。" + +#: ../3.1.14_game_not_not.rst:135 +msgid "" +"Here, code is used to store an array for dot matrix to display images (an" +" 8x8 bit array)." +msgstr "ここでは、ドットマトリックスが画像を表示するための配列(8×8ビットの配列)を格納するためのコードを使用しています。" + +#: ../3.1.14_game_not_not.rst:138 +msgid "" +"Here, the array **arrow** can be used to display the arrow pattern in up," +" down, left and right directions on the LED dot matrix." +msgstr "ここでは、配列 **arrow** を用いて、上下左右の矢印パターンをLEDドットマトリクスに表示することができます。" + +#: ../3.1.14_game_not_not.rst:141 +msgid "Now **down** and **up** are commented and uncomment them if needed." +msgstr "**上下** が付注され、必要に応じて解除できる。" + +#: ../3.1.14_game_not_not.rst:143 + +msgid "" +"The array **check** is used to display these two images: \\\"**×**\\\" " +"and \\\"**√**\\\"." +msgstr "配列 **チェック** を使用して、これらの2つの画像「 **×** 」と「 **√** 」を表示する。" + +#: ../3.1.14_game_not_not.rst:157 +msgid "" +"The function **lookup()** works by \\\"checking the dictionary\\\". " +"Define a **key,** search the same words as **key** in the structure " +"**GLYPH \\*glyph** and return the corresponding information— " +"\\\"**code**\\\" of the certain word." +msgstr "" +"関数 **lookup()** は、「checking the dictionary」によって機能する。 **キー** を定義し、構造 " +"**GLYPH \* glyph** のキーと同じ単語を検索し、対応する情報(特定の単語の「 **コード** 」)を返す。" + +#: ../3.1.14_game_not_not.rst:162 +msgid "" +"The function **Strcmp()** is used to compare the identity of two " +"character strings **glyph[i].word** and **key**; if the identity is " +"judged, return **glyph[i].code** ( as shown)." +msgstr "" +"関数 **Strcmp()** は、2つの文字列 **glyph[i].単語** と **キー** " +"の同一性を比較するために使用される。同一性が判断された場合、 **glyph[i].コード** (示すように)を返す。" + +#: ../3.1.14_game_not_not.rst:176 ../3.1.14_game_not_not.rst:516 +msgid "Display the specified pattern on the dot matrix." +msgstr "指定したパターンをドットマトリックスに表示する。" + +#: ../3.1.14_game_not_not.rst:188 ../3.1.14_game_not_not.rst:529 + +msgid "" +"The function **createGlyph()** is used to randomly select a direction " +"(the word attribute of an element in the array **arrow[]:** " +"\\\"**left**\\\", \\\"**right**\\\"... ). Set the stage as \\\"PLAY\\\" " +"and start a 2-second alarm clock function." +msgstr "" +"関数 **createGlyph()** を使用して、方向(配列 **arrow []** の要素の単語属性:\"**left**\"" +"、\"**right**\" ...)をランダムに選択する。ステージを「PLAY」に設定し、2秒の目覚まし時計機能を開始する。" + +#: ../3.1.14_game_not_not.rst:193 +msgid "" +"**srand(time(NULL)):** Initializes random seeds that are from the system " +"clock." +msgstr "**srand(time(NULL)):** システムクロックからのランダムシードを初期化する。" + +#: ../3.1.14_game_not_not.rst:196 + +msgid "" +"**(sizeof(arrow)/sizeof(arrow[0])):** Get the length of the array, the " +"outcome is 2." +msgstr "**(sizeof(arrow)/sizeof(arrow[0])):** 配列の長さを取得し、結果は2である。" + +#: ../3.1.14_game_not_not.rst:199 + +msgid "" +"**rand()%2:** The remainder is **0** or **1,** gotten from dividing a " +"generated random number by 2." +msgstr "**rand()%2:** 余りは **0** または **1** で、生成された乱数を2で割ったものである。" + +#: ../3.1.14_game_not_not.rst:202 + +msgid "" +"**waypoint=arrow[i].word:** The outcome should be \\\"right\\\" or " +"\\\"left\\\"." +msgstr "**waypoint=arrow[i].単語:** 結果は「right」または「left」でなければならない。" + +#: ../3.1.14_game_not_not.rst:219 + +msgid "" +"checkPoint() is used to check the button input; if the button is not " +"pressed or the button in the same direction as the arrow is pressed, the " +"outcome of the waypoint is wrong and \\\"**x**\\\" appears on the dot " +"matrix. Otherwise, the waypoint is right and dot matrix displays " +"\\\"**√**\\\". Here the **stage** is **CHECK,** and there can be set a " +"1-second alarm clock function." +msgstr "" +"checkPoint()は、ボタンの入力をチェックするためのもので、ボタンが押されていなかったり、矢印と同じ方向のボタンが押されていたりすると、ウェイポイントの結果がおかしくなり、ドットマトリクスに「" +"**x**」と表示されます。そうでなければ、ウェイポイントの結果は正しく、ドットマトリクスには「" +"**√**」と表示されます。ここでは、**ステージ** が **CHECK** となり、1秒単位の目覚まし時計機能を設定することができます。" + +#: ../3.1.14_game_not_not.rst:226 + +msgid "" +"alarm() is also called \\\"alarm clock\\\", in which a timer can be set, " +"and it sends **SIGALRM** signals to the progress when the defined time is" +" up." +msgstr "alarm()は「目覚まし時計」とも呼ばれ、タイマーを設定し、設定した時間が経過すると **SIGALRM** 信号をプログレスに送信します。" + +#: ../3.1.14_game_not_not.rst:239 +msgid "" +"getKey() reads the states of the these two buttons; if the right button " +"is pressed, the parameter of the function checkPoint() is **right** and " +"if the left button is pressed, the parameter is **left**." +msgstr "" +"getKey()は、これら2つのボタンの状態を読み取ります。右ボタンが押されている場合、関数checkPoint()のパラメータは " +"**right** 、左ボタンが押されている場合、パラメータは **left** となります。" + +#: ../3.1.14_game_not_not.rst:254 + +msgid "" +"Previously, timer() was called when set as the alarm() time’s up. Then " +"under the \\\"PLAY\\\" mode, checkPoint() is to be called to judge the " +"outcome. If the program is set to \\\"CHECK\\\" mode, the function " +"createGlyph() should be called to select new patterns." +msgstr "" +"これまでは、アラーム()が鳴ったときにtimer()が呼ばれていました。そして、「PLAY」モードでは、結果を判断するためにcheckPoint()を呼び出すことになっています。「CHECK」" +"モードの場合は、createGlyph()を呼び出してパターンを選択します。" + +#: ../3.1.14_game_not_not.rst:281 +msgid "" +"The working of the function signal(SIGALRM,timer): calling the timer() " +"function when a SIGALRM signal (generated by the alarm clock function " +"alarm()) is received." +msgstr "関数signal(SIGALRM、timer)の動作:(目覚まし時計関数alarm()によって生成された)SIGALRM信号を受信したときに関数timer()を呼び出す。" + +#: ../3.1.14_game_not_not.rst:285 ../3.1.14_game_not_not.rst:479 +msgid "" +"When the program starts, call createGlyph() one time at first and then " +"start the loop." +msgstr "プログラムが起動したら、最初に1回だけcreateGlyph()を呼び出してから、ループを開始します。" + +#: ../3.1.14_game_not_not.rst:288 ../3.1.14_game_not_not.rst:482 + +msgid "" +"In the loop: under PLAY mode, the dot matrix displays arrow patterns and " +"check the button state; if under CHECK mode, what is displayed is " +"\\\"**x**\\\" or \\\"**√**\\\"." +msgstr "" +"ループ内:PLAYモードでは、ドットマトリックスに矢印パターンが表示され、ボタンの状態が確認されます。 チェックモードの場合、表示されるのは「" +"**x**」または「**√**」です。" + +#: ../3.1.14_game_not_not.rst:293 +msgid "**For Python Language Users**" +msgstr "**Python言語ユーザー向け**" + +#: ../3.1.14_game_not_not.rst:295 +msgid "**Step 2**: Get into the folder of code." +msgstr "**ステップ2**:コードのフォルダーに入ります。" + +#: ../3.1.14_game_not_not.rst:305 +msgid "**Step 3**: Run." +msgstr "**ステップ3**:実行します。" + +#: ../3.1.14_game_not_not.rst:315 + +msgid "" +"After starting the program, on the dot matrix appears an arrow pointing " +"to the right or the left. What you need to do is to press the button in " +"the opposite direction of the arrow within a limited time. Then " +"\\\"**√**\\\" appears on the dot matrix. If the time is up, or if the " +"button in the same direction as the arrow is pressed, you are out and the" +" dot matrix displays \\\"x\\\". You can also add 2 new buttons or replace" +" them with Joystick keys for up, down, left and right— 4 directions to " +"increase the difficulty of the game." +msgstr "" +"プログラムを起動すると、ドットマトリックス上に右または左を指す矢印が表示されます。 " +"あなたがする必要があるのは、限られた時間内に矢印の反対方向にボタンを押すことです。 次に、「**√**" +"」がドットマトリックスに表示されます。 " +"時間切れの場合、または矢印と同じ方向のボタンが押された場合は、外に出て、ドットマトリックスに「x」が表示されます。 " +"また、2つの新しいボタンを追加したり、上下左右のジョイスティックキーに置き換えたりすることもできます。4方向でゲームの難易度を上げることができます。" + +#: ../3.1.14_game_not_not.rst:324 +msgid "**Code**" +msgstr "**コード**" + +#: ../3.1.14_game_not_not.rst:328 + +msgid "" +"You can **Modify/Reset/Copy/Run/Stop** the code below. But before that, " +"you need to go to source code path like ``davinci-kit-for-raspberry-" +"pi/python``." +msgstr "" +"以下のコードを **変更/リセット/コピー/実行/停止** できます。 ただし、その前に、 ``davinci-kit-for-raspberry-pi/python`` のようなソースコードパスに移動する必要があります。" + +#: ../3.1.14_game_not_not.rst:456 +msgid "Display the corresponding arrow image on the dot matrix." +msgstr "ドットマトリックスに対応する矢印画像を表示する。" + +#: ../3.1.14_game_not_not.rst:477 +msgid "Main() contains the whole running process." +msgstr "Main()には実行中のプロセス全体が含まれている。" + +#: ../3.1.14_game_not_not.rst:499 +msgid "" +"Here, the **dictionary** arrow can be used to display the arrow pattern " +"in up, down, left and right directions on the LED dot matrix." +msgstr "ここで、**辞書** 矢印を使用して、LEDドットマトリックス上で上、下、左、右の方向に矢印パターンを表示できます。" + +#: ../3.1.14_game_not_not.rst:502 +msgid "Now down and up are commented and uncomment them if needed." +msgstr "上下が付注され、必要に応じて解除できる。" + +#: ../3.1.14_game_not_not.rst:504 + +msgid "" +"The **dictionary** check is used to display these two images: " +"\\\"**×**\\\" and \\\"**√**\\\"." +msgstr "**辞書** チェックは、「**×**」と「**√**」の2つの画像を表示するために使用されます。" + +#: ../3.1.14_game_not_not.rst:534 + +msgid "" +"**arrow.keys():** Select the keys \\\"right\\\"and \\\"left\\\" in the " +"arrow array." +msgstr "**arrow.keys():** 矢印配列のキー「右」と「左」を選択する。" + +#: ../3.1.14_game_not_not.rst:536 + +msgid "**list(arrow.keys()):** Combine these keys into an array." +msgstr "、**list(arrow.keys()):** これらのキーを配列に結合する。" + +#: ../3.1.14_game_not_not.rst:538 +msgid "" +"**random.choice(list(arrow.keys())):** Randomly select an element in the " +"array." +msgstr "**random.choice(list(arrow.keys())):** 配列内の要素をランダムに選択する。" + +#: ../3.1.14_game_not_not.rst:541 + +msgid "" +"So, The outcome of **waypoint=random.choice(list(arrow.keys()))** should " +"be \\\"right\\\" or \\\"left\\\"." +msgstr "したがって、**waypoint = random.choice(list(arrow.keys()))** の結果は「右」または「左」になります。" + +#: ../3.1.14_game_not_not.rst:559 +msgid "checkPoint() is to detect the current state of button input:" +msgstr "checkPoint()はボタン入力の現在の状態を検出する:" + +#: ../3.1.14_game_not_not.rst:561 +msgid "" +"If no button is pressed or the button in the same direction as the the " +"arrow is pressed, the assigned value of the **``waypoint``** is " +"**``wrong``** and there displays ``x`` on the dot matrix." +msgstr "" +"ボタンが押されていないか、矢印と同じ方向のボタンが押されている場合、 **``ウェイポイント``** の割り当てられた値は " +"**``間違っています``** 、ドットマトリックスに ``x`` が表示されます。" + +#: ../3.1.14_game_not_not.rst:565 + +msgid "Otherwise, the waypoint is right and \\\"**√**\\\" appears." +msgstr "それ以外の場合、ウェイポイントは正しく、「 **√** 」が表示される。" + +#: ../3.1.14_game_not_not.rst:567 +msgid "" +"Now the stage is **CHECK** and start a 1-second timer **timerCheck** to " +"call the function creatGlyph() in a second." +msgstr "" +"これで、ステージは **CHECK** になり、1秒のタイマー **timerCheck** " +"を開始して、関数creatGlyph()を1秒で呼び出します。" + +#: ../3.1.14_game_not_not.rst:575 + +msgid "" +"In the function timeout(), set the parameter of checkPoint() as " +"\\\"**empty**\\\"." +msgstr "関数timeout()で、checkPoint()のパラメーターを「**empty**」に設定します。" + +#: ../3.1.14_game_not_not.rst:586 +msgid "" +"getKey() reads the state of these two buttons, and if the right button is" +" pressed, the parameter of checkPoint() is **right**; if the left button " +"is pressed, the parameter is **left**." +msgstr "" +"getKey()は、これら2つのボタンの状態を読み取り、右ボタンが押された場合、checkPoint()のパラメーターは **右** です。 " +"左ボタンが押された場合、パラメータは **左** です。" + +#: ../3.1.14_game_not_not.rst:591 +msgid "Phenomenon Picture" +msgstr "現象画像" + diff --git a/docs/source/locale/ja/LC_MESSAGES/3.1.1_counting_device.po b/docs/source/locale/ja/LC_MESSAGES/3.1.1_counting_device.po new file mode 100644 index 0000000..443c321 --- /dev/null +++ b/docs/source/locale/ja/LC_MESSAGES/3.1.1_counting_device.po @@ -0,0 +1,291 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, SunFounder +# This file is distributed under the same license as the SunFounder Davinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Davinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-19 18:22+0800\n" +"PO-Revision-Date: 2021-05-28 08:52+0800\n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../3.1.1_counting_device.rst:2 +msgid "3.1.1 Counting Device" +msgstr "3.1.1 計数装置" + +#: ../3.1.1_counting_device.rst:5 +msgid "Introduction" +msgstr "前書き" + +#: ../3.1.1_counting_device.rst:7 +msgid "" +"Here we will make a number-displaying counter system, consisting of a PIR" +" sensor and a 4-digit segment display. When the PIR detects that someone " +"is passing by, the number on the 4-digit segment display will add 1. You " +"can use this counter to count the number of people walking through the " +"passageway." +msgstr "ここでは、PIRセンサーと4桁のセグメントディスプレイで構成される数字表示カウンターシステムを作成する。PIRが誰かが通り過ぎていることを検出すると、4桁のセグメントディスプレイの数字に1が加算される。このカウンターを使用して、通路を歩いている人の数をカウントできる。" + +#: ../3.1.1_counting_device.rst:14 +msgid "Components" +msgstr "部品" + +#: ../3.1.1_counting_device.rst:23 +msgid "Schematic Diagram" +msgstr "回路図" + +#: ../3.1.1_counting_device.rst:26 +msgid "T-Board Name" +msgstr "Tボード名" + +#: ../3.1.1_counting_device.rst:26 +msgid "physical" +msgstr "physical" + +#: ../3.1.1_counting_device.rst:26 +msgid "wiringPi" +msgstr "wiringPi" + +#: ../3.1.1_counting_device.rst:26 +msgid "BCM" +msgstr "BCM" + +#: ../3.1.1_counting_device.rst:27 +msgid "GPIO17" +msgstr "GPIO17" + +#: ../3.1.1_counting_device.rst:27 +msgid "Pin 11" +msgstr "Pin 11" + +#: ../3.1.1_counting_device.rst:27 +msgid "0" +msgstr "0" + +#: ../3.1.1_counting_device.rst:27 +msgid "17" +msgstr "17" + +#: ../3.1.1_counting_device.rst:28 +msgid "GPIO27" +msgstr "GPIO27" + +#: ../3.1.1_counting_device.rst:28 +msgid "Pin 13" +msgstr "Pin 13" + +#: ../3.1.1_counting_device.rst:28 +msgid "2" +msgstr "2" + +#: ../3.1.1_counting_device.rst:28 +msgid "27" +msgstr "27" + +#: ../3.1.1_counting_device.rst:29 +msgid "GPIO22" +msgstr "GPIO22" + +#: ../3.1.1_counting_device.rst:29 +msgid "Pin 15" +msgstr "Pin 15" + +#: ../3.1.1_counting_device.rst:29 +msgid "3" +msgstr "3" + +#: ../3.1.1_counting_device.rst:29 +msgid "22" +msgstr "22" + +#: ../3.1.1_counting_device.rst:30 +msgid "SPIMOSI" +msgstr "SPIMOSI" + +#: ../3.1.1_counting_device.rst:30 +msgid "Pin 19" +msgstr "Pin 19" + +#: ../3.1.1_counting_device.rst:30 +msgid "12" +msgstr "12" + +#: ../3.1.1_counting_device.rst:30 +msgid "10" +msgstr "10" + +#: ../3.1.1_counting_device.rst:31 +msgid "GPIO18" +msgstr "GPIO18" + +#: ../3.1.1_counting_device.rst:31 +msgid "Pin 12" +msgstr "Pin 12" + +#: ../3.1.1_counting_device.rst:31 +msgid "1" +msgstr "1" + +#: ../3.1.1_counting_device.rst:31 +msgid "18" +msgstr "18" + +#: ../3.1.1_counting_device.rst:32 +msgid "GPIO23" +msgstr "GPIO23" + +#: ../3.1.1_counting_device.rst:32 +msgid "Pin 16" +msgstr "Pin 16" + +#: ../3.1.1_counting_device.rst:32 +msgid "4" +msgstr "4" + +#: ../3.1.1_counting_device.rst:32 +msgid "23" +msgstr "23" + +#: ../3.1.1_counting_device.rst:33 +msgid "GPIO24" +msgstr "GPIO24" + +#: ../3.1.1_counting_device.rst:33 +msgid "Pin 18" +msgstr "Pin 18" + +#: ../3.1.1_counting_device.rst:33 +msgid "5" +msgstr "5" + +#: ../3.1.1_counting_device.rst:33 +msgid "24" +msgstr "24" + +#: ../3.1.1_counting_device.rst:34 +msgid "GPIO26" +msgstr "GPIO26" + +#: ../3.1.1_counting_device.rst:34 +msgid "Pin 37" +msgstr "Pin 37" + +#: ../3.1.1_counting_device.rst:34 +msgid "25" +msgstr "25" + +#: ../3.1.1_counting_device.rst:34 +msgid "26" +msgstr "26" + +#: ../3.1.1_counting_device.rst:41 +msgid "Experimental Procedures" +msgstr "実験手順" + +#: ../3.1.1_counting_device.rst:43 +msgid "**Step 1**: Build the circuit." +msgstr "**ステップ1:** 回路を作る。" + +msgid "计数器_bb" +msgstr "计数器_bb" + +#: ../3.1.1_counting_device.rst:50 +msgid "**For C Language Users**" +msgstr "C言語ユーザー向け" + +#: ../3.1.1_counting_device.rst:52 ../3.1.1_counting_device.rst:141 +msgid "**Step 2**: Go to the folder of the code." +msgstr "**ステップ2:** コードのフォルダーに入る。" + +#: ../3.1.1_counting_device.rst:62 +msgid "**Step 3**: Compile the code." +msgstr "**ステップ3:** コードをコンパイルする。" + +#: ../3.1.1_counting_device.rst:72 +msgid "**Step 4**: Run the executable file." +msgstr "**ステップ4:** EXEファイルを実行する。" + +#: ../3.1.1_counting_device.rst:82 ../3.1.1_counting_device.rst:161 +msgid "" +"After the code runs, when the PIR detects that someone is passing by, the" +" number on the 4-digit segment display will add 1." +msgstr "コードの実行後、PIRが誰かが通り過ぎていることを検出すると、4桁のセグメントディスプレイの数字に1が加算される。" + +#: ../3.1.1_counting_device.rst:88 +msgid "" +"If it does not work after running, please refer to :ref:`C code is not " +"working?`" +msgstr "実行後に機能しない場合は、:ref:`C code is not working?` を参照してください。" + +#: ../3.1.1_counting_device.rst:90 ../3.1.1_counting_device.rst:260 +msgid "**Code Explanation**" +msgstr "**コードの説明**" + +#: ../3.1.1_counting_device.rst:113 ../3.1.1_counting_device.rst:287 +msgid "" +"First, start the fourth segment display, write the single-digit number. " +"Then start the third segment display, and type in the tens digit; after " +"that, start the second and the first segment display respectively, and " +"write the hundreds and thousands digits respectively. Because the " +"refreshing speed is very fast, we see a complete four-digit display." +msgstr "まず、4番目のセグメントディスプレイを開始し、1桁の数字を書き込む。次に、3番目のセグメントディスプレイを開始し、10桁の数字を入力する。その後、2番目と1番目のセグメントディスプレイをそれぞれ開始し、それぞれ数百桁と数千桁を書き込む。リフレッシュ速度が非常に速いため、完全な4桁のディスプレイが表示される。" + +#: ../3.1.1_counting_device.rst:134 ../3.1.1_counting_device.rst:306 +msgid "" +"This is the main function: display the number on the 4-digit segment " +"display and read the PIR value. When the PIR detects that someone is " +"passing by, the number on the 4-digit segment display will add 1." +msgstr "これが主な機能である:4桁のセグメントディスプレイに数字を表示し、PIR値を読み取る。PIRが誰かが通り過ぎていることを検出すると、4桁のセグメントディスプレイの数字に1が加算される。" + +#: ../3.1.1_counting_device.rst:139 +msgid "**For Python Language Users**" +msgstr "**Python言語ユーザー向け**" + +#: ../3.1.1_counting_device.rst:151 +msgid "**Step 3**: Run the executable file." +msgstr "**ステップ3:** EXEファイルを実行する。" + +#: ../3.1.1_counting_device.rst:165 +msgid "**code**" +msgstr "**コード**" + +#: ../3.1.1_counting_device.rst:169 + +msgid "" +"You can **Modify/Reset/Copy/Run/Stop** the code below. But before that, " +"you need to go to source code path like ``davinci-kit-for-raspberry-" +"pi/python``." +msgstr "" +"以下のコードを **変更/リセット/コピー/実行/停止** できます。 ただし、その前に、 ``davinci-kit-for-raspberry-pi/python`` のようなソースコードパスに移動する必要があります。" + +#: ../3.1.1_counting_device.rst:262 +msgid "" +"Based on **1.1.5 4-Digit 7-Segment Display**, this lesson adds **PIR " +"module** to change the automatic counting of lesson 1.1.5 into count " +"detecting. When the PIR detects that someone is passing by, the number on" +" the 4-digit segment display will add 1." +msgstr "" +"**1.1.5 4桁7セグメントディ** スプレイに基づいて、このレッスンでは、**PIRモジュール** " +"を追加して、レッスン1.1.5の自動カウントをカウント検出に変更する。PIRが誰かが通り過ぎていることを検出すると、4桁のセグメントディスプレイの数字に1が加算される。" + +#: ../3.1.1_counting_device.rst:311 +msgid "Phenomenon Picture" +msgstr "現象画像" + +#~ msgid "" +#~ "If it does not work after running," +#~ " please refer to :ref:`C code is " +#~ "not working?`." +#~ msgstr "" + +#~ msgid "\\_MG_3354" +#~ msgstr "\\_MG_3354" + diff --git a/docs/source/locale/ja/LC_MESSAGES/3.1.2_welcome.po b/docs/source/locale/ja/LC_MESSAGES/3.1.2_welcome.po new file mode 100644 index 0000000..bf3fd70 --- /dev/null +++ b/docs/source/locale/ja/LC_MESSAGES/3.1.2_welcome.po @@ -0,0 +1,268 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, SunFounder +# This file is distributed under the same license as the SunFounder Davinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Davinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-19 18:22+0800\n" +"PO-Revision-Date: 2021-05-28 08:58+0800\n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../3.1.2_welcome.rst:2 +msgid "3.1.2 Welcome" +msgstr "3.1.2 いらっしゃいませ" + +#: ../3.1.2_welcome.rst:5 +msgid "Introduction" +msgstr "前書き" + +#: ../3.1.2_welcome.rst:7 +msgid "" +"In this project, we will use PIR to sense the movement of pedestrians, " +"and use servos, LED, buzzer to simulate the work of the sensor door of " +"the convenience store. When the pedestrian appears within the sensing " +"range of the PIR, the indicator light will be on, the door will be " +"opened, and the buzzer will play the opening bell." +msgstr "このプロジェクトでは、PIRを使用して歩行者の動きを検知し、サーボ、LED、ブザーを使用してコンビニのセンサードアの動作をシミュレートする。歩行者がPIRの検知範囲内に現れると、インジケータライトが点灯し、ドアが開き、ブザーがオープニングベルを鳴らす。" + +#: ../3.1.2_welcome.rst:14 +msgid "Components" +msgstr "部品" + +#: ../3.1.2_welcome.rst:20 +msgid "Schematic Diagram" +msgstr "回路図" + +#: ../3.1.2_welcome.rst:23 +msgid "T-Board Name" +msgstr "Tボード名" + +#: ../3.1.2_welcome.rst:23 +msgid "physical" +msgstr "physical" + +#: ../3.1.2_welcome.rst:23 +msgid "wiringPi" +msgstr "wiringPi" + +#: ../3.1.2_welcome.rst:23 +msgid "BCM" +msgstr "BCM" + +#: ../3.1.2_welcome.rst:24 +msgid "GPIO18" +msgstr "GPIO18" + +#: ../3.1.2_welcome.rst:24 +msgid "Pin 12" +msgstr "Pin 12" + +#: ../3.1.2_welcome.rst:24 +msgid "1" +msgstr "1" + +#: ../3.1.2_welcome.rst:24 +msgid "18" +msgstr "18" + +#: ../3.1.2_welcome.rst:25 +msgid "GPIO17" +msgstr "GPIO17" + +#: ../3.1.2_welcome.rst:25 +msgid "Pin 11" +msgstr "Pin 11" + +#: ../3.1.2_welcome.rst:25 +msgid "0" +msgstr "0" + +#: ../3.1.2_welcome.rst:25 +msgid "17" +msgstr "17" + +#: ../3.1.2_welcome.rst:26 +msgid "GPIO27" +msgstr "GPIO27" + +#: ../3.1.2_welcome.rst:26 +msgid "Pin 13" +msgstr "Pin 13" + +#: ../3.1.2_welcome.rst:26 +msgid "2" +msgstr "2" + +#: ../3.1.2_welcome.rst:26 +msgid "27" +msgstr "27" + +#: ../3.1.2_welcome.rst:27 +msgid "GPIO22" +msgstr "GPIO22" + +#: ../3.1.2_welcome.rst:27 +msgid "Pin 15" +msgstr "Pin 15" + +#: ../3.1.2_welcome.rst:27 +msgid "3" +msgstr "3" + +#: ../3.1.2_welcome.rst:27 +msgid "22" +msgstr "22" + +#: ../3.1.2_welcome.rst:34 +msgid "Experimental Procedures" +msgstr "実験手順" + +#: ../3.1.2_welcome.rst:36 +msgid "**Step 1:** Build the circuit." +msgstr "**ステップ1:** 回路を作る。" + +msgid "C:\\Users\\sunfounder\\Desktop\\3.1.4_Welcome_bb.png3.1.4_Welcome_bb" +msgstr "C:\\Users\\sunfounder\\Desktop\\3.1.4_Welcome_bb.png3.1.4_Welcome_bb" + +#: ../3.1.2_welcome.rst:44 +msgid "**For C Language Users**" +msgstr "**C言語ユーザー向け**" + +#: ../3.1.2_welcome.rst:46 ../3.1.2_welcome.rst:162 +msgid "**Step 2:** Change directory." +msgstr "**ステップ2:** ディレクトリを変更する。" + +#: ../3.1.2_welcome.rst:56 +msgid "**Step 3:** Compile." +msgstr "**ステップ3:** コンパイルする。" + +#: ../3.1.2_welcome.rst:66 +msgid "**Step 4:** Run." +msgstr "**ステップ4:** 実行する。" + +#: ../3.1.2_welcome.rst:76 ../3.1.2_welcome.rst:182 +msgid "" +"After the code runs, if the PIR sensor detects someone passing by, the " +"door will automatically open (simulated by the servo), turn on the " +"indicator and play the doorbell music. After the doorbell music plays, " +"the system will automatically close the door and turn off the indicator " +"light, waiting for the next time someone passes by." +msgstr "コードの実行後、PIRセンサーが通り過ぎる人を検出すると、ドアが自動的に開き(サーボによってシミュレートされる)、インジケーターをオンにして、ドアベルの音楽を再生する。ドアベルの音楽が再生されると、システムは自動的にドアを閉じてインジケータライトをオフにし、次に誰かが通り過ぎることを待つ。" + +#: ../3.1.2_welcome.rst:84 +msgid "" +"If it does not work after running, please refer to :ref:`C code is not " +"working?`" +msgstr "実行後に機能しない場合は、:ref:`C code is not working?` を参照してください。" + +#: ../3.1.2_welcome.rst:86 ../3.1.2_welcome.rst:288 +msgid "**Code Explanation**" +msgstr "**コードの説明**" + +#: ../3.1.2_welcome.rst:98 +msgid "Create a function, setAngle to write the angle in the servo that is 0-180." +msgstr "0〜180の角度をサーボに書き込むための関数、servowriteを作成する。" + +#: ../3.1.2_welcome.rst:109 ../3.1.2_welcome.rst:326 +msgid "Create a function, doorbell to enable the buzzer to play music." +msgstr "ブザーで音楽を再生できるようにする関数、doorbellを作成する。" + +#: ../3.1.2_welcome.rst:121 +msgid "" +"Create a closedoor function to simulate closing the door, turn off the " +"LED and let the servo turn from 180 degrees to 0 degree." +msgstr "ドアの閉鎖をシミュレートする関数closedoorを作成し、LEDをオフにし、サーボを180度から0度に回転させる。" + +#: ../3.1.2_welcome.rst:136 +msgid "" +"The function opendoor() includes several parts: turn on the indicator " +"light, turn the servo (simulate the action of opening the door), play the" +" doorbell music of the convenience store, and call the function " +"closedoor() after playing music." +msgstr "" +"関数opendoor() " +"にはいくつかの部分が含まれている:インジケータライトをオンにし、サーボを回転させ(ドアを開く動作をシミュレートする)、コンビニのドアベル音楽を再生し、音楽を再生した後に関数closedoor()" +" を呼び出す。" + +#: ../3.1.2_welcome.rst:154 +msgid "" +"In the function main(), initialize library wiringPi and setup softTone, " +"then set ledPin to output state and pirPin to input state. If the PIR " +"sensor detects someone passing by, the function opendoor will be called " +"to simulate opening the door." +msgstr "" +"関数main() で、ライブラリーwiringPi " +"を初期化し、softToneをセットアップしてから、ledPinを出力状態に、pirPinを入力状態に設定する。PIRセンサーが通り過ぎる人を検出すると、ドアを開くことをシミュレートするために関数opendoorが呼び出される。" + +#: ../3.1.2_welcome.rst:160 +msgid "**For Python Language Users**" +msgstr "**Python言語ユーザー向け**" + +#: ../3.1.2_welcome.rst:172 +msgid "**Step 3:** Run." +msgstr "**ステップ3:** 実行する。" + +#: ../3.1.2_welcome.rst:188 +msgid "**code**" +msgstr "**コード**" + +#: ../3.1.2_welcome.rst:192 + +msgid "" +"You can **Modify/Reset/Copy/Run/Stop** the code below. But before that, " +"you need to go to source code path like ``davinci-kit-for-raspberry-" +"pi/python``." +msgstr "" +"以下のコードを **変更/リセット/コピー/実行/停止** できます。 ただし、その前に、 ``davinci-kit-for-raspberry-pi/python`` のようなソースコードパスに移動する必要があります。" + +#: ../3.1.2_welcome.rst:306 +msgid "These statements are used to initialize the pins of each component." +msgstr "これらのステートメントは、各部品のピンを初期化するために使用される。" + +#: ../3.1.2_welcome.rst:316 +msgid "" +"Create a function, servowrite to write the angle in the servo that is " +"0-180." +msgstr "0〜180の角度をサーボに書き込むための関数、servowriteを作成する。" + +#: ../3.1.2_welcome.rst:337 +msgid "Close the door and turn off the indicator light." +msgstr "ドアを閉じて、インジケータライトをオフにする。" + +#: ../3.1.2_welcome.rst:349 +msgid "" +"The function, opendoor() consists of several parts: turn on the indicator" +" light, turn the servo (to simulate the action of opening the door), play" +" the doorbell music of the convenience store, and call the function , " +"closedoor() after playing music." +msgstr "" +"関数opendoor() " +"にはいくつかの部分が含まれている:インジケータライトをオンにし、サーボを回転させ(ドアを開く動作をシミュレートする)、コンビニのドアベル音楽を再生し、音楽を再生した後に関数closedoor()" +" を呼び出す。" + +#: ../3.1.2_welcome.rst:361 + +msgid "" +"When PIR senses that someone is passing by, it calls the function, " +"opendoor()." +msgstr "PIRは誰かが通り過ぎることを検知すると、関数opendoor() を呼び出す。" + +#: ../3.1.2_welcome.rst:365 +msgid "Phenomenon Picture" +msgstr "現象画像" + +#~ msgid "" +#~ "If it does not work after running," +#~ " please refer to :ref:`C code is " +#~ "not working?`." +#~ msgstr "" + diff --git a/docs/source/locale/ja/LC_MESSAGES/3.1.3_reversing_alarm.po b/docs/source/locale/ja/LC_MESSAGES/3.1.3_reversing_alarm.po new file mode 100644 index 0000000..07b2fe1 --- /dev/null +++ b/docs/source/locale/ja/LC_MESSAGES/3.1.3_reversing_alarm.po @@ -0,0 +1,285 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, SunFounder +# This file is distributed under the same license as the SunFounder Davinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Davinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-19 18:22+0800\n" +"PO-Revision-Date: 2021-05-28 09:04+0800\n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../3.1.3_reversing_alarm.rst:2 +msgid "3.1.3 Reversing Alarm" +msgstr "3.1.3 後退警報装置" + +#: ../3.1.3_reversing_alarm.rst:5 +msgid "Introduction" +msgstr "前書き" + +#: ../3.1.3_reversing_alarm.rst:7 +msgid "" +"In this project, we will use LCD, buzzer and ultrasonic sensors to make a" +" reverse assist system. We can put it on the remote control vehicle to " +"simulate the actual process of reversing the car into the garage." +msgstr "このプロジェクトでは、LCD、ブザー、と超音波センサーを使用して、後退補助システムを作成する。それをリモートコントロール車両に置いて、車をガレージに後退する実際のプロセスをシミュレートできる。" + +#: ../3.1.3_reversing_alarm.rst:12 +msgid "Components" +msgstr "部品" + +#: ../3.1.3_reversing_alarm.rst:18 +msgid "Schematic Diagram" +msgstr "回路図" + +#: ../3.1.3_reversing_alarm.rst:20 +msgid "" +"Ultrasonic sensor detects the distance between itself and the obstacle " +"that will be displayed on the LCD in the form of code. At the same time, " +"the ultrasonic sensor let the buzzer issue prompt sound of different " +"frequency according to different distance value." +msgstr "超音波センサーは障害物との間の距離を検出し、コードの形式でLCDに表示する。同時に、超音波センサーにより、距離値に応じてブザーが異なる周波数の警告音を発する。" + +#: ../3.1.3_reversing_alarm.rst:26 +msgid "T-Board Name" +msgstr "Tボード名" + +#: ../3.1.3_reversing_alarm.rst:26 +msgid "physical" +msgstr "physical" + +#: ../3.1.3_reversing_alarm.rst:26 +msgid "wiringPi" +msgstr "wiringPi" + +#: ../3.1.3_reversing_alarm.rst:26 +msgid "BCM" +msgstr "BCM" + +#: ../3.1.3_reversing_alarm.rst:27 +msgid "GPIO23" +msgstr "GPIO23" + +#: ../3.1.3_reversing_alarm.rst:27 +msgid "Pin 16" +msgstr "Pin 16" + +#: ../3.1.3_reversing_alarm.rst:27 +msgid "4" +msgstr "4" + +#: ../3.1.3_reversing_alarm.rst:27 +msgid "23" +msgstr "23" + +#: ../3.1.3_reversing_alarm.rst:28 +msgid "GPIO24" +msgstr "GPIO24" + +#: ../3.1.3_reversing_alarm.rst:28 +msgid "Pin 18" +msgstr "Pin 18" + +#: ../3.1.3_reversing_alarm.rst:28 +msgid "5" +msgstr "5" + +#: ../3.1.3_reversing_alarm.rst:28 +msgid "24" +msgstr "24" + +#: ../3.1.3_reversing_alarm.rst:29 +msgid "GPIO17" +msgstr "GPIO17" + +#: ../3.1.3_reversing_alarm.rst:29 +msgid "Pin 11" +msgstr "Pin 11" + +#: ../3.1.3_reversing_alarm.rst:29 +msgid "0" +msgstr "0" + +#: ../3.1.3_reversing_alarm.rst:29 +msgid "17" +msgstr "17" + +#: ../3.1.3_reversing_alarm.rst:30 +msgid "SDA1" +msgstr "SDA1" + +#: ../3.1.3_reversing_alarm.rst:30 +msgid "Pin 3" +msgstr "Pin 3" + +#: ../3.1.3_reversing_alarm.rst:31 +msgid "SCL1" +msgstr "SCL1" + +#: ../3.1.3_reversing_alarm.rst:31 +msgid "Pin 5" +msgstr "Pin 5" + +#: ../3.1.3_reversing_alarm.rst:39 +msgid "Experimental Procedures" +msgstr "実験手順" + +#: ../3.1.3_reversing_alarm.rst:41 +msgid "**Step 1:** Build the circuit." +msgstr "**ステップ1:** 回路を作る。" + +#: ../3.1.3_reversing_alarm.rst:48 +msgid "**For C Language Users**" +msgstr "**C言語ユーザー向け**" + +#: ../3.1.3_reversing_alarm.rst:50 ../3.1.3_reversing_alarm.rst:267 +msgid "**Step 2:** Change directory." +msgstr "**ステップ2:** ディレクトリを変更する。" + +#: ../3.1.3_reversing_alarm.rst:60 +msgid "**Step 3:** Compile." +msgstr "**ステップ3:** コンパイルする。" + +#: ../3.1.3_reversing_alarm.rst:70 +msgid "**Step 4:** Run." +msgstr "**ステップ4:** 実行する。" + +#: ../3.1.3_reversing_alarm.rst:80 ../3.1.3_reversing_alarm.rst:287 +msgid "" +"As the code runs, ultrasonic sensor module detects the distance to the " +"obstacle and then displays the information about the distance on LCD1602;" +" besides, buzzer emits warning tone whose frequency changes with the " +"distance." +msgstr "コードが実行されると、超音波センサーモジュールが障害物までの距離を検出し、LCD1602に距離に関する情報を表示する。また、ブザーは距離とともに周波数が変化する警告音を発する。" + +#: ../3.1.3_reversing_alarm.rst:87 +msgid "" +"If it does not work after running, please refer to :ref:`C code is not " +"working?`" +msgstr "実行後に機能しない場合は、:ref:`C code is not working?` を参照してください。" + +#: ../3.1.3_reversing_alarm.rst:89 ../3.1.3_reversing_alarm.rst:292 +msgid "**Code**" +msgstr "**コード**" + +#: ../3.1.3_reversing_alarm.rst:92 +msgid "" +"The following codes are incomplete. If you want to check the complete " +"codes, you are suggested to use command nano 3.1.1_ReversingAlarm.c." +msgstr "次のコードは不完全である。完全なコードを確認する場合は、コマンドnano 3.1.1_ReversingAlarm.cを使用することをお勧めする。" + +#: ../3.1.3_reversing_alarm.rst:191 ../3.1.3_reversing_alarm.rst:391 +msgid "**Code Explanation**" +msgstr "**コードの説明**" + +#: ../3.1.3_reversing_alarm.rst:200 +msgid "" +"In this program, we apply previous components synthetically. Here we use " +"buzzers, LCD and ultrasonic. We can initialize them the same way as we " +"did before." +msgstr "このプログラムでは、以前の部品を総合的に適用する。ここでは、ブザー、LCD、と超音波を使用する。以前と同じ方法で初期化できる。" + +#: ../3.1.3_reversing_alarm.rst:220 +msgid "" +"Here we get the value of the ultrasonic sensor and get the distance " +"through calculation." +msgstr "ここで、超音波センサーの値を取得し、計算により距離を取得する。" + +#: ../3.1.3_reversing_alarm.rst:223 +msgid "" +"If the value of distance is greater than the range value to be detected, " +"an error message is printed on the LCD. And if the distance value is " +"within the range, the corresponding results will be output." +msgstr "距離の値が検出される範囲の値より大きい場合、エラーメッセージがLCDに表示される。距離値が範囲内にある場合、対応する結果が出力される。" + +#: ../3.1.3_reversing_alarm.rst:231 +#, python-format +msgid "" +"Since the output mode of LCD only supports character type, and the " +"variable dis stores the value of float type, we need to use sprintf(). " +"The function converts the float type value to a character and stores it " +"on the string variable result[]. %.2f means to keep two decimal places." +msgstr "" +"LCDの出力モードは文字型のみをサポートし、変数disはfloat型の値を保存するため、sprintf()を使わなければならない。この関数はfloat型の値を文字に変換し、文字列変数result" +" []に保存する。 %.2fは小数点以下2桁を保持することを意味する。" + +#: ../3.1.3_reversing_alarm.rst:257 +msgid "" +"This judgment condition is used to control the sound of the buzzer. " +"According to the difference in distance, it can be divided into three " +"cases, in which there will be different sound frequencies. Since the " +"total value of delay is 500, all of the cases can provide a 500ms " +"interval for the ultrasonic sensor." +msgstr "この判定条件でブザーの音をコントロールします。距離の違いにより、音の周波数が異なる3つのケースに分けられます。遅延の合計値は500なので、どのケースも超音波センサに500msの間隔を与えることができる。" + +#: ../3.1.3_reversing_alarm.rst:265 +msgid "**For Python Language Users**" +msgstr "**Python言語ユーザー向け**" + +#: ../3.1.3_reversing_alarm.rst:277 +msgid "**Step 3:** Run." +msgstr "**ステップ3:** 実行する。" + +#: ../3.1.3_reversing_alarm.rst:296 + +msgid "" +"You can **Modify/Reset/Copy/Run/Stop** the code below. But before that, " +"you need to go to source code path like ``davinci-kit-for-raspberry-" +"pi/python``." +msgstr "" +"以下のコードを **変更/リセット/コピー/実行/停止** できます。 ただし、その前に、 ``davinci-kit-for-raspberry-pi/python`` のようなソースコードパスに移動する必要があります。" + +#: ../3.1.3_reversing_alarm.rst:405 +msgid "" +"In this program, we apply the previously used components synthetically. " +"Here we use buzzers, LCD and ultrasonic. We can initialize them in the " +"same way as we did before." +msgstr "このプログラムでは、以前に使用した部品を総合的に適用する。ここでは、ブザー、LCD、と超音波を使用する。以前と同じ方法で初期化できる。" + +#: ../3.1.3_reversing_alarm.rst:426 +msgid "" +"Here we get the values of the ultrasonic sensor and get the distance " +"through calculation. If the value of distance is greater than the range " +"of value to be detected, an error message is printed on the LCD. And if " +"the distance is within the working range, the corresponding results will " +"be output." +msgstr "ここで、超音波センサーの値を取得し、計算により距離を取得する。距離の値が検出される範囲の値より大きい場合、エラーメッセージがLCDに表示される。動作値が範囲内にある場合、対応する結果が出力される。" + +#: ../3.1.3_reversing_alarm.rst:432 +msgid "LCD1602.write(5, 1, str(round(dis,2)) +' cm')" +msgstr "LCD1602.write(5, 1, str(round(dis,2)) +' cm')" + +#: ../3.1.3_reversing_alarm.rst:434 +msgid "" +"Since the LCD output only supports character types, we need to use **str " +"()** to convert numeric values to characters. We are going to round it to" +" two decimal places." +msgstr "LCD出力は文字タイプのみをサポートするため、**str()** を使用して数値を文字に変換する必要がある。小数点以下2桁に丸める。" + +#: ../3.1.3_reversing_alarm.rst:459 +msgid "" +"This judgment condition is used to control the sound of the buzzer. " +"According to the difference in distance, it can be divided into three " +"cases, in which there will be different sound frequencies. Since the " +"total value of delay is 500, all of them can provide a 500ms interval for" +" the ultrasonic sensor to work." +msgstr "この判定条件はブザーの音を制御するために使用される。距離の違いに応じて、3つのケースに分けることができる。この場合、音の周波数は異なる。遅延の合計値は500であるため、すべてのケースで超音波センサーに500msの間隔を提供できる。" + +#: ../3.1.3_reversing_alarm.rst:466 +msgid "Phenomenon Picture" +msgstr "現象画像" + +#~ msgid "" +#~ "If it does not work after running," +#~ " please refer to :ref:`C code is " +#~ "not working?`." +#~ msgstr "" + diff --git a/docs/source/locale/ja/LC_MESSAGES/3.1.4_smart_fan.po b/docs/source/locale/ja/LC_MESSAGES/3.1.4_smart_fan.po new file mode 100644 index 0000000..723bbce --- /dev/null +++ b/docs/source/locale/ja/LC_MESSAGES/3.1.4_smart_fan.po @@ -0,0 +1,319 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, SunFounder +# This file is distributed under the same license as the SunFounder Davinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Davinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-19 18:22+0800\n" +"PO-Revision-Date: 2021-05-28 09:15+0800\n" +"Last-Translator: \n" +"Language: fan\n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../3.1.4_smart_fan.rst:2 +msgid "3.1.4 Smart Fan" +msgstr "3.1.4 スマートファン" + +#: ../3.1.4_smart_fan.rst:5 +msgid "Introduction" +msgstr "前書き" + +#: ../3.1.4_smart_fan.rst:7 +msgid "" +"In this course, we will use motors, buttons and thermistors to make a " +"manual + automatic smart fan whose wind speed is adjustable." +msgstr "このコースでは、モーター、ボタン、サーミスターを使用して、風速が調整可能な手動+自動のスマートファンを作成する。" + +#: ../3.1.4_smart_fan.rst:11 +msgid "Components" +msgstr "部品" + +#: ../3.1.4_smart_fan.rst:17 +msgid "Schematic Diagram" +msgstr "回路図" + +#: ../3.1.4_smart_fan.rst:20 +msgid "T-Board Name" +msgstr "Tボード名" + +#: ../3.1.4_smart_fan.rst:20 +msgid "physical" +msgstr "physical" + +#: ../3.1.4_smart_fan.rst:20 +msgid "wiringPi" +msgstr "wiringPi" + +#: ../3.1.4_smart_fan.rst:20 +msgid "BCM" +msgstr "BCM" + +#: ../3.1.4_smart_fan.rst:21 +msgid "GPIO17" +msgstr "GPIO17" + +#: ../3.1.4_smart_fan.rst:21 +msgid "Pin 11" +msgstr "Pin 11" + +#: ../3.1.4_smart_fan.rst:21 +msgid "0" +msgstr "0" + +#: ../3.1.4_smart_fan.rst:21 +msgid "17" +msgstr "17" + +#: ../3.1.4_smart_fan.rst:22 +msgid "GPIO18" +msgstr "GPIO18" + +#: ../3.1.4_smart_fan.rst:22 +msgid "Pin 12" +msgstr "Pin 12" + +#: ../3.1.4_smart_fan.rst:22 +msgid "1" +msgstr "1" + +#: ../3.1.4_smart_fan.rst:22 +msgid "18" +msgstr "18" + +#: ../3.1.4_smart_fan.rst:23 +msgid "GPIO27" +msgstr "GPIO27" + +#: ../3.1.4_smart_fan.rst:23 +msgid "Pin 13" +msgstr "Pin 13" + +#: ../3.1.4_smart_fan.rst:23 +msgid "2" +msgstr "2" + +#: ../3.1.4_smart_fan.rst:23 +msgid "27" +msgstr "27" + +#: ../3.1.4_smart_fan.rst:24 +msgid "GPIO22" +msgstr "GPIO22" + +#: ../3.1.4_smart_fan.rst:24 +msgid "Pin 15" +msgstr "Pin 15" + +#: ../3.1.4_smart_fan.rst:24 +msgid "3" +msgstr "3" + +#: ../3.1.4_smart_fan.rst:24 ../3.1.4_smart_fan.rst:26 +msgid "22" +msgstr "22" + +#: ../3.1.4_smart_fan.rst:25 +msgid "GPIO5" +msgstr "GPIO5" + +#: ../3.1.4_smart_fan.rst:25 +msgid "Pin 29" +msgstr "Pin 29" + +#: ../3.1.4_smart_fan.rst:25 +msgid "21" +msgstr "21" + +#: ../3.1.4_smart_fan.rst:25 +msgid "5" +msgstr "5" + +#: ../3.1.4_smart_fan.rst:26 +msgid "GPIO6" +msgstr "GPIO6" + +#: ../3.1.4_smart_fan.rst:26 +msgid "Pin 31" +msgstr "Pin 31" + +#: ../3.1.4_smart_fan.rst:26 +msgid "6" +msgstr "6" + +#: ../3.1.4_smart_fan.rst:27 +msgid "GPIO13" +msgstr "GPIO13" + +#: ../3.1.4_smart_fan.rst:27 +msgid "Pin 33" +msgstr "Pin 33" + +#: ../3.1.4_smart_fan.rst:27 +msgid "23" +msgstr "23" + +#: ../3.1.4_smart_fan.rst:27 +msgid "13" +msgstr "13" + +#: ../3.1.4_smart_fan.rst:35 +msgid "Experimental Procedures" +msgstr "実験手順" + +#: ../3.1.4_smart_fan.rst:37 +msgid "**Step 1:** Build the circuit." +msgstr "**ステップ1:** 回路を作る。" + +msgid "Smart Fan_bb" +msgstr "Smart Fan_bb" + +#: ../3.1.4_smart_fan.rst:45 +msgid "" +"The power module can apply a 9V battery with the 9V Battery Buckle in the" +" kit. Insert the jumper cap of the power module into the 5V bus strips of" +" the breadboard." +msgstr "電源モジュールはキットの9Vバッテリーバックルで9Vバッテリーを適用できる。電源モジュールのジャンパキャップをブレッドボードの5Vバスストリップに挿入する。" + +msgid "\\_MG_2084" +msgstr "\\_MG_2084" + +#: ../3.1.4_smart_fan.rst:56 +msgid "**For C Language Users**" +msgstr "**C言語ユーザー向け**" + +#: ../3.1.4_smart_fan.rst:58 ../3.1.4_smart_fan.rst:189 +msgid "**Step 2**: Get into the folder of the code." +msgstr "**ステップ2:** コードのフォルダーに入る。" + +#: ../3.1.4_smart_fan.rst:68 +msgid "**Step 3**: Compile." +msgstr "**ステップ3:** コンパイルする。" + +#: ../3.1.4_smart_fan.rst:78 +msgid "**Step 4**: Run the executable file above." +msgstr "**ステップ4:** EXEファイルを実行する。" + +#: ../3.1.4_smart_fan.rst:88 ../3.1.4_smart_fan.rst:209 +msgid "" +"As the code runs, start the fan by pressing the button. Every time you " +"press, 1 speed grade is adjusted up or down. There are **5** kinds of " +"speed grades: **0~4**. When set to the 4\\ :sup:`th` speed grade and you " +"press the button, the fan stops working with a **0** wind speed." +msgstr "" +"コードが実行された後、ボタンを押してファンを起動する。押すたびに、1つのレベルが上下に調整される。**5** " +"種類のレベルがある:**0〜4**。4番目のレベルに設定してボタンを押すと、ファンの風速が**0**で動作が停止する。" + +#: ../3.1.4_smart_fan.rst:95 +msgid "" +"If it does not work after running, please refer to :ref:`C code is not " +"working?`" +msgstr "実行後に機能しない場合は、:ref:`C code is not working?` を参照してください。" + +#: ../3.1.4_smart_fan.rst:98 ../3.1.4_smart_fan.rst:214 +msgid "" +"Once the temperature goes up or down for more than 2℃, the speed " +"automatically gets 1-grade faster or slower." +msgstr "温度が2℃以上上昇または下降すると、速度は自動的に1グレード速くまたは遅くなる。" + +#: ../3.1.4_smart_fan.rst:102 ../3.1.4_smart_fan.rst:309 +msgid "**Code Explanation**" +msgstr "**コードの説明**" + +#: ../3.1.4_smart_fan.rst:119 +msgid "" +"Temperture() works by converting thermistor values read by ADC0834 into " +"temperature values. Refer to :ref:`2.2.2 Thermistor` for more details." +msgstr "" +"Temperature()は、ADC0834によって読み取られたサーミスタ値を温度値に変換することによって機能します。 " +"詳細については、:ref:`2.2.2 Thermistor` を参照してください。" + +#: ../3.1.4_smart_fan.rst:137 +msgid "" +"This function controls the rotating speed of the motor. The range of the " +"**Level**: **0-4** (level **0** stops the working motor). One level " +"adjustment stands for a **25%** change of the wind speed." +msgstr "" +"この機能は、モーターの回転速度を制御する。**レベル** の範囲:**0〜4** (レベル **0** " +"は動作中のモーターを停止する)。1つのレベル調整は風速の **25%** の変化を表す。" + +#: ../3.1.4_smart_fan.rst:174 ../3.1.4_smart_fan.rst:366 +msgid "The function **main()** contains the whole program process as shown:" +msgstr "関数 **main()上** には、次のようにプログラムプロセス全体が含まれている:" + +#: ../3.1.4_smart_fan.rst:176 ../3.1.4_smart_fan.rst:368 +msgid "Constantly read the button state and the current temperature." +msgstr "ボタンの状態と現在の温度を常に読み取る。" + +#: ../3.1.4_smart_fan.rst:178 ../3.1.4_smart_fan.rst:370 +msgid "" +"Every press makes level\\ **+1** and at the same time, the temperature is" +" updated. The **Level** ranges **1~4**." +msgstr "ボタンを押すごとに、レベル\\ **+1** になり、同時に温度が更新される。レ **れベル** 範囲 **1〜4** 。" + +#: ../3.1.4_smart_fan.rst:181 ../3.1.4_smart_fan.rst:373 +msgid "" +"As the fan works ( the level is **not 0**), the temperature is under " +"detection. A **2℃\\ +** change causes the up and down of the level." +msgstr "ファンが作動すると(レベルは **0ではない** )、温度は検出中である。**2℃\\+** 以上変更すると、レベルが上下に変化する。" + +#: ../3.1.4_smart_fan.rst:184 ../3.1.4_smart_fan.rst:376 +msgid "The motor changes the rotating speed with the **Level**." +msgstr "モーターは **レベル** に応じて回転速度を変更する。" + +#: ../3.1.4_smart_fan.rst:187 +msgid "**For Python Language Users**" +msgstr "**Python言語ユーザー向け**" + +#: ../3.1.4_smart_fan.rst:199 +msgid "**Step 3**: Run." +msgstr "**ステップ3:** 実行する。" + +#: ../3.1.4_smart_fan.rst:217 +msgid "**Code**" +msgstr "**コード**" + +#: ../3.1.4_smart_fan.rst:221 + +msgid "" +"You can **Modify/Reset/Copy/Run/Stop** the code below. But before that, " +"you need to go to source code path like ``davinci-kit-for-raspberry-" +"pi/python``." +msgstr "" +"以下のコードを **変更/リセット/コピー/実行/停止** できます。 ただし、その前に、 ``davinci-kit-for-raspberry-pi/python`` のようなソースコードパスに移動する必要があります。" + +#: ../3.1.4_smart_fan.rst:322 +msgid "" +"temperture() works by converting thermistor values read by **ADC0834** " +"into temperature values. Refer to :ref:`2.2.2 Thermistor` for more " +"details." +msgstr "" +"Temperature()は、**ADC0834** によって読み取られたサーミスタ値を温度値に変換することによって機能します。 " +"詳細については、:ref:`2.2.2 Thermistor` を参照してください。" + +#: ../3.1.4_smart_fan.rst:338 +msgid "" +"This function controls the rotating speed of the motor. The range of the " +"**Lever**: **0-4** (level **0** stops the working motor). One level " +"adjustment stands for a **25%** change of the wind speed." +msgstr "" +"この機能はモーターの回転速度を制御する。**レバー** の範囲: **0〜4** (レベル **0** " +"は動作中のモーターを停止する)。1つのレベル調整は風速の **25%** の変化を表す。" + +#: ../3.1.4_smart_fan.rst:379 +msgid "Phenomenon Picture" +msgstr "現象画像" + +#~ msgid "" +#~ "If it does not work after running," +#~ " please refer to :ref:`C code is " +#~ "not working?`." +#~ msgstr "" + diff --git a/docs/source/locale/ja/LC_MESSAGES/3.1.5_battery_indicator.po b/docs/source/locale/ja/LC_MESSAGES/3.1.5_battery_indicator.po new file mode 100644 index 0000000..b765489 --- /dev/null +++ b/docs/source/locale/ja/LC_MESSAGES/3.1.5_battery_indicator.po @@ -0,0 +1,360 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, SunFounder +# This file is distributed under the same license as the SunFounder Davinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Davinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-19 18:22+0800\n" +"PO-Revision-Date: 2021-06-07 09:05+0800\n" +"Last-Translator: \n" +"Language: ja\n" +"Language-Team: \n" +"Plural-Forms: nplurals=1; plural=0\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../3.1.5_battery_indicator.rst:2 +msgid "3.1.5 Battery Indicator" +msgstr "3.1.5 バッテリーインジケーター" + +#: ../3.1.5_battery_indicator.rst:5 +msgid "Introduction" +msgstr "前書き" + +#: ../3.1.5_battery_indicator.rst:7 +msgid "" +"In this course, we will make a battery indicator device that can visually" +" display the battery level on the LED Bargraph." +msgstr "このコースでは、LEDバーグラフにバッテリーレベルを視覚的に表示できるバッテリー指示装置を作成する。" + +#: ../3.1.5_battery_indicator.rst:11 +msgid "Components" +msgstr "部品" + +#: ../3.1.5_battery_indicator.rst:17 +msgid "Schematic Diagram" +msgstr "回路図" + +#: ../3.1.5_battery_indicator.rst:20 +msgid "T-Board Name" +msgstr "Tボード名" + +#: ../3.1.5_battery_indicator.rst:20 +msgid "physical" +msgstr "physical" + +#: ../3.1.5_battery_indicator.rst:20 +msgid "wiringPi" +msgstr "wiringPi" + +#: ../3.1.5_battery_indicator.rst:20 +msgid "BCM" +msgstr "BCM" + +#: ../3.1.5_battery_indicator.rst:21 +msgid "GPIO17" +msgstr "GPIO17" + +#: ../3.1.5_battery_indicator.rst:21 +msgid "Pin 11" +msgstr "Pin 11" + +#: ../3.1.5_battery_indicator.rst:21 +msgid "0" +msgstr "0" + +#: ../3.1.5_battery_indicator.rst:21 +msgid "17" +msgstr "17" + +#: ../3.1.5_battery_indicator.rst:22 +msgid "GPIO18" +msgstr "GPIO18" + +#: ../3.1.5_battery_indicator.rst:22 +msgid "Pin 12" +msgstr "Pin 12" + +#: ../3.1.5_battery_indicator.rst:22 +msgid "1" +msgstr "1" + +#: ../3.1.5_battery_indicator.rst:22 +msgid "18" +msgstr "18" + +#: ../3.1.5_battery_indicator.rst:23 +msgid "GPIO27" +msgstr "GPIO27" + +#: ../3.1.5_battery_indicator.rst:23 +msgid "Pin 13" +msgstr "Pin 13" + +#: ../3.1.5_battery_indicator.rst:23 +msgid "2" +msgstr "2" + +#: ../3.1.5_battery_indicator.rst:23 ../3.1.5_battery_indicator.rst:26 +msgid "27" +msgstr "27" + +#: ../3.1.5_battery_indicator.rst:24 +msgid "GPIO25" +msgstr "GPIO25" + +#: ../3.1.5_battery_indicator.rst:24 +msgid "Pin 22" +msgstr "Pin 22" + +#: ../3.1.5_battery_indicator.rst:24 ../3.1.5_battery_indicator.rst:30 +msgid "6" +msgstr "6" + +#: ../3.1.5_battery_indicator.rst:24 ../3.1.5_battery_indicator.rst:33 +msgid "25" +msgstr "25" + +#: ../3.1.5_battery_indicator.rst:25 +msgid "GPIO12" +msgstr "GPIO12" + +#: ../3.1.5_battery_indicator.rst:25 +msgid "Pin 32" +msgstr "Pin 32" + +#: ../3.1.5_battery_indicator.rst:25 ../3.1.5_battery_indicator.rst:33 +msgid "26" +msgstr "26" + +#: ../3.1.5_battery_indicator.rst:25 +msgid "12" +msgstr "12" + +#: ../3.1.5_battery_indicator.rst:26 +msgid "GPIO16" +msgstr "GPIO16" + +#: ../3.1.5_battery_indicator.rst:26 +msgid "Pin 36" +msgstr "Pin 36" + +#: ../3.1.5_battery_indicator.rst:26 +msgid "16" +msgstr "16" + +#: ../3.1.5_battery_indicator.rst:27 +msgid "GPIO20" +msgstr "GPIO20" + +#: ../3.1.5_battery_indicator.rst:27 +msgid "Pin 38" +msgstr "Pin 38" + +#: ../3.1.5_battery_indicator.rst:27 +msgid "28" +msgstr "28" + +#: ../3.1.5_battery_indicator.rst:27 +msgid "20" +msgstr "20" + +#: ../3.1.5_battery_indicator.rst:28 +msgid "GPIO21" +msgstr "GPIO21" + +#: ../3.1.5_battery_indicator.rst:28 +msgid "Pin 40" +msgstr "Pin 40" + +#: ../3.1.5_battery_indicator.rst:28 +msgid "29" +msgstr "29" + +#: ../3.1.5_battery_indicator.rst:28 ../3.1.5_battery_indicator.rst:29 +msgid "21" +msgstr "21" + +#: ../3.1.5_battery_indicator.rst:29 +msgid "GPIO5" +msgstr "GPIO5" + +#: ../3.1.5_battery_indicator.rst:29 +msgid "Pin 29" +msgstr "Pin 29" + +#: ../3.1.5_battery_indicator.rst:29 +msgid "5" +msgstr "5" + +#: ../3.1.5_battery_indicator.rst:30 +msgid "GPIO6" +msgstr "GPIO6" + +#: ../3.1.5_battery_indicator.rst:30 +msgid "Pin 31" +msgstr "Pin 31" + +#: ../3.1.5_battery_indicator.rst:30 +msgid "22" +msgstr "22" + +#: ../3.1.5_battery_indicator.rst:31 +msgid "GPIO13" +msgstr "GPIO13" + +#: ../3.1.5_battery_indicator.rst:31 +msgid "Pin 33" +msgstr "Pin 33" + +#: ../3.1.5_battery_indicator.rst:31 +msgid "23" +msgstr "23" + +#: ../3.1.5_battery_indicator.rst:31 +msgid "13" +msgstr "13" + +#: ../3.1.5_battery_indicator.rst:32 +msgid "GPIO19" +msgstr "GPIO19" + +#: ../3.1.5_battery_indicator.rst:32 +msgid "Pin 35" +msgstr "Pin 35" + +#: ../3.1.5_battery_indicator.rst:32 +msgid "24" +msgstr "24" + +#: ../3.1.5_battery_indicator.rst:32 +msgid "19" +msgstr "19" + +#: ../3.1.5_battery_indicator.rst:33 +msgid "GPIO26" +msgstr "GPIO26" + +#: ../3.1.5_battery_indicator.rst:33 +msgid "Pin 37" +msgstr "Pin 37" + +#: ../3.1.5_battery_indicator.rst:40 +msgid "Experimental Procedures" +msgstr "実験手順" + +#: ../3.1.5_battery_indicator.rst:42 +msgid "**Step 1:** Build the circuit." +msgstr "**ステップ1:** 回路を作る。" + +msgid "电量计_bb" +msgstr "电量计_bb" + +#: ../3.1.5_battery_indicator.rst:50 +msgid "**For C Language Users**" +msgstr "**C言語ユーザー向け**" + +#: ../3.1.5_battery_indicator.rst:52 ../3.1.5_battery_indicator.rst:145 +msgid "**Step 2:** Go to the folder of the code." +msgstr "**ステップ2:** コードのフォルダーに入る。" + +#: ../3.1.5_battery_indicator.rst:62 +msgid "**Step 3:** Compile the code." +msgstr "**ステップ3:** コードをコンパイルする。" + +#: ../3.1.5_battery_indicator.rst:72 +msgid "**Step 4:** Run the executable file." +msgstr "**ステップ4:** EXEファイルを実行する。" + +#: ../3.1.5_battery_indicator.rst:82 ../3.1.5_battery_indicator.rst:165 +msgid "" +"After the program runs, give the 3rd pin of ADC0834 and the GND a lead-" +"out wire separately and then lead them to the two poles of a battery " +"separately. You can see the corresponding LED on the LED Bargraph is lit " +"up to display the power level (measuring range: 0-5V)." +msgstr "プログラムの実行後、ADC0834の3番目のピンとGNDに個別にリード線を配線し、それらを別々にバッテリーの2つの極に導く。LEDバーグラフの対応するLEDが点灯し、電力レベルが表示される(測定範囲:0〜5V)。" + +#: ../3.1.5_battery_indicator.rst:89 +msgid "" +"If it does not work after running, please refer to :ref:`C code is not " +"working?`" +msgstr "実行後に機能しない場合は、:ref:`C code is not working?` を参照してください。" + +#: ../3.1.5_battery_indicator.rst:92 ../3.1.5_battery_indicator.rst:216 +msgid "**Code Explanation**" +msgstr "**コードの説明**" + +#: ../3.1.5_battery_indicator.rst:105 +msgid "" +"This function works for controlling the turning on or off of the 10 LEDs " +"on the LED Bargraph. We give these 10 LEDs high levels to let they are " +"off at first, then decide how many LEDs are lit up by changing the " +"received analog value." +msgstr "この機能は、LED棒グラフの10個のLEDの点灯/消灯を制御するために機能する。これらの10個のLEDを最初にオフにするために高レベルを指定し、次に受信したアナログ値を変更することでいくつのLEDを点灯させるかを決定する。" + +#: ../3.1.5_battery_indicator.rst:133 ../3.1.5_battery_indicator.rst:238 +msgid "" +"analogVal produces values (**0-255**) with varying voltage values " +"(**0-5V**), ex., if a 3V is detected on a battery, the corresponding " +"value **152** is displayed on the voltmeter." +msgstr "" +"analogValは、さまざまな電圧値(**0-5V**)で値(**0-255**)を生成する。たとえば、バッテリーで3Vが検出されると、対応する値" +" **152** が電圧計に表示される。" + +#: ../3.1.5_battery_indicator.rst:137 ../3.1.5_battery_indicator.rst:242 +msgid "" +"The **10** LEDs on the LED Bargraph are used to display the **analogVal**" +" readings. 255/10=25, so every **25** the analog value increases, one " +"more LED turns on, ex., if “analogVal=150 (about 3V), there are 6 LEDs " +"turning on.”" +msgstr "" +"LED棒グラフの10個のLEDはanalogVal測定値を表示するために使用される。255/10 = " +"25。したがって、25ごとにアナログ値が増加し、もう1つのLEDが点灯する。" + +#: ../3.1.5_battery_indicator.rst:143 +msgid "**For Python Language Users**" +msgstr "**Python言語ユーザー向け**" + +#: ../3.1.5_battery_indicator.rst:155 +msgid "**Step 3:** Run the executable file." +msgstr "**ステップ3:** EXEファイルを実行する。" + +#: ../3.1.5_battery_indicator.rst:170 +msgid "**Code**" +msgstr "**コード**" + +#: ../3.1.5_battery_indicator.rst:174 + +msgid "" +"You can **Modify/Reset/Copy/Run/Stop** the code below. But before that, " +"you need to go to source code path like ``davinci-kit-for-raspberry-" +"pi/python``." +msgstr "" +"以下のコードを **変更/リセット/コピー/実行/停止** できます。 ただし、その前に、 ``davinci-kit-for-raspberry-pi/python`` のようなソースコードパスに移動する必要があります。" + +#: ../3.1.5_battery_indicator.rst:226 +msgid "" +"This function works for controlling the turning on or off of the **10** " +"LEDs on the LED Bargraph. We give these **10** LEDs high levels to let " +"they are **off** at first, then decide how many LEDs are lit up by " +"changing the received analog value." +msgstr "" +"この機能は、LED棒グラフの **10** 個のLEDの点灯/消灯を制御するために機能する。これらの **10** 個のLEDを最初に " +"**オフ** にするために高レベルを指定し、次に受信したアナログ値を変更することでいくつのLEDを点灯させるかを決定する。" + +#: ../3.1.5_battery_indicator.rst:248 +msgid "Phenomenon Picture" +msgstr "現象画像" + +#~ msgid "" +#~ "If it does not work after running," +#~ " please refer to :ref:`C code is " +#~ "not working?`." +#~ msgstr "" + diff --git a/docs/source/locale/ja/LC_MESSAGES/3.1.6_motion_control.po b/docs/source/locale/ja/LC_MESSAGES/3.1.6_motion_control.po new file mode 100644 index 0000000..1d98bad --- /dev/null +++ b/docs/source/locale/ja/LC_MESSAGES/3.1.6_motion_control.po @@ -0,0 +1,270 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, SunFounder +# This file is distributed under the same license as the SunFounder Davinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Davinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-19 18:22+0800\n" +"PO-Revision-Date: 2021-06-07 09:08+0800\n" +"Last-Translator: \n" +"Language: ja\n" +"Language-Team: \n" +"Plural-Forms: nplurals=1; plural=0\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../3.1.6_motion_control.rst:2 +msgid "3.1.6 Motion Control" +msgstr "3.1.6 モーション制御" + +#: ../3.1.6_motion_control.rst:5 +msgid "Introduction" +msgstr "前書き" + +#: ../3.1.6_motion_control.rst:7 +msgid "" +"In this lesson, we will make a simple motion sensing and controlling " +"device. The MPU6050 is used as a sensor and the stepper motor as a " +"controlled device. With the MPU6050 mounted on the glove, you can control" +" the stepper motor by rotating your wrist." +msgstr "このレッスンでは、簡単なモーション検知と制御装置を作成する。MPU6050はセンサーとして使用され、ステッピングモーターは制御装置として使用される。MPU6050をグローブに取り付けた状態で、手首を回すことでステッピングモーターを制御できる。" + +#: ../3.1.6_motion_control.rst:13 +msgid "Components" +msgstr "部品" + +#: ../3.1.6_motion_control.rst:19 +msgid "Schematic Diagram" +msgstr "回路図" + +#: ../3.1.6_motion_control.rst:22 +msgid "T-Board Name" +msgstr "Tボード名" + +#: ../3.1.6_motion_control.rst:22 +msgid "physical" +msgstr "physical" + +#: ../3.1.6_motion_control.rst:22 +msgid "wiringPi" +msgstr "wiringPi" + +#: ../3.1.6_motion_control.rst:22 +msgid "BCM" +msgstr "BCM" + +#: ../3.1.6_motion_control.rst:23 +msgid "GPIO18" +msgstr "GPIO18" + +#: ../3.1.6_motion_control.rst:23 +msgid "Pin 12" +msgstr "Pin 12" + +#: ../3.1.6_motion_control.rst:23 +msgid "1" +msgstr "1" + +#: ../3.1.6_motion_control.rst:23 +msgid "18" +msgstr "18" + +#: ../3.1.6_motion_control.rst:24 +msgid "GPIO23" +msgstr "GPIO23" + +#: ../3.1.6_motion_control.rst:24 +msgid "Pin 16" +msgstr "Pin 16" + +#: ../3.1.6_motion_control.rst:24 +msgid "4" +msgstr "4" + +#: ../3.1.6_motion_control.rst:24 +msgid "23" +msgstr "23" + +#: ../3.1.6_motion_control.rst:25 +msgid "GPIO24" +msgstr "GPIO24" + +#: ../3.1.6_motion_control.rst:25 +msgid "Pin 18" +msgstr "Pin 18" + +#: ../3.1.6_motion_control.rst:25 +msgid "5" +msgstr "5" + +#: ../3.1.6_motion_control.rst:25 +msgid "24" +msgstr "24" + +#: ../3.1.6_motion_control.rst:26 +msgid "GPIO25" +msgstr "GPIO25" + +#: ../3.1.6_motion_control.rst:26 +msgid "Pin 22" +msgstr "Pin 22" + +#: ../3.1.6_motion_control.rst:26 +msgid "6" +msgstr "6" + +#: ../3.1.6_motion_control.rst:26 +msgid "25" +msgstr "25" + +#: ../3.1.6_motion_control.rst:27 +msgid "SDA1" +msgstr "SDA1" + +#: ../3.1.6_motion_control.rst:27 +msgid "Pin 3" +msgstr "Pin 3" + +#: ../3.1.6_motion_control.rst:28 +msgid "SCL1" +msgstr "SCL1" + +#: ../3.1.6_motion_control.rst:28 +msgid "Pin 5" +msgstr "Pin 5" + +#: ../3.1.6_motion_control.rst:35 +msgid "Experimental Procedures" +msgstr "実験手順" + +#: ../3.1.6_motion_control.rst:37 +msgid "**Step 1:** Build the circuit." +msgstr "**ステップ1:** 回路を作る。" + +msgid "3.1.6 Motion Control_bb" +msgstr "3.1.6 Motion Control_bb" + +#: ../3.1.6_motion_control.rst:45 +msgid "**For C Language Users**" +msgstr "**C言語ユーザー向け**" + +#: ../3.1.6_motion_control.rst:47 ../3.1.6_motion_control.rst:150 +msgid "**Step 2**: Go to the folder of the code." +msgstr "**ステップ2:** コードのフォルダーに入る。" + +#: ../3.1.6_motion_control.rst:57 +msgid "**Step 3**: Compile the code." +msgstr "**ステップ3:** コードをコンパイルする。" + +#: ../3.1.6_motion_control.rst:67 +msgid "**Step 4**: Run the executable file." +msgstr "**ステップ4:** EXEファイルを実行する。" + +#: ../3.1.6_motion_control.rst:77 +msgid "" +"As the code runs, if the tilt angle of **mpu6050** on the `Y " +"`__-`axis " +"`__ is " +"larger than **45** ℃, the stepper motor rotates anticlockwise; if less " +"than **-45** ℃, the stepper motor rotates clockwise." +msgstr "" +"コードが実行されている間、もし **mpu6050** のチルト角度が `Y " +"`__-`axis " +"`__ **45** " +"℃より大きい場合、ステッピングモーターは反時計回りに回転します。 **-45** ℃未満の場合、ステッピングモーターは時計回りに回転します。" + +#: ../3.1.6_motion_control.rst:84 +msgid "" +"If it does not work after running, please refer to :ref:`C code is not " +"working?`" +msgstr "実行後に機能しない場合は、:ref:`C code is not working?` を参照してください。" + +#: ../3.1.6_motion_control.rst:87 ../3.1.6_motion_control.rst:286 +msgid "**Code Explanation**" +msgstr "**コードの説明**" + +#: ../3.1.6_motion_control.rst:102 ../3.1.6_motion_control.rst:300 +msgid "mpu6050 gets the tilt angle in the direction of the Y-axis." +msgstr "mpu6050はY軸の方向の傾斜角を取得する。" + +#: ../3.1.6_motion_control.rst:123 ../3.1.6_motion_control.rst:317 + +msgid "" +"If the received direction **key** is \\'**c**\\', the stepper motor " +"rotates clockwise; if the **key** is \\'**a**\\', the motor rotates " +"anticlockwise. Refer to :ref:`1.3.3 Stepper Motor` for more details about" +" the calculation of the rotating direction of the stepper motor." +msgstr "" +"受信方向 **キー** が「**c**」の場合、ステッピングモーターは時計回りに回転します。 **キー** が「**a** " +"」の場合、モーターは反時計回りに回転します。ステッピングモーターの回転方向の計算の詳細については、:ref:`1.3.3 Stepper " +"Motor` を参照してください。" + +#: ../3.1.6_motion_control.rst:142 + +msgid "" +"The tilt angle in the direction of the Y-axis is read from **mpu6050**, " +"and if it’s larger than **45** ℃, the stepper motor rotates " +"anticlockwise; if less than **-45** ℃, the stepper motor rotates " +"clockwise." +msgstr "" +"Y軸方向の傾斜角は **mpu6050** から読み取られ、**45** ℃より大きい場合、ステッピングモーターは反時計回りに回転する。**-45** ℃未満の場合、ステッピングモーターは時計回りに回転する。" + +#: ../3.1.6_motion_control.rst:148 +msgid "**For Python Language Users**" +msgstr "**Python言語ユーザー向け**" + +#: ../3.1.6_motion_control.rst:160 +msgid "**Step 3**: Run the executable file." +msgstr "**ステップ3:** EXEファイルを実行する。" + +#: ../3.1.6_motion_control.rst:170 +msgid "" +"As the code runs, if the tilt angle of **mpu6050** on the `Y " +"`__\\ **-**\\ " +"`axis `__ " +"is larger than **45** ℃, the stepper motor rotates anticlockwise; if less" +" than **-45** ℃, the stepper motor rotates clockwise." +msgstr "" +"コードの実行中に、**Y軸** 上の **mpu6050** の傾斜角が **45℃** " +"より大きい場合、ステッピングモーターは反時計回りに回転する。**-45℃** 未満の場合、ステッピングモーターは時計回りに回転する。" + +#: ../3.1.6_motion_control.rst:175 +msgid "**Code**" +msgstr "**コード**" + +#: ../3.1.6_motion_control.rst:179 + +msgid "" +"You can **Modify/Reset/Copy/Run/Stop** the code below. But before that, " +"you need to go to source code path like ``davinci-kit-for-raspberry-" +"pi/python``." +msgstr "" +"以下のコードを **変更/リセット/コピー/実行/停止** できます。 ただし、その前に、 ``davinci-kit-for-raspberry-pi/python`` のようなソースコードパスに移動する必要があります。" + +#: ../3.1.6_motion_control.rst:332 + +msgid "" +"The tilt angle in the direction of the **Y-axis** is read from " +"**mpu6050**, and if it’s larger than **45** ℃, rotary() is called to let " +"the stepper motor rotate anticlockwise; if less than **-45** ℃, the " +"stepper motor rotates clockwise." +msgstr "" +" **Y軸** 方向の傾斜角は **mpu6050** から読み取られ、**45** " +"℃より大きい場合、ステッピングモーターを反時計回りに回転させるためにrotary()が呼び出される。**-45** ℃未満の場合、ステッピングモーターは時計回りに回転する。" + +#: ../3.1.6_motion_control.rst:338 +msgid "Phenomenon Picture" +msgstr "現象画像" + +#~ msgid "" +#~ "If it does not work after running," +#~ " please refer to :ref:`C code is " +#~ "not working?`." +#~ msgstr "" + diff --git a/docs/source/locale/ja/LC_MESSAGES/3.1.7_traffic_light.po b/docs/source/locale/ja/LC_MESSAGES/3.1.7_traffic_light.po new file mode 100644 index 0000000..988de25 --- /dev/null +++ b/docs/source/locale/ja/LC_MESSAGES/3.1.7_traffic_light.po @@ -0,0 +1,354 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, SunFounder +# This file is distributed under the same license as the SunFounder Davinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Davinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-19 18:22+0800\n" +"PO-Revision-Date: 2021-05-28 09:42+0800\n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../3.1.7_traffic_light.rst:2 +msgid "3.1.7 Traffic Light" +msgstr "3.1.7 信号機" + +#: ../3.1.7_traffic_light.rst:5 +msgid "Introduction" +msgstr "前書き" + +#: ../3.1.7_traffic_light.rst:7 +msgid "" +"In this project, we will use LED lights of three colors to realize the " +"change of traffic lights and a four-digit 7-segment display will be used " +"to display the timing of each traffic state." +msgstr "このプロジェクトでは、3色のLEDを使用して交通信号の変化を実現し、4桁の7セグメントディスプレイを使用して各交通状態のタイミングを表示する。" + +#: ../3.1.7_traffic_light.rst:12 +msgid "Components" +msgstr "部品" + +#: ../3.1.7_traffic_light.rst:18 +msgid "Schematic Diagram" +msgstr "回路図" + +#: ../3.1.7_traffic_light.rst:21 +msgid "T-Board Name" +msgstr "Tボード名" + +#: ../3.1.7_traffic_light.rst:21 +msgid "physical" +msgstr "physical" + +#: ../3.1.7_traffic_light.rst:21 +msgid "wiringPi" +msgstr "wiringPi" + +#: ../3.1.7_traffic_light.rst:21 +msgid "BCM" +msgstr "BCM" + +#: ../3.1.7_traffic_light.rst:22 +msgid "GPIO17" +msgstr "GPIO17" + +#: ../3.1.7_traffic_light.rst:22 +msgid "Pin 11" +msgstr "Pin 11" + +#: ../3.1.7_traffic_light.rst:22 +msgid "0" +msgstr "0" + +#: ../3.1.7_traffic_light.rst:22 +msgid "17" +msgstr "17" + +#: ../3.1.7_traffic_light.rst:23 +msgid "GPIO27" +msgstr "GPIO27" + +#: ../3.1.7_traffic_light.rst:23 +msgid "Pin 13" +msgstr "Pin 13" + +#: ../3.1.7_traffic_light.rst:23 +msgid "2" +msgstr "2" + +#: ../3.1.7_traffic_light.rst:23 +msgid "27" +msgstr "27" + +#: ../3.1.7_traffic_light.rst:24 +msgid "GPIO22" +msgstr "GPIO22" + +#: ../3.1.7_traffic_light.rst:24 +msgid "Pin 15" +msgstr "Pin 15" + +#: ../3.1.7_traffic_light.rst:24 +msgid "3" +msgstr "3" + +#: ../3.1.7_traffic_light.rst:24 +msgid "22" +msgstr "22" + +#: ../3.1.7_traffic_light.rst:25 +msgid "SPIMOSI" +msgstr "SPIMOSI" + +#: ../3.1.7_traffic_light.rst:25 +msgid "Pin 19" +msgstr "Pin 19" + +#: ../3.1.7_traffic_light.rst:25 +msgid "12" +msgstr "12" + +#: ../3.1.7_traffic_light.rst:25 ../3.1.7_traffic_light.rst:30 +msgid "10" +msgstr "10" + +#: ../3.1.7_traffic_light.rst:26 +msgid "GPIO18" +msgstr "GPIO18" + +#: ../3.1.7_traffic_light.rst:26 +msgid "Pin 12" +msgstr "Pin 12" + +#: ../3.1.7_traffic_light.rst:26 +msgid "1" +msgstr "1" + +#: ../3.1.7_traffic_light.rst:26 +msgid "18" +msgstr "18" + +#: ../3.1.7_traffic_light.rst:27 +msgid "GPIO23" +msgstr "GPIO23" + +#: ../3.1.7_traffic_light.rst:27 +msgid "Pin 16" +msgstr "Pin 16" + +#: ../3.1.7_traffic_light.rst:27 +msgid "4" +msgstr "4" + +#: ../3.1.7_traffic_light.rst:27 +msgid "23" +msgstr "23" + +#: ../3.1.7_traffic_light.rst:28 +msgid "GPIO24" +msgstr "GPIO24" + +#: ../3.1.7_traffic_light.rst:28 +msgid "Pin 18" +msgstr "Pin 18" + +#: ../3.1.7_traffic_light.rst:28 +msgid "5" +msgstr "5" + +#: ../3.1.7_traffic_light.rst:28 +msgid "24" +msgstr "24" + +#: ../3.1.7_traffic_light.rst:29 +msgid "GPIO25" +msgstr "GPIO25" + +#: ../3.1.7_traffic_light.rst:29 +msgid "Pin 22" +msgstr "Pin 22" + +#: ../3.1.7_traffic_light.rst:29 +msgid "6" +msgstr "6" + +#: ../3.1.7_traffic_light.rst:29 +msgid "25" +msgstr "25" + +#: ../3.1.7_traffic_light.rst:30 +msgid "SPICE0" +msgstr "SPICE0" + +#: ../3.1.7_traffic_light.rst:30 +msgid "Pin 24" +msgstr "Pin 24" + +#: ../3.1.7_traffic_light.rst:30 +msgid "8" +msgstr "8" + +#: ../3.1.7_traffic_light.rst:31 +msgid "SPICE1" +msgstr "SPICE1" + +#: ../3.1.7_traffic_light.rst:31 +msgid "Pin 26" +msgstr "Pin 26" + +#: ../3.1.7_traffic_light.rst:31 +msgid "11" +msgstr "11" + +#: ../3.1.7_traffic_light.rst:31 +msgid "7" +msgstr "7" + +#: ../3.1.7_traffic_light.rst:38 +msgid "Experimental Procedures" +msgstr "実験手順" + +#: ../3.1.7_traffic_light.rst:40 +msgid "**Step 1:** Build the circuit." +msgstr "**ステップ1:** 回路を作る。" + +msgid "3.1.7_TrafficLight_bb" +msgstr "3.1.7_TrafficLight_bb" + +#: ../3.1.7_traffic_light.rst:47 +msgid "**For C Language Users**" +msgstr "**C言語ユーザー向け**" + +#: ../3.1.7_traffic_light.rst:49 ../3.1.7_traffic_light.rst:178 +msgid "**Step 2:** Change directory." +msgstr "**ステップ2:** ディレクトリを変更する。" + +#: ../3.1.7_traffic_light.rst:59 +msgid "**Step 3:** Compile." +msgstr "**ステップ3:** コンパイルする。" + +#: ../3.1.7_traffic_light.rst:69 +msgid "**Step 4:** Run." +msgstr "**ステップ4:** 実行する。" + +#: ../3.1.7_traffic_light.rst:79 +msgid "" +"As the code runs, LEDs will simulate the color changing of traffic " +"lights. Firstly, the red LED lights up for 60s, then the green LED lights" +" up for 30s; next, the yellow LED lights up for 5s. After that, the red " +"LED lights up for 60s once again. In this way, this series of actions " +"will be executed repeatedly." +msgstr "コードが実行されると、LEDは交通信号の色の変化をシミュレートする。まず、赤色のLEDが60秒間点灯し、それから緑色のLEDが30秒間点灯し、最後に、黄色のLEDが5秒間点灯する。その後、赤いLEDが60秒間再び点灯する。このようにして、この一連のアクションは繰り返し実行される。" + +#: ../3.1.7_traffic_light.rst:87 +msgid "" +"If it does not work after running, please refer to :ref:`C code is not " +"working?`" +msgstr "実行後に機能しない場合は、:ref:`C code is not working?` を参照してください。" + +#: ../3.1.7_traffic_light.rst:90 ../3.1.7_traffic_light.rst:349 +msgid "**Code Explanation**" +msgstr "**コードの説明**" + +#: ../3.1.7_traffic_light.rst:106 +msgid "" +"These codes are used to realize the function of number display of 4-Digit" +" 7-Segment Displays. Refer to :ref:`1.1.5 4-Digit 7-Segment Display` of " +"the document for more details. Here, we use the codes to display " +"countdown of traffic light time." +msgstr "" +"これらのコードは、4桁7セグメントディスプレイの数値表示機能を実現するために使用されます。 詳細については、ドキュメントの :ref:`1.1.5" +" 4-Digit 7-Segment Display` を参照してください。 ここでは、コードを使用して信号時間のカウントダウンを表示します。" + +#: ../3.1.7_traffic_light.rst:124 ../3.1.7_traffic_light.rst:380 +msgid "The codes are used to switch the LED on and off." +msgstr "コードはLEDのオンとオフを切り替えるために使用される。" + +#: ../3.1.7_traffic_light.rst:149 ../3.1.7_traffic_light.rst:411 +msgid "" +"The codes are used to switch the timer on and off. Refer to :ref:`1.1.5 " +"4-Digit 7-Segment Display` for more details. Here, when the timer returns" +" to zero, colorState will be switched so as to switch LED, and the timer " +"will be assigned to a new value." +msgstr "" +"コードは、タイマーのオンとオフを切り替えるために使用されます。 詳細については、:ref:`1.1.5 4-Digit 7-Segment " +"Display` を参照してください。 " +"ここで、タイマーがゼロに戻ると、colorStateが切り替えられてLEDが切り替わり、タイマーが新しい値に割り当てられます。" + +#: ../3.1.7_traffic_light.rst:172 +msgid "" +"The timer is started in the main() function. In loop() function, use " +"**while(1)** loop and call the functions of 4-Digit 7-Segment and LED." +msgstr "" +"タイマーはmain()関数で始まる。loop()関数では、**while(1)** loopを使用して、4桁7セグメントとLEDの関数を呼び出す。" +"\n" +" " + +#: ../3.1.7_traffic_light.rst:176 +msgid "**For Python Language Users**" +msgstr "**Python言語ユーザー向け**" + +#: ../3.1.7_traffic_light.rst:188 +msgid "**Step 3:** Run." +msgstr "**ステップ3:** 実行する。" + +#: ../3.1.7_traffic_light.rst:198 +msgid "" +"As the code runs, LEDs will simulate the color changing of traffic " +"lights. Firstly, the red LED lights up for 60s, then the green LED lights" +" up for 30s; next, the yellow LED lights up for 5s. After that, the red " +"LED lights up for 60s once again. In this way, this series of actions " +"will be executed repeatedly. Meanwhile, the 4-digit 7-segment display " +"displays the countdown time continuously." +msgstr "コードが実行されると、LEDは交通信号の色の変化をシミュレートする。まず、赤色のLEDが60秒間点灯し、それから緑色のLEDが30秒間点灯し、最後に、黄色のLEDが5秒間点灯する。その後、赤いLEDが60秒間再び点灯する。このようにして、この一連のアクションは繰り返し実行される。一方、4桁の7セグメントディスプレイには、カウントダウン時間が連続して表示される。" + +#: ../3.1.7_traffic_light.rst:205 +msgid "**Code**" +msgstr "**コード**" + +#: ../3.1.7_traffic_light.rst:209 + +msgid "" +"You can **Modify/Reset/Copy/Run/Stop** the code below. But before that, " +"you need to go to source code path like ``davinci-kit-for-raspberry-" +"pi/python``." +msgstr "" +"以下のコードを **変更/リセット/コピー/実行/停止** できます。 ただし、その前に、 ``davinci-kit-for-raspberry-pi/python`` のようなソースコードパスに移動する必要があります。" + +#: ../3.1.7_traffic_light.rst:364 +msgid "" +"These codes are used to realize the function of number display of 4-Digit" +" 7-Segment. Refer to :ref:`1.1.5 4-Digit 7-Segment Display` of the " +"document for more details. Here, we use the codes to display countdown of" +" traffic light time." +msgstr "" +"これらのコードは、4桁7セグメントの数値表示機能を実現するために使用されます。 詳細については、ドキュメントの :ref:`1.1.5 " +"4-Digit 7-Segment Display` を参照してください。 ここでは、コードを使用して信号時間のカウントダウンを表示します。" + +#: ../3.1.7_traffic_light.rst:441 +msgid "" +"In setup() function, start the timer. In loop() function, a ``while " +"True`` is used: call the relative functions of 4-Digit 7-Segment and LED " +"circularly." +msgstr "" +"setup()関数で、タイマーを開始する。loop()関数では、**while True** " +"が使用される:4-桁の7-セグメントとLEDの相対関数を循環的に呼び出す。" + +#: ../3.1.7_traffic_light.rst:446 +msgid "Phenomenon Picture" +msgstr "現象画像" + +#~ msgid "" +#~ "If it does not work after running," +#~ " please refer to :ref:`C code is " +#~ "not working?`." +#~ msgstr "" + diff --git a/docs/source/locale/ja/LC_MESSAGES/3.1.8_overheat_monitor.po b/docs/source/locale/ja/LC_MESSAGES/3.1.8_overheat_monitor.po new file mode 100644 index 0000000..a89ba60 --- /dev/null +++ b/docs/source/locale/ja/LC_MESSAGES/3.1.8_overheat_monitor.po @@ -0,0 +1,321 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, SunFounder +# This file is distributed under the same license as the SunFounder Davinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Davinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-19 18:22+0800\n" +"PO-Revision-Date: 2021-05-28 09:51+0800\n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../3.1.8_overheat_monitor.rst:2 +msgid "3.1.8 Overheat Monitor" +msgstr "3.1.8 過熱モニター" + +#: ../3.1.8_overheat_monitor.rst:5 +msgid "Introduction" +msgstr "前書き" + +#: ../3.1.8_overheat_monitor.rst:7 +msgid "" +"You may want to make an overheat monitoring device that applies to " +"various situations, ex., in the factory, if we want to have an alarm and " +"the timely automatic turning off of the machine when there is a circuit " +"overheating. In this lesson, we will use thermistor, joystick, buzzer, " +"LED and LCD to make an smart temperature monitoring device whose " +"threshold is adjustable." +msgstr "回路の過熱が発生したときに警報装置とタイムリーな自動電源切断を希望する場合は、工場などのさまざまな状況に適用される過熱監視装置を作成することができる。このレッスンでは、サーミスタ、ジョイスティック、ブザー、LED、とLCDを使用して、しきい値が調整可能なスマートな温度監視装置を作成する。" + +#: ../3.1.8_overheat_monitor.rst:15 +msgid "Components" +msgstr "部品" + +#: ../3.1.8_overheat_monitor.rst:24 +msgid "Schematic Diagram" +msgstr "回路図" + +#: ../3.1.8_overheat_monitor.rst:27 +msgid "T-Board Name" +msgstr "Tボード名" + +#: ../3.1.8_overheat_monitor.rst:27 +msgid "physical" +msgstr "physical" + +#: ../3.1.8_overheat_monitor.rst:27 +msgid "wiringPi" +msgstr "wiringPi" + +#: ../3.1.8_overheat_monitor.rst:27 +msgid "BCM" +msgstr "BCM" + +#: ../3.1.8_overheat_monitor.rst:28 +msgid "GPIO17" +msgstr "GPIO17" + +#: ../3.1.8_overheat_monitor.rst:28 +msgid "Pin 11" +msgstr "Pin 11" + +#: ../3.1.8_overheat_monitor.rst:28 +msgid "0" +msgstr "0" + +#: ../3.1.8_overheat_monitor.rst:28 +msgid "17" +msgstr "17" + +#: ../3.1.8_overheat_monitor.rst:29 +msgid "GPIO18" +msgstr "GPIO18" + +#: ../3.1.8_overheat_monitor.rst:29 +msgid "Pin 12" +msgstr "Pin 12" + +#: ../3.1.8_overheat_monitor.rst:29 +msgid "1" +msgstr "1" + +#: ../3.1.8_overheat_monitor.rst:29 +msgid "18" +msgstr "18" + +#: ../3.1.8_overheat_monitor.rst:30 +msgid "GPIO27" +msgstr "GPIO27" + +#: ../3.1.8_overheat_monitor.rst:30 +msgid "Pin 13" +msgstr "Pin 13" + +#: ../3.1.8_overheat_monitor.rst:30 +msgid "2" +msgstr "2" + +#: ../3.1.8_overheat_monitor.rst:30 +msgid "27" +msgstr "27" + +#: ../3.1.8_overheat_monitor.rst:31 +msgid "GPIO22" +msgstr "GPIO22" + +#: ../3.1.8_overheat_monitor.rst:31 +msgid "Pin15" +msgstr "Pin15" + +#: ../3.1.8_overheat_monitor.rst:31 +msgid "3" +msgstr "3" + +#: ../3.1.8_overheat_monitor.rst:31 +msgid "22" +msgstr "22" + +#: ../3.1.8_overheat_monitor.rst:32 +msgid "GPIO23" +msgstr "GPIO23" + +#: ../3.1.8_overheat_monitor.rst:32 +msgid "Pin16" +msgstr "Pin16" + +#: ../3.1.8_overheat_monitor.rst:32 +msgid "4" +msgstr "4" + +#: ../3.1.8_overheat_monitor.rst:32 +msgid "23" +msgstr "23" + +#: ../3.1.8_overheat_monitor.rst:33 +msgid "GPIO24" +msgstr "GPIO24" + +#: ../3.1.8_overheat_monitor.rst:33 +msgid "Pin18" +msgstr "Pin18" + +#: ../3.1.8_overheat_monitor.rst:33 +msgid "5" +msgstr "5" + +#: ../3.1.8_overheat_monitor.rst:33 +msgid "24" +msgstr "24" + +#: ../3.1.8_overheat_monitor.rst:34 +msgid "SDA1" +msgstr "SDA1" + +#: ../3.1.8_overheat_monitor.rst:34 +msgid "Pin 3" +msgstr "Pin 3" + +#: ../3.1.8_overheat_monitor.rst:35 +msgid "SCL1" +msgstr "SCL1" + +#: ../3.1.8_overheat_monitor.rst:35 +msgid "Pin 5" +msgstr "Pin 5" + +#: ../3.1.8_overheat_monitor.rst:43 +msgid "Experimental Procedures" +msgstr "実験手順" + +#: ../3.1.8_overheat_monitor.rst:45 +msgid "**Step 1:** Build the circuit." +msgstr "**ステップ1:** 回路を作る。" + +msgid "Overheat Monitor_bb" +msgstr "Overheat Monitor_bb" + +#: ../3.1.8_overheat_monitor.rst:52 +msgid "**For C Language Users**" +msgstr "**C言語ユーザー向け**" + +#: ../3.1.8_overheat_monitor.rst:54 ../3.1.8_overheat_monitor.rst:234 +msgid "**Step 2**: Go to the folder of the code." +msgstr "**ステップ2:** コードのフォルダーに入る。" + +#: ../3.1.8_overheat_monitor.rst:64 +msgid "**Step 3**: Compile the code." +msgstr "**ステップ3:** コードをコンパイルする。" + +#: ../3.1.8_overheat_monitor.rst:74 +msgid "**Step 4**: Run the executable file." +msgstr "**ステップ4:** EXEファイルを実行する。" + +#: ../3.1.8_overheat_monitor.rst:84 ../3.1.8_overheat_monitor.rst:187 +#: ../3.1.8_overheat_monitor.rst:254 ../3.1.8_overheat_monitor.rst:441 +msgid "" +"As the code runs, the current temperature and the high-temperature " +"threshold **40** are displayed on **I2C LCD1602**. If the current " +"temperature is larger than the threshold, the buzzer and LED are started " +"to alarm you." +msgstr "" +"コードが実行されると、現在の温度と高温のしきい値 **40** が **I2C LCD1602** " +"に表示される。現在の温度がしきい値よりも大きい場合、ブザーとLEDが起動して警告を発する。" + +#: ../3.1.8_overheat_monitor.rst:91 +msgid "" +"If it does not work after running, please refer to :ref:`C code is not " +"working?`" +msgstr "実行後に機能しない場合は、:ref:`C code is not working?` を参照してください。" + +#: ../3.1.8_overheat_monitor.rst:94 ../3.1.8_overheat_monitor.rst:259 +msgid "" +"**Joystick** here is for your pressing to adjust the high-temperature " +"threshold. Toggling the **Joystick** in the direction of X-axis and " +"Y-axis can adjust (turn up or down) the current high-temperature " +"threshold. Press the **Joystick** once again to reset the threshold to " +"initial value." +msgstr "" +"ここの **ジョイスティック** は高温のしきい値を調整するために使用される。 **ジョイスティック** " +"をX軸とY軸の方向に切り替えると、現在の高温しきい値を調整できる(上/下)。 **ジョイスティック** " +"をもう一度押して、しきい値を初期値にリセットする。" + +#: ../3.1.8_overheat_monitor.rst:100 ../3.1.8_overheat_monitor.rst:374 +msgid "**Code Explanation**" +msgstr "**コードの説明**" + +#: ../3.1.8_overheat_monitor.rst:126 ../3.1.8_overheat_monitor.rst:392 + +msgid "" +"This function reads values of X and Y. If **X>200**, there will return " +"\\\"**1**\\\"; **X<50**, return \\\"**-1**\\\"; **y>200**, return " +"\\\"**-10**\\\", and **y<50**, return \\\"**10**\\\"." +msgstr "" +"この関数は、XとYの値を読み取る。**X>200** の場合、「**1**」が返される。 **X<50** の場合、「**-1**" +"」が返される。 **y>200** の場合、「**-10**」を返し、 **y<50** の場合、「**10**」を返す。" + +#: ../3.1.8_overheat_monitor.rst:145 ../3.1.8_overheat_monitor.rst:407 +msgid "" +"This function is for adjusting the threshold and displaying it on the I2C" +" LCD1602." +msgstr "この機能は、しきい値を調整し、I2C LCD1602に表示するために使用される。" + +#: ../3.1.8_overheat_monitor.rst:162 ../3.1.8_overheat_monitor.rst:421 +msgid "" +"Read the analog value of the **CH0** (thermistor) of **ADC0834** and then" +" convert it to temperature value." +msgstr "**ADC0834** の **CH0** (サーミスタ)のアナログ値を読み取り、温度値に変換する。" + +#: ../3.1.8_overheat_monitor.rst:218 ../3.1.8_overheat_monitor.rst:463 +msgid "The function main() contains the whole program process as shown:" +msgstr "関数main()には、次のようにプログラムプロセス全体が含まれる:" + +#: ../3.1.8_overheat_monitor.rst:220 ../3.1.8_overheat_monitor.rst:465 +msgid "" +"When the program starts, the initial value of **stage** is **0**, and the" +" current temperature and the high-temperature threshold **40** are " +"displayed on **I2C LCD1602**. If the current temperature is larger than " +"the threshold, the buzzer and the LED are started to alarm you." +msgstr "" +"プログラムが開始すると、 **ステージ** の初期値は **0** になり、現在の温度と高温しきい値 **40** が **I2C " +"LCD1602** に表示される。現在の温度がしきい値よりも大きい場合、ブザーとLEDが起動して警告を出す。" + +#: ../3.1.8_overheat_monitor.rst:225 +msgid "" +"Press the Joystick, and **stage** will be **1** and you can adjust the " +"high-temperature threshold. Toggling the Joystick in the direction of " +"X-axis and Y-axis can adjust (turn up or down) the current threshold. " +"Press the Joystick once again to reset the threshold to initial value." +msgstr "" +"ジョイスティックを押すと、 **ステージ** が **1** " +"になり、高温しきい値を調整できる。ジョイスティックをX軸とY軸の方向に切り替えると、現在のしきい値を調整(上下)できる。ジョイスティックをもう一度押して、しきい値を初期値にリセットする。" + +#: ../3.1.8_overheat_monitor.rst:232 +msgid "**For Python Language Users**" +msgstr "**Python言語ユーザー向け**" + +#: ../3.1.8_overheat_monitor.rst:244 +msgid "**Step 3**: Run the executable file." +msgstr "**ステップ3:** EXEファイルを実行する。" + +#: ../3.1.8_overheat_monitor.rst:265 +msgid "**Code**" +msgstr "**コード**" + +#: ../3.1.8_overheat_monitor.rst:269 + +msgid "" +"You can **Modify/Reset/Copy/Run/Stop** the code below. But before that, " +"you need to go to source code path like ``davinci-kit-for-raspberry-" +"pi/python``." +msgstr "" +"以下のコードを **変更/リセット/コピー/実行/停止** できます。 ただし、その前に、 ``davinci-kit-for-raspberry-pi/python`` のようなソースコードパスに移動する必要があります。" + +#: ../3.1.8_overheat_monitor.rst:470 +msgid "" +"Press the Joystick, and **stage** will be **1** and you can adjust the " +"high-temperature threshold. Toggling the Joystick in the direction of " +"X-axis and Y-axis can adjust (turn up or down) the current high-" +"temperature threshold. Press the Joystick once again to reset the " +"threshold to initial value." +msgstr "" +"ジョイスティックを押すと、**ステージ** が **1** " +"になり、高温しきい値を調整できる。ジョイスティックをX軸とY軸の方向に切り替えると、現在の高温しきい値を調整(上下)できる。ジョイスティックをもう一度押して、しきい値を初期値にリセットする。" + +#: ../3.1.8_overheat_monitor.rst:477 +msgid "Phenomenon Picture" +msgstr "現象画像" + +#~ msgid "" +#~ "If it does not work after running," +#~ " please refer to :ref:`C code is " +#~ "not working?`." +#~ msgstr "" + diff --git a/docs/source/locale/ja/LC_MESSAGES/3.1.9_password_lock.po b/docs/source/locale/ja/LC_MESSAGES/3.1.9_password_lock.po new file mode 100644 index 0000000..79f7d32 --- /dev/null +++ b/docs/source/locale/ja/LC_MESSAGES/3.1.9_password_lock.po @@ -0,0 +1,355 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, SunFounder +# This file is distributed under the same license as the SunFounder Davinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Davinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-19 18:22+0800\n" +"PO-Revision-Date: 2021-05-28 09:58+0800\n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../3.1.9_password_lock.rst:2 +msgid "3.1.9 Password Lock" +msgstr "3.1.9 パスワードロック" + +#: ../3.1.9_password_lock.rst:5 +msgid "Introduction" +msgstr "前書き" + +#: ../3.1.9_password_lock.rst:7 + +msgid "" +"In this project, we will use a keypad and a LCD to make a combination " +"lock. The LCD will display a corresponding prompt for you to type your " +"password on the Keypad. If the password is input correctly, " +"\\\"Correct\\\" will be displayed." +msgstr "このプロジェクトでは、キーパッドとLCDを使用してコンビネーションロックを作成する。LCDはキーパッドでパスワードを入力するための対応するプロンプトを表示する。パスワードが正しく入力されると、「Correct」と表示される。" + +#: ../3.1.9_password_lock.rst:12 +msgid "" +"On the basis of this project, we can add additional electronic " +"components, such as buzzer, LED and so on, to add different experimental " +"phenomena for password input." +msgstr "このプロジェクトに基づいて、ブザー、LEDなどの電子部品を追加して、パスワード入力にさまざまな実験現象を追加できる。" + +#: ../3.1.9_password_lock.rst:17 +msgid "Components" +msgstr "部品" + +#: ../3.1.9_password_lock.rst:23 +msgid "Schematic Diagram" +msgstr "回路図" + +#: ../3.1.9_password_lock.rst:26 +msgid "T-Board Name" +msgstr "Tボード名" + +#: ../3.1.9_password_lock.rst:26 +msgid "physical" +msgstr "physical" + +#: ../3.1.9_password_lock.rst:26 +msgid "wiringPi" +msgstr "wiringPi" + +#: ../3.1.9_password_lock.rst:26 +msgid "BCM" +msgstr "BCM" + +#: ../3.1.9_password_lock.rst:27 +msgid "GPIO18" +msgstr "GPIO18" + +#: ../3.1.9_password_lock.rst:27 +msgid "Pin 12" +msgstr "Pin 12" + +#: ../3.1.9_password_lock.rst:27 +msgid "1" +msgstr "1" + +#: ../3.1.9_password_lock.rst:27 +msgid "18" +msgstr "18" + +#: ../3.1.9_password_lock.rst:28 +msgid "GPIO23" +msgstr "GPIO23" + +#: ../3.1.9_password_lock.rst:28 +msgid "Pin 16" +msgstr "Pin 16" + +#: ../3.1.9_password_lock.rst:28 +msgid "4" +msgstr "4" + +#: ../3.1.9_password_lock.rst:28 +msgid "23" +msgstr "23" + +#: ../3.1.9_password_lock.rst:29 +msgid "GPIO24" +msgstr "GPIO24" + +#: ../3.1.9_password_lock.rst:29 +msgid "Pin 18" +msgstr "Pin 18" + +#: ../3.1.9_password_lock.rst:29 +msgid "5" +msgstr "5" + +#: ../3.1.9_password_lock.rst:29 +msgid "24" +msgstr "24" + +#: ../3.1.9_password_lock.rst:30 +msgid "GPIO25" +msgstr "GPIO25" + +#: ../3.1.9_password_lock.rst:30 +msgid "Pin 22" +msgstr "Pin 22" + +#: ../3.1.9_password_lock.rst:30 +msgid "6" +msgstr "6" + +#: ../3.1.9_password_lock.rst:30 +msgid "25" +msgstr "25" + +#: ../3.1.9_password_lock.rst:31 +msgid "GPIO17" +msgstr "GPIO17" + +#: ../3.1.9_password_lock.rst:31 +msgid "Pin 11" +msgstr "Pin 11" + +#: ../3.1.9_password_lock.rst:31 +msgid "0" +msgstr "0" + +#: ../3.1.9_password_lock.rst:31 +msgid "17" +msgstr "17" + +#: ../3.1.9_password_lock.rst:32 +msgid "GPIO27" +msgstr "GPIO27" + +#: ../3.1.9_password_lock.rst:32 +msgid "Pin 13" +msgstr "Pin 13" + +#: ../3.1.9_password_lock.rst:32 +msgid "2" +msgstr "2" + +#: ../3.1.9_password_lock.rst:32 +msgid "27" +msgstr "27" + +#: ../3.1.9_password_lock.rst:33 +msgid "GPIO22" +msgstr "GPIO22" + +#: ../3.1.9_password_lock.rst:33 +msgid "Pin 15" +msgstr "Pin 15" + +#: ../3.1.9_password_lock.rst:33 +msgid "3" +msgstr "3" + +#: ../3.1.9_password_lock.rst:33 +msgid "22" +msgstr "22" + +#: ../3.1.9_password_lock.rst:34 +msgid "SPIMOSI" +msgstr "SPIMOSI" + +#: ../3.1.9_password_lock.rst:34 +msgid "Pin 19" +msgstr "Pin 19" + +#: ../3.1.9_password_lock.rst:34 +msgid "12" +msgstr "12" + +#: ../3.1.9_password_lock.rst:34 +msgid "10" +msgstr "10" + +#: ../3.1.9_password_lock.rst:35 +msgid "SDA1" +msgstr "SDA1" + +#: ../3.1.9_password_lock.rst:35 +msgid "Pin 3" +msgstr "Pin 3" + +#: ../3.1.9_password_lock.rst:36 +msgid "SCL1" +msgstr "SCL1" + +#: ../3.1.9_password_lock.rst:36 +msgid "Pin 5" +msgstr "Pin 5" + +#: ../3.1.9_password_lock.rst:43 +msgid "Experimental Procedures" +msgstr "実験手順" + +#: ../3.1.9_password_lock.rst:45 +msgid "**Step 1:** Build the circuit." +msgstr "**ステップ1:** 回路を作る。" + +msgid "3.1.3_PasswordLock_bb_看图王" +msgstr "3.1.3_PasswordLock_bb_看图王" + +#: ../3.1.9_password_lock.rst:52 +msgid "**For C Language Users**" +msgstr "**C言語ユーザー向け**" + +#: ../3.1.9_password_lock.rst:54 +msgid "**Step 2**: Change directory." +msgstr "**ステップ2:** ディレクトリを変更する。" + +#: ../3.1.9_password_lock.rst:64 +msgid "**Step 3**: Compile." +msgstr "**ステップ3:** コンパイルする。" + +#: ../3.1.9_password_lock.rst:74 +msgid "**Step 4:** Run." +msgstr "**ステップ4:** 実行する。" + +#: ../3.1.9_password_lock.rst:84 + +msgid "" +"After the code runs, keypad is used to input password. If the " +"\\\"CORRECT\\\" appears on LCD1602, there is no wrong with the password; " +"otherwise, \\\"WRONG KEY\\\" will appear." +msgstr "" +"コードの実行後、キーパッドを使用してパスワードを入力する。LCD1602に「CORRECT」と表示されている場合、パスワードに問題はない。そうでない場合、「WRONG" +" KEY」が表示される。" + +#: ../3.1.9_password_lock.rst:90 +msgid "" +"If it does not work after running, please refer to :ref:`C code is not " +"working?`" +msgstr "実行後に機能しない場合は、:ref:`C code is not working?` を参照してください。" + +#: ../3.1.9_password_lock.rst:93 ../3.1.9_password_lock.rst:307 +msgid "**Code Explanation**" +msgstr "**コードの説明**" + +#: ../3.1.9_password_lock.rst:110 +msgid "" +"Here, we define the length of the password LENS, storage matrix keyboard " +"key value array KEYS and the array that stores the correct password." +msgstr "ここでは、パスワードLENS、ストレージマトリックスキーボードキー値配列KEYSと正しいパスワードを保存する配列の長さを定義する。" + +#: ../3.1.9_password_lock.rst:122 +msgid "" +"There is a declaration of the subfunctions of the matrix keyboard code, " +"refer to :ref:`2.1.5 Keypad` of this document for more details." +msgstr "" +"マトリックスキーボードコードのサブ機能の宣言があります。詳細については、このドキュメントの :ref:`2.1.5 Keypad` " +"を参照してください。" + +#: ../3.1.9_password_lock.rst:135 +msgid "There is a declaration of the subfunctions of LCD1062 code, refer to" +msgstr "LCD1062コードのサブ機能の宣言があります。参照してください。" + +#: ../3.1.9_password_lock.rst:135 +msgid ":ref:`1.1.7 I2C LCD1602` of this document for more details." +msgstr "詳細については、このドキュメントの :ref:`1.1.7 I2C LCD1602` を参照してください。" + +#: ../3.1.9_password_lock.rst:153 ../3.1.9_password_lock.rst:357 +msgid "" +"Read the key value and store it in the test array testword. If the number" +" of stored key values is more than 4, the correctness of the password is " +"automatically verified, and the verification results are displayed on the" +" LCD interface." +msgstr "キー値を読み取り、テスト配列テストワードに保存する。保存されているキー値の数が4を超える場合、パスワードの正確さが自動的に検証され、検証結果がLCDインターフェイスに表示される。" + +#: ../3.1.9_password_lock.rst:169 ../3.1.9_password_lock.rst:370 +msgid "" +"Verify the correctness of the password. Return 1 if the password is " +"entered correctly, and 0 if not." +msgstr "パスワードの正確さを確認してください。パスワードが正しく入力された場合は1を返し、そうでない場合は0を返す。" + +#: ../3.1.9_password_lock.rst:173 +msgid "**For Python Language Users**" +msgstr "**Python言語ユーザー向け**" + +#: ../3.1.9_password_lock.rst:175 +msgid "**Step 2:** Change directory." +msgstr "**ステップ2:** ディレクトリを変更する。" + +#: ../3.1.9_password_lock.rst:185 +msgid "**Step 3:** Run." +msgstr "**ステップ3:** 実行する。" + +#: ../3.1.9_password_lock.rst:195 + +msgid "" +"After the code runs, keypad is used to input password:1984. If the " +"\\\"CORRECT\\\" appears on LCD1602, there is no wrong with the password; " +"otherwise, \\\"WRONG KEY\\\" will appear." +msgstr "" +"コードの実行後、キーパッドを使用してパスワードを入力する:1984。LCD1602に「CORRECT」と表示されている場合、パスワードに問題はない。そうでない場合、「WRONG" +" KEY」が表示される。" + +#: ../3.1.9_password_lock.rst:199 +msgid "**Code**" +msgstr "**コード**" + +#: ../3.1.9_password_lock.rst:203 + +msgid "" +"You can **Modify/Reset/Copy/Run/Stop** the code below. But before that, " +"you need to go to source code path like ``davinci-kit-for-raspberry-" +"pi/python``." +msgstr "" +"以下のコードを **変更/リセット/コピー/実行/停止** できます。 ただし、その前に、 ``davinci-kit-for-raspberry-pi/python`` のようなソースコードパスに移動する必要があります。" + +#: ../3.1.9_password_lock.rst:323 +msgid "" +"Here, we define the length of the password LENS, the array keys that " +"store the matrix keyboard keys, and the array password that stores the " +"correct password." +msgstr "ここでは、パスワードLENSの長さ、マトリックスキーボードキーを保存する配列キーと正しいパスワードを保存する配列パスワードを定義する。" + +#: ../3.1.9_password_lock.rst:340 + +msgid "" +"This class is the code that reads the values of the pressed keys. Refer " +"to :ref:`2.1.5 Keypad` of this document for more details." +msgstr "" +"このクラスは、押されたキーの値を読み取るコードです。 詳細については、このドキュメントの :ref:`2.1.5 Keypad` " +"を参照してください。" + +#: ../3.1.9_password_lock.rst:374 +msgid "Phenomenon Picture" +msgstr "現象画像" + +#~ msgid "" +#~ "If it does not work after running," +#~ " please refer to :ref:`C code is " +#~ "not working?`." +#~ msgstr "" + diff --git a/docs/source/locale/ja/LC_MESSAGES/3_extension.po b/docs/source/locale/ja/LC_MESSAGES/3_extension.po new file mode 100644 index 0000000..19edd22 --- /dev/null +++ b/docs/source/locale/ja/LC_MESSAGES/3_extension.po @@ -0,0 +1,23 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, SunFounder +# This file is distributed under the same license as the SunFounder Davinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Davinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-05-20 18:20+0800\n" +"PO-Revision-Date: 2021-05-28 11:19+0800\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" +"Last-Translator: \n" +"Language-Team: \n" +"X-Generator: Poedit 2.4.3\n" + +#: ../3_extension.rst:2 +msgid "3 Extension" +msgstr "3 拡張" diff --git a/docs/source/locale/ja/LC_MESSAGES/appendix.po b/docs/source/locale/ja/LC_MESSAGES/appendix.po new file mode 100644 index 0000000..3c12a66 --- /dev/null +++ b/docs/source/locale/ja/LC_MESSAGES/appendix.po @@ -0,0 +1,23 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, SunFounder +# This file is distributed under the same license as the SunFounder Davinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Davinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-05-20 18:20+0800\n" +"PO-Revision-Date: 2021-05-28 11:20+0800\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" +"Last-Translator: \n" +"Language-Team: \n" +"X-Generator: Poedit 2.4.3\n" + +#: ../appendix.rst:2 +msgid "Appendix" +msgstr "付録" diff --git a/docs/source/locale/ja/LC_MESSAGES/appendix/appendix.po b/docs/source/locale/ja/LC_MESSAGES/appendix/appendix.po new file mode 100644 index 0000000..196d428 --- /dev/null +++ b/docs/source/locale/ja/LC_MESSAGES/appendix/appendix.po @@ -0,0 +1,24 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, sunfounder +# This file is distributed under the same license as the SunFounder Da Vinci +# Kit package. +# FIRST AUTHOR , 2021. +# + +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Da Vinci Kit \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-05 15:52+0800\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../appendix/appendix.rst:2 +msgid "Appendix" +msgstr "付録" + diff --git a/docs/source/locale/ja/LC_MESSAGES/appendix/i2c_configuration.po b/docs/source/locale/ja/LC_MESSAGES/appendix/i2c_configuration.po new file mode 100644 index 0000000..9c9b975 --- /dev/null +++ b/docs/source/locale/ja/LC_MESSAGES/appendix/i2c_configuration.po @@ -0,0 +1,84 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, sunfounder +# This file is distributed under the same license as the SunFounder Da Vinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Da Vinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-05 15:52+0800\n" +"PO-Revision-Date: 2021-08-06 14:20+0800\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"Last-Translator: \n" +"Language-Team: \n" +"Language: ja_JP\n" +"X-Generator: Poedit 3.0\n" + +#: ../appendix/i2c_configuration.rst:2 +msgid "I2C Configuration" +msgstr "I2Cコンフィギュレーション" + +#: ../appendix/i2c_configuration.rst:4 +msgid "" +"**Step 1**: Enable the I2C port of your Raspberry Pi (If you have " +"enabled it, skip this; if you do not know whether you have done that or " +"not, please continue)." +msgstr "" +"**ステップ1** : Raspberry PiのI2Cポートを有効にしてください(有効にしてい" +"る場合はスキップしてください。" + +#: ../appendix/i2c_configuration.rst:13 +msgid "**3 Interfacing options**" +msgstr "**3つのインターフェーシング・オプション**" + +#: ../appendix/i2c_configuration.rst:18 +msgid "**P5 I2C**" +msgstr "**P5 I2C**" + +#: ../appendix/i2c_configuration.rst:23 +msgid "**, then -> **" +msgstr "**, then -> **" + +#: ../appendix/i2c_configuration.rst:28 +msgid "**Step 2:** Check whether the i2c modules are loaded and active." +msgstr "" +"**Step 2:** i2cモジュールがロードされ、アクティブになっているかどうかを確" +"認します。" + +#: ../appendix/i2c_configuration.rst:35 +msgid "Then the following codes will appear (the number may be different)." +msgstr "" +"すると、次のようなコードが表示されます(番号は異なる場合があります)。" + +#: ../appendix/i2c_configuration.rst:42 +msgid "**Step 3:** Install i2c-tools." +msgstr "**ステップ3:** i2c-toolsをインストールします。" + +#: ../appendix/i2c_configuration.rst:49 +msgid "**Step 4:** Check the address of the I2C device." +msgstr "**ステップ4:** I2Cデバイスのアドレスを確認します。 " + +#: ../appendix/i2c_configuration.rst:76 +msgid "" +"If there is an I2C device connected, the address of the device will be " +"displayed." +msgstr "" +"I2Cデバイスが接続されている場合は、デバイスのアドレスが表示されます。" + +#: ../appendix/i2c_configuration.rst:78 +msgid "**Step 5:**" +msgstr "**ステップ5:**" + +#: ../appendix/i2c_configuration.rst:80 +msgid "**For C language users:** Install libi2c-dev." +msgstr "**C言語をお使いの方へ:** libi2c-devをインストールしてください。" + +#: ../appendix/i2c_configuration.rst:87 +msgid "**For Python users:** Install smbus for I2C." +msgstr "**Pythonユーザーの場合:** I2C用のsmbusをインストールします。" diff --git a/docs/source/locale/ja/LC_MESSAGES/appendix/remote_desktop.po b/docs/source/locale/ja/LC_MESSAGES/appendix/remote_desktop.po new file mode 100644 index 0000000..c384389 --- /dev/null +++ b/docs/source/locale/ja/LC_MESSAGES/appendix/remote_desktop.po @@ -0,0 +1,241 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, sunfounder +# This file is distributed under the same license as the SunFounder Da Vinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Da Vinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-05 15:52+0800\n" +"PO-Revision-Date: 2021-08-06 14:39+0800\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"Last-Translator: \n" +"Language-Team: \n" +"Language: ja_JP\n" +"X-Generator: Poedit 3.0\n" + +#: ../appendix/remote_desktop.rst:2 +msgid "Remote Desktop" +msgstr "リモートデスクトップ" + +#: ../appendix/remote_desktop.rst:4 +msgid "There are two ways to control the desktop of the Raspberry Pi remotely:" +msgstr "RaspberryPiのデスクトップをリモートで制御する方法は2つあります。" + +#: ../appendix/remote_desktop.rst:6 +msgid "**VNC** and **XRDP**, you can use any of them." +msgstr "**VNC** および **XRDP** 、これらのいずれかを使用できます。" + +#: ../appendix/remote_desktop.rst:9 +msgid "VNC" +msgstr "VNC" + +#: ../appendix/remote_desktop.rst:11 +msgid "You can use the function of remote desktop through VNC." +msgstr "VNCを介してリモートデスクトップの機能を利用できます。" + +#: ../appendix/remote_desktop.rst:13 +msgid "**Enable VNC service**" +msgstr "**VNCサービスを有効にする**" + +#: ../appendix/remote_desktop.rst:15 +msgid "" +"The VNC service has been installed in the system. By default, VNC is " +"disabled. You need to enable it in config." +msgstr "" +"VNCサービスがシステムにインストールされています。 デフォルトでは、VNCは無効に" +"なっています。 設定で有効にする必要があります。" + +#: ../appendix/remote_desktop.rst:18 ../appendix/remote_desktop.rst:54 +#: ../appendix/remote_desktop.rst:104 ../appendix/remote_desktop.rst:134 +msgid "**Step 1**" +msgstr "**ステップ1**" + +#: ../appendix/remote_desktop.rst:20 +msgid "Input the following command:" +msgstr "次のコマンドを入力します。" + +#: ../appendix/remote_desktop.rst:30 ../appendix/remote_desktop.rst:58 +#: ../appendix/remote_desktop.rst:108 ../appendix/remote_desktop.rst:141 +msgid "**Step 2**" +msgstr "**ステップ2**" + +#: ../appendix/remote_desktop.rst:32 +msgid "" +"Choose **3** **Interfacing Options** by press the down arrow key on your " +"keyboard, then press the **Enter** key." +msgstr "" +"キーボードの下矢印キーを押して **3** **Interfacing Options** を選択し、次に " +"**Enter** キーを押します。" + +#: ../appendix/remote_desktop.rst:38 ../appendix/remote_desktop.rst:65 +#: ../appendix/remote_desktop.rst:118 ../appendix/remote_desktop.rst:150 +msgid "**Step 3**" +msgstr "**ステップ3**" + +#: ../appendix/remote_desktop.rst:40 +msgid "**P3 VNC**" +msgstr "**P3 VNC**" + +#: ../appendix/remote_desktop.rst:45 ../appendix/remote_desktop.rst:72 +#: ../appendix/remote_desktop.rst:127 ../appendix/remote_desktop.rst:159 +msgid "**Step 4**" +msgstr "**ステップ4**" + +#: ../appendix/remote_desktop.rst:47 +msgid "Select **Yes -> OK -> Finish** to exit the configuration." +msgstr "**Yes -> OK -> Finish** を選択して構成を終了します。" + +#: ../appendix/remote_desktop.rst:52 +msgid "**Login to VNC**" +msgstr "**VNCにログイン**" + +#: ../appendix/remote_desktop.rst:56 +msgid "" +"You need to download and install the `VNC Viewer `_ on personal computer. After the installation is " +"done, open it." +msgstr "" +"`VNC Viewer ` _をダウン" +"ロードしてパソコンにインストールする必要があります。 インストールが完了した" +"ら、それを開きます。" + +#: ../appendix/remote_desktop.rst:60 +msgid "Then select \\\"**New connection**\\\"." +msgstr "次に、\\\" **新しい接続**\\\" を選択します。" + +#: ../appendix/remote_desktop.rst:67 +msgid "Input IP address of Raspberry Pi and any **Name**." +msgstr "RaspberryPiのIPアドレスと任意の **名前** を入力します。" + +#: ../appendix/remote_desktop.rst:74 +msgid "Double click the **connection** just created:" +msgstr "作成された **接続** をダブルクリックします:" + +#: ../appendix/remote_desktop.rst:79 +msgid "**Step 5**" +msgstr "**ステップ5**" + +#: ../appendix/remote_desktop.rst:81 +msgid "Enter Username (**pi**) and Password (**raspberry** by default)." +msgstr "" +"ユーザー名(**pi**)とパスワード(デフォルトでは **raspberry** )を入力します。" + +#: ../appendix/remote_desktop.rst:86 +msgid "**Step 6**" +msgstr "**ステップ6**" + +#: ../appendix/remote_desktop.rst:88 +msgid "Now you can see the desktop of the Raspberry Pi:" +msgstr "これで、Raspberry Piのデスクトップが見えてきました:" + +#: ../appendix/remote_desktop.rst:93 +msgid "That's the end of the VNC part." +msgstr "以上でVNC部分の説明は終わりです。" + +#: ../appendix/remote_desktop.rst:97 +msgid "XRDP" +msgstr "XRDP" + +#: ../appendix/remote_desktop.rst:99 +msgid "" +"Another method of remote desktop is XRDP, it provides a graphical login to " +"remote machines using RDP (Microsoft Remote Desktop Protocol)." +msgstr "" +"リモートデスクトップのもう一つの方法はXRDPで、RDP(Microsoft Remote Desktop " +"Protocol)を使用してリモートマシンへのグラフィカルなログインを提供します。" + +#: ../appendix/remote_desktop.rst:102 +msgid "**Install XRDP**" +msgstr "**XRDPをインストールしてください**" + +#: ../appendix/remote_desktop.rst:106 +msgid "Login to Raspberry Pi by using SSH." +msgstr "Raspberry PiにSSHでログインします。" + +#: ../appendix/remote_desktop.rst:110 +msgid "Input the following instructions to install XRDP." +msgstr "以下の手順を入力して、XRDPをインストールします。" + +#: ../appendix/remote_desktop.rst:120 +msgid "Later, the installation starts." +msgstr "その後、インストールが始まります。" + +#: ../appendix/remote_desktop.rst:122 +msgid "Enter \\\"Y\\\", press key \\\"Enter\\\" to confirm." +msgstr "\\\"Y\\\" と入力し、\\\"Enter\\\" キーを押して確認します。" + +#: ../appendix/remote_desktop.rst:129 +msgid "" +"Finished the installation, you should login to your Raspberry Pi by using " +"Windows remote desktop applications." +msgstr "" +"インストールが完了したら、Windowsのリモートデスクトップアプリケーションを使っ" +"て、Raspberry Piにログインしてください。" + +#: ../appendix/remote_desktop.rst:132 +msgid "**Login to XRDP**" +msgstr "**XRDPへのログイン**" + +#: ../appendix/remote_desktop.rst:136 +msgid "" +"If you are a Windows user, you can use the Remote Desktop feature that comes " +"with Windows. If you are a Mac user, you can download and use Microsoft " +"Remote Desktop from the APP Store, and there is not much difference between " +"the two. The next example is Windows remote desktop." +msgstr "" +"Windowsユーザーであれば、Windowsに搭載されているリモートデスクトップ機能を利" +"用できます。Macユーザーであれば、APP StoreからMicrosoft Remote Desktopをダウ" +"ンロードして使用することができ、両者に大きな違いはありません。次の例は、" +"Windowsのリモートデスクトップです。" + +#: ../appendix/remote_desktop.rst:143 +msgid "" +"Type in \\\"**mstsc**\\\" in Run (WIN+R) to open the Remote Desktop " +"Connection, and input the IP address of Raspberry Pi, then click on \\" +"\"Connect\\\"." +msgstr "" +"Run(WIN+R)で \\\"**mstsc**\\\" と入力してRemote Desktop Connectionを開き、" +"Raspberry PiのIPアドレスを入力して、\\\"Connect\\\" をクリックします。" + +#: ../appendix/remote_desktop.rst:152 +msgid "" +"Then the xrdp login page pops out. Please type in your username and " +"password. After that, please click \\\"OK\\\". At the first time you log in, " +"your username is \\\"pi\\\" and the password is \\\"raspberry\\\"." +msgstr "" +"次に、xrdpログインページが表示されます。 ユーザー名とパスワードを入力してくだ" +"さい。 その後、 \\\"OK\\\" をクリックしてください。 初めてログインするときの" +"ユーザー名は \\\"pi\\\" 、パスワードは「raspberry」です。" + +#: ../appendix/remote_desktop.rst:161 +msgid "Here, you successfully login to RPi by using the remote desktop." +msgstr "ここでは、リモートデスクトップを使用してRPiに正常にログインできます。" + +#: ../appendix/remote_desktop.rst:166 +msgid "**Copyright Notice**" +msgstr "**著作権表示**" + +#: ../appendix/remote_desktop.rst:168 +msgid "" +"All contents including but not limited to texts, images, and code in this " +"manual are owned by the SunFounder Company. You should only use it for " +"personal study, investigation, enjoyment, or other non-commercial or " +"nonprofit purposes, under the related regulations and copyrights laws, " +"without infringing the legal rights of the author and relevant right " +"holders. For any individual or organization that uses these for commercial " +"profit without permission, the Company reserves the right to take legal " +"action." +msgstr "" +"このマニュアルのテキスト、画像、コードを含むがこれらに限定されないすべてのコ" +"ンテンツは、SunFounderCompany が所有しています。 著者および関連する権利所有者" +"の法的権利を侵害することなく、関連する規制および著作権法に基づいて、個人的な" +"調査、調査、楽しみ、またはその他の非営利または非営利目的でのみ使用する必要が" +"あります。 これらを許可なく営利目的で使用する個人または組織については、当社は" +"法的措置を取る権利を留保します。" diff --git a/docs/source/locale/ja/LC_MESSAGES/appendix/spi_configuration.po b/docs/source/locale/ja/LC_MESSAGES/appendix/spi_configuration.po new file mode 100644 index 0000000..e643a04 --- /dev/null +++ b/docs/source/locale/ja/LC_MESSAGES/appendix/spi_configuration.po @@ -0,0 +1,70 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, sunfounder +# This file is distributed under the same license as the SunFounder Da Vinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Da Vinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-06 10:37+0800\n" +"PO-Revision-Date: 2021-08-06 14:40+0800\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"Last-Translator: \n" +"Language-Team: \n" +"Language: ja\n" +"X-Generator: Poedit 3.0\n" + +#: ../appendix/spi_configuration.rst:2 +msgid "SPI Configuration" +msgstr "SPI構成" + +#: ../appendix/spi_configuration.rst:5 +msgid "" +"**Step 1**: Enable the SPI port of your Raspberry Pi (If you have " +"enabled it, skip this; if you do not know whether you have done that or " +"not, please continue)." +msgstr "" +"**ステップ1**:Raspberry PiのSPIポートを有効にします(有効にしている場合" +"はスキップします。有効にしたかどうかわからない場合は続行してください)。" + +#: ../appendix/spi_configuration.rst:14 +msgid "**3 Interfacing options**" +msgstr "**3インターフェースオプション**" + +#: ../appendix/spi_configuration.rst:19 +msgid "**P4 SPI**" +msgstr "**P4 SPI**" + +#: ../appendix/spi_configuration.rst:24 +msgid "" +"****, then click **** and ****. Now you can use the " +"``sudo reboot`` command to reboot the Raspberry Pi." +msgstr "" +"**** をクリックし、**** と **** をクリックします。 こ" +"れで、「sudoreboot」コマンドを使用してRaspberryPiを再起動できます。" + +#: ../appendix/spi_configuration.rst:30 +msgid "**Step 2:** Check that the spi modules are loaded and active." +msgstr "" +"**ステップ2:** spiモジュールがロードされてアクティブになっていることを確" +"認します。" + +#: ../appendix/spi_configuration.rst:37 +msgid "Then the following codes will appear (the number may be different)." +msgstr "次に、次のコードが表示されます(番号は異なる場合があります)。" + +#: ../appendix/spi_configuration.rst:44 +msgid "**Step 3:** Install Python module SPI-Py." +msgstr "**ステップ3:** PythonモジュールSPI-Pyをインストールします。" + +#: ../appendix/spi_configuration.rst:55 +msgid "This step is for python users, if you use C language, please skip." +msgstr "" +"この手順はPythonユーザー向けです。C言語を使用している場合は、スキップして" +"ください。" diff --git a/docs/source/locale/ja/LC_MESSAGES/component_list.po b/docs/source/locale/ja/LC_MESSAGES/component_list.po new file mode 100644 index 0000000..d1c4a14 --- /dev/null +++ b/docs/source/locale/ja/LC_MESSAGES/component_list.po @@ -0,0 +1,33 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, SunFounder +# This file is distributed under the same license as the SunFounder Davinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Davinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-05-20 18:20+0800\n" +"PO-Revision-Date: 2021-05-28 11:21+0800\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" +"Last-Translator: \n" +"Language-Team: \n" +"X-Generator: Poedit 2.4.3\n" + +#: ../component_list.rst:2 +msgid "Component List" +msgstr "部品一覧" + +#: ../component_list.rst:4 +msgid "" +"After opening the package, please check whether the quantity of " +"components is compliance with product description and whether all " +"components are in good condition." +msgstr "" +"パッケージを開封した後、部品の数量が製品の説明に一致しているかどう" +"か、およびすべての部品が良好な状態にあるかどうかを確認してくださ" +"い。" diff --git a/docs/source/locale/ja/LC_MESSAGES/download_the_code.po b/docs/source/locale/ja/LC_MESSAGES/download_the_code.po new file mode 100644 index 0000000..4c6ee9d --- /dev/null +++ b/docs/source/locale/ja/LC_MESSAGES/download_the_code.po @@ -0,0 +1,62 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, SunFounder +# This file is distributed under the same license as the SunFounder Davinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Davinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-19 18:22+0800\n" +"PO-Revision-Date: 2021-05-28 11:24+0800\n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../download_the_code.rst:2 +msgid "Download the Code" +msgstr "コードをダウンロードする" + +#: ../download_the_code.rst:4 +msgid "" +"Before you download the code, please note that the example code is " +"**ONLY** test on Raspberry Pi OS. We provide two methods for download:" +msgstr "" +"コードをダウンロードする前に、サンプルコードはRaspberry Pi OS **のみ** " +"でテストすることに注意してください。ダウンロードには二つの方法がある:" + +#: ../download_the_code.rst:7 +msgid "**Method 1: Use git clone (Recommended)**" +msgstr "**方法1:git cloneを使用する(推奨)**" + +#: ../download_the_code.rst:9 +msgid "Log into Raspberry Pi and then change directory to ``/home/pi``." +msgstr "Raspberry Piにログインし、ディレクトリを ``/home/pi`` に変更する。" + +#: ../download_the_code.rst:22 +msgid "" +"cd to change to the intended directory from the current path. Informally," +" here is to go to the path ``/home/pi/``." +msgstr "現在のパスから目的のディレクトリに移動するcd。非公式には、パス ``/home/pi/`` に移動する。" + +#: ../download_the_code.rst:24 +msgid "Clone the repository from GitHub." +msgstr "GitHubからリポジトリを複製する。" + +#: ../download_the_code.rst:34 +msgid "**Method 2: Download the code.**" +msgstr "**方法2:コードをダウンロードする。**" + +#: ../download_the_code.rst:36 + +msgid "" +"Download the source code from github: https://github.com/sunfounder" +"/davinci-kit-for-raspberry-pi." +msgstr "" +"githubからソースコードをダウンロードする:https://github.com/sunfounder/davinci-kit-for-" +"raspberry-pi." + diff --git a/docs/source/locale/ja/LC_MESSAGES/faq.po b/docs/source/locale/ja/LC_MESSAGES/faq.po new file mode 100644 index 0000000..c43ba81 --- /dev/null +++ b/docs/source/locale/ja/LC_MESSAGES/faq.po @@ -0,0 +1,49 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, sunfounder +# This file is distributed under the same license as the SunFounder Da Vinci +# Kit package. +# FIRST AUTHOR , 2021. +# + +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Da Vinci Kit \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-11 18:08+0800\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../faq.rst:2 +msgid "FAQ" +msgstr "FAQ" + +#: ../faq.rst:4 +msgid "C code is not working?" +msgstr "Cコードが機能していませんか?" + +#: ../faq.rst:7 +msgid "Check your wiring for problems." +msgstr "配線に問題がないか確認してください。" + +#: ../faq.rst:8 +msgid "Check if the code is reporting errors." +msgstr "コードがエラーを報告しているかどうかを確認します。" + +#: ../faq.rst:9 +msgid "Has the code been compiled before running." +msgstr "実行する前にコードをコンパイルしましたか。" + +#: ../faq.rst:10 +msgid "" +"If all the above 3 conditions are OK, it may be that your wiringPi " +"version (2.50) is not compatible with your Raspberry Pi 4B and above, " +"refer to :ref:`WiringPi` to manually upgrade it to version 2.52." +msgstr "上記の3つの条件がすべて問題ない場合は、wiringPiバージョン(2.50)がRaspberry Pi " +"4B以降と互換性がない可能性があります。手動でバージョン2.52にアップグレードするには、" +":ref:`WiringPi` を参照してください。" + diff --git a/docs/source/locale/ja/LC_MESSAGES/gpio_extension_board.po b/docs/source/locale/ja/LC_MESSAGES/gpio_extension_board.po new file mode 100644 index 0000000..73bb0d8 --- /dev/null +++ b/docs/source/locale/ja/LC_MESSAGES/gpio_extension_board.po @@ -0,0 +1,87 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, SunFounder +# This file is distributed under the same license as the SunFounder Davinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Davinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-05-20 18:20+0800\n" +"PO-Revision-Date: 2021-05-28 11:26+0800\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" +"Last-Translator: \n" +"Language-Team: \n" +"X-Generator: Poedit 2.4.3\n" + +#: ../gpio_extension_board.rst:2 +msgid "GPIO Extension Board" +msgstr "GPIO拡張ボード" + +#: ../gpio_extension_board.rst:4 +msgid "" +"Before starting to learn the commands, you first need to know more about " +"the pins of the Raspberry Pi, which is key to the subsequent study." +msgstr "" +"コマンドの学習を開始する前に、最初にRaspberry Piのピンについて詳しく知る" +"必要がある。これは、その後の研究の鍵となる。" + +#: ../gpio_extension_board.rst:7 +msgid "" +"We can easily lead out pins of the Raspberry Pi to breadboard by GPIO " +"Extension Board to avoid GPIO damage caused by frequent plugging in or " +"out. This is our 40-pin GPIO Extension Board and GPIO cable for " +"Raspberry Pi model B+, 2 model B and 3, 4 model B." +msgstr "" +"GPIO拡張ボードによってRaspberry Piのピンをブレッドボードに簡単に引き出し" +"て、頻繁に挿入または引き抜きによるGPIOの損傷を防止できる。これは、" +"Raspberry PiモデルB +、世代2モデルBおよび世代3、4モデルBに適用する40ピン" +"GPIO拡張ボードとGPIOケーブルである。" + +#: ../gpio_extension_board.rst:15 +msgid "**Pin Number**" +msgstr "**ピン番号**" + +#: ../gpio_extension_board.rst:17 +msgid "" +"The pins of Raspberry Pi have three kinds of ways to name and they are " +"wiringPi, BCM and Board." +msgstr "" +"Raspberry Piのピンには、命名方法が三つあり、つまり、wiringPi、BCM、および" +"ボードである。" + +#: ../gpio_extension_board.rst:19 +msgid "" +"Among these naming methods, 40-pin GPIO Extension board uses the naming " +"method, BCM. But for some special pins, such as I2C port and SPI port, " +"they use the Name that comes with themselves." +msgstr "" +"これらの命名方法の中で、40ピンGPIO拡張ボードは命名方法BCMを使用している。" +"ただし、I2CポートやSPIポートなどの一部の特別なピンでは、付属の名前を使用" +"する。" + +#: ../gpio_extension_board.rst:21 +msgid "" +"The following table shows us the naming methods of WiringPi, Board and " +"the intrinsic Name of each pin on GPIO Extension board. For example, for " +"the GPIO17, the Board naming method of it is 11, the wiringPi naming " +"method is 0, and the intrinsic naming method of it is GPIO0." +msgstr "" +"次の表は、WiringPi、ボード、およびGPIO拡張ボード上の各ピンの固有の命名方" +"法を示している。たとえば、GPIO17の場合、ボードの命名方法によると11で、" +"wiringPiの命名方法によると0で、固有の命名方法によるとGPIO0である。" + +#: ../gpio_extension_board.rst:25 +msgid "1)In C Language, what is used is the naming method WiringPi." +msgstr "1)C言語では、使用されている命名方法はWiringPiである。" + +#: ../gpio_extension_board.rst:27 +msgid "" +"2)In Python Language, the applied naming methods are Board and BCM, and " +"the function GPIO.setmode() is used to set them." +msgstr "" +"2)Python言語では、適用される命名方法はBoardとBCMであり、関数GPIO.setmode()を使用してそれらを設定します。" diff --git a/docs/source/locale/ja/LC_MESSAGES/i2c_configuration.po b/docs/source/locale/ja/LC_MESSAGES/i2c_configuration.po new file mode 100644 index 0000000..7a6e401 --- /dev/null +++ b/docs/source/locale/ja/LC_MESSAGES/i2c_configuration.po @@ -0,0 +1,86 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, SunFounder +# This file is distributed under the same license as the SunFounder Davinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Davinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-04 15:50+0800\n" +"PO-Revision-Date: 2021-05-28 11:33+0800\n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../i2c_configuration.rst:2 +msgid "I2C Configuration" +msgstr "I2Cコンフィギュレーション" + +#: ../i2c_configuration.rst:4 +msgid "" +"**Step 1**: Enable the I2C port of your Raspberry Pi (If you have enabled" +" it, skip this; if you do not know whether you have done that or not, " +"please continue)." +msgstr "" +"**ステップ1:** Raspberry " +"PiのI2Cポートを作動させる(作動した場合は、これをスキップしてください。これを行ったかどうかわからない場合は、続行してください)。" + +#: ../i2c_configuration.rst:16 +msgid "**3 Interfacing options**" +msgstr "**3 インターフェースオプション**" + +#: ../i2c_configuration.rst:21 +msgid "**P5 I2C**" +msgstr "**P5 I2C**" + +#: ../i2c_configuration.rst:26 +msgid "**, then -> **" +msgstr "**,その時 -> **" + +#: ../i2c_configuration.rst:31 +msgid "**Step 2:** Check whether the i2c modules are loaded and active." +msgstr "**ステップ2:** i2cモジュールがロードされ作動しているかどうかを確認する。" + +#: ../i2c_configuration.rst:41 +msgid "Then the following codes will appear (the number may be different)." +msgstr "すると、次のようなコードが表示されます(番号は異なる場合があります)。" + +#: ../i2c_configuration.rst:48 +msgid "**Step 3:** Install i2c-tools." +msgstr "**ステップ3:** i2c-toolsを実装する。" + +#: ../i2c_configuration.rst:58 +msgid "**Step 4:** Check the address of the I2C device." +msgstr "**ステップ4:** I2Cデバイスのアドレスを確認する。" + +#: ../i2c_configuration.rst:91 +msgid "" +"If there is an I2C device connected, the address of the device will be " +"displayed." +msgstr "" + +#: ../i2c_configuration.rst:93 +msgid "**Step 5:**" +msgstr "**ステップ5:**" + +#: ../i2c_configuration.rst:95 +msgid "**For C language users:** Install libi2c-dev." +msgstr "**C言語ユーザーの場合:** libi2c-devを実装する。" + +#: ../i2c_configuration.rst:105 +msgid "**For Python users:** Install smbus for I2C." +msgstr "**Pythonユーザーの場合:** I2C用のsmbusを実装する。" + +#~ msgid "" +#~ "If there's an I2C device connected, " +#~ "the results will be similar as " +#~ "shown above - since the address of" +#~ " the device is 0x48, 48 is " +#~ "printed." +#~ msgstr "I2C装置が接続されている場合、結果は上記のようになる-デバイスのアドレスは0x48であるため、48がプリントされる。" + diff --git a/docs/source/locale/ja/LC_MESSAGES/index.po b/docs/source/locale/ja/LC_MESSAGES/index.po new file mode 100644 index 0000000..89031ed --- /dev/null +++ b/docs/source/locale/ja/LC_MESSAGES/index.po @@ -0,0 +1,69 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, SunFounder +# This file is distributed under the same license as the SunFounder Davinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Davinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-04 15:50+0800\n" +"PO-Revision-Date: 2021-05-28 11:39+0800\n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../index.rst:3 +msgid "SunFounder Da Vinci Kit for Raspberry Pi" +msgstr "SunFounder Da Vinci Kit for Raspberry Pi" + +#: ../index.rst:6 +msgid "About the Da Vinci Kit" +msgstr "Da Vinciキットについて" + +#: ../index.rst:8 +msgid "" +"This Da Vinci kit applies to the Raspberry Pi 4 Model B, 3 Model A+, 3 " +"Model B+, 3 Model B, 2 Model B, 1 Model B+, 1 Model A+, zero W and zero. " +"It includes various components and chips that can help to create various " +"interesting phenomena which you can get via some operation with the " +"guidance of experiment instructions. In this process, you can learn some " +"basic knowledge about programming. Also you can explore more application " +"by yourself. Now go for it!" +msgstr "" +"このDa Vinciキットは、Raspberry Pi " +"世代4モデルB、世代3モデA+、世代3モデルB+、世代3モデルB、世代2モデルB、世代1モデルB+、世代1モデA+、ゼロWおよびゼロに適用される。さまざまな興味深い現象を作成するのに役立つさまざまな部品とチップが含まれており、実験の指示に従って操作すると達成できる。このプロセスでは、プログラミングに関する基本的な知識を習得できる。また、より多くのアプリケーションを自分で探索することもできる。さあ、未知の世界を探そう!" + +#: ../index.rst:16 +msgid "" +"If you want to learn another projects which we don't have, please feel " +"free to send Email and we will update to our online tutorials as soon as " +"possible, any suggestions are welcomed." +msgstr "もし、私たちが持っていない別のプロジェクトを学びたい場合は、お気軽にメールをお送りください。" + +#: ../index.rst:18 +msgid "Here is the Email: cs@sunfounder.com." +msgstr "電子メール:cs@sunfounder.com。" + +#: ../index.rst:42 +msgid "Copyright Notice" +msgstr "著作権表示" + +#: ../index.rst:44 +msgid "" +"All contents including but not limited to texts, images, and code in this" +" manual are owned by the SunFounder Company. You should only use it for " +"personal study,investigation, enjoyment, or other non-commercial or " +"nonprofit purposes, under therelated regulations and copyrights laws, " +"without infringing the legal rights of the author and relevant right " +"holders. For any individual or organization that uses these for " +"commercial profit without permission, the Company reserves the right to " +"take legal action." +msgstr "" +"このマニュアルのテキスト、画像とコードを含むがこれらに限定されないすべての内容は、SunFounder " +"Companyが所有している。関連する規制と著作権法に基づき、著者と関連する権利所有者の法的権利を侵害することなく、個人的な研究、調査、享楽、またはその他の非営利目的でのみ使用してください。許可なく営利目的でこれを使用する個人または組織については、会社は法的措置を取る権利を留保する。" + diff --git a/docs/source/locale/ja/LC_MESSAGES/installing_the_os.po b/docs/source/locale/ja/LC_MESSAGES/installing_the_os.po new file mode 100644 index 0000000..d826158 --- /dev/null +++ b/docs/source/locale/ja/LC_MESSAGES/installing_the_os.po @@ -0,0 +1,198 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, SunFounder +# This file is distributed under the same license as the SunFounder Davinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Davinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-05-20 18:20+0800\n" +"PO-Revision-Date: 2021-06-09 16:25+0800\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" +"Last-Translator: \n" +"Language-Team: \n" +"Language: os\n" +"X-Generator: Poedit 2.4.3\n" + +#: ../installing_the_os.rst:2 +msgid "Installing the OS" +msgstr "オペレーティングシステムのインストール" + +#: ../installing_the_os.rst:4 +msgid "**Required Components**" +msgstr "**必要な部品**" + +#: ../installing_the_os.rst:7 +msgid "Any Raspberry Pi" +msgstr "任意のラズベリーパイ" + +#: ../installing_the_os.rst:7 +msgid "1 \\* Personal Computer" +msgstr "パーソナルコンピュータ*1台" + +#: ../installing_the_os.rst:8 +msgid "1 \\* Micro SD card" +msgstr "マイクロSDカード*1枚" + +#: ../installing_the_os.rst:11 +msgid "**Step 1**" +msgstr "**ステップ1**" + +#: ../installing_the_os.rst:13 +msgid "" +"Raspberry Pi have developed a graphical SD card writing tool that works on " +"Mac OS, Ubuntu 18.04 and Windows, and is the easiest option for most users " +"as it will download the image and install it automatically to the SD card." +msgstr "" +"ラズベリーパイが開発したグラフィカルなSDカード書き込みツールは、Mac OS、" +"Ubuntu 18.04、Windowsで動作し、イメージをダウンロードして自動的にSDカードにイ" +"ンストールしてくれるので、ほとんどのユーザーにとって最も簡単なオプションで" +"す。" + +#: ../installing_the_os.rst:18 +msgid "" +"Visit the download page: https://www.raspberrypi.org/software/. Click on the " +"link for the Raspberry Pi Imager that matches your operating system, when " +"the download finishes, click it to launch the installer." +msgstr "" +"ダウンロードページにアクセスします。https://www.raspberrypi.org/software/。お" +"使いのオペレーティングシステムに合ったラズベリーパイイメージャーのリンクをク" +"リックし、ダウンロードが終了したら、それをクリックしてインストーラーを起動し" +"ます。" + +#: ../installing_the_os.rst:26 +msgid "**Step 2**" +msgstr "**ステップ2**" + +#: ../installing_the_os.rst:28 +msgid "" +"When you launch the installer, your operating system may try to block you " +"from running it. For example, on Windows I receive the following message:" +msgstr "" +"インストーラーを起動すると、オペレーティングシステムが実行をブロックしようと" +"する場合があります。例えば、Windowsでは次のようなメッセージが表示されます:" + +#: ../installing_the_os.rst:32 +msgid "" +"If this pops up, click on **More info** and then **Run anyway**, then follow " +"the instructions to install the Raspberry Pi Imager." +msgstr "" +"これがポップアップされたら、順次に「 **More info** 」と「**Run anyway**」をク" +"リックした後、指示に従ってラズベリーパイイメージャーをインストールします。" + +#: ../installing_the_os.rst:38 +msgid "**Step 3**" +msgstr "**ステップ3**" + +#: ../installing_the_os.rst:40 +msgid "Insert your SD card into the computer or laptop SD card slot." +msgstr "SDカードをパソコンやノートパソコンのSDカードスロットに挿入します。" + +#: ../installing_the_os.rst:42 +msgid "**Step 4**" +msgstr "**ステップ4**" + +#: ../installing_the_os.rst:44 +msgid "" +"In the Raspberry Pi Imager, select the OS that you want to install and the " +"SD card you would like to install it on." +msgstr "" +"ラズベリーパイイメージャーで、インストールしたいオペレーティングシステムとSD" +"カードを選択します。" + +#: ../installing_the_os.rst:52 +msgid "You will need to be connected to the internet the first time." +msgstr "初回はインターネットに接続されている必要があります。" + +#: ../installing_the_os.rst:54 +msgid "" +"That OS will then be stored for future offline use(lastdownload.cache, C:/" +"Users/yourname/AppData/Local/Raspberry Pi/Imager/cache). So the next time " +"you open the software, it will have the display \"Released: date, cached on " +"your computer\"." +msgstr "" +"そのオペレーティングシステムは、将来のオフラインでの使用のために保存されます" +"(ラストダウンロード.キャッシュ、C:/Users/yourname/AppData/Local/Raspberry Pi/" +"Imager/cache)。そのため、次にソフトを開いたときには、「リリース:日付、あなた" +"のコンピュータにキャッシュされた」という表示になります。" + +#: ../installing_the_os.rst:56 +msgid "**Step 5**" +msgstr "**ステップ5**" + +#: ../installing_the_os.rst:58 +msgid "Select the SD card you are using." +msgstr "使用中のSDカードを選択します。" + +#: ../installing_the_os.rst:63 +msgid "**Step 6**" +msgstr "**ステップ6**" + +#: ../installing_the_os.rst:65 +msgid "" +"Press **Ctrl+Shift+X** to open the **Advanced options** page to enable SSH " +"and configure wifi, these 2 items must be set, the others depend on your " +"choice . You can choose to always use this image customization options." +msgstr "" +"「 **Ctrl+Shift+X** 」を押すと、SSHの有効化と無線LANの設定を行うための" +"「 **Advanced options** 」ページが開きます。この2つの項目は必ず設定する必要があ" +"りますが、その他の項目はあなたの選択次第です。このイメージカスタマイズオプ" +"ションを常に使用するように選択することができます。" + +#: ../installing_the_os.rst:73 +msgid "Then scroll down to complete the wifi configuration and click **SAVE**." +msgstr "" +"その後、下にスクロールしてWifiの設定を完了し、「 **save** 」をクリックします。" + +#: ../installing_the_os.rst:77 +msgid "" +"**wifi country** should be set the two-letter `ISO/IEC alpha2 code `__ for the country in " +"which you are using your Raspberry Pi, please refer to the following link: " +"https://en.wikipedia.org/wiki/" +"ISO_3166-1_alpha-2#Officially_assigned_code_elements" +msgstr "" +"**wifi country** は、ラズベリーパイを使用している国の `ISO/IEC alpha2 code " +"`_ 2文字のコードを設定し" +"てください、以下のリンクを参照してください。\n" +"https://en.wikipedia.org/wiki/" +"ISO_3166-1_alpha-2#Officially_assigned_code_elements" + +#: ../installing_the_os.rst:85 +msgid "**Step 7**" +msgstr "**ステップ7**" + +#: ../installing_the_os.rst:87 +msgid "Click the **WRITE** button." +msgstr "「 **書込み** 」ボタンをクリックします。" + +#: ../installing_the_os.rst:92 +msgid "**Step 8**" +msgstr "**ステップ8**" + +#: ../installing_the_os.rst:94 +msgid "" +"If your SD card currently has any files on it, you may wish to back up these " +"files first to prevent you from permanently losing them. If there is no file " +"to be backed up, click **Yes**." +msgstr "" +"SDカードに何らかのファイルが保存されている場合は、それらのファイルを永久に失" +"わないようにするために、まずそれらのファイルをバックアップすることをお勧めし" +"ます。バックアップするファイルがない場合は、「 **イェス** 」をクリックします。" + +#: ../installing_the_os.rst:101 +msgid "**Step 9**" +msgstr "**ステップ9**" + +#: ../installing_the_os.rst:103 +msgid "" +"After waiting for a period of time, the following window will appear to " +"represent the completion of writing." +msgstr "一定時間を待った後、書き込み完了を表す以下のウィンドウが表示されます。" diff --git a/docs/source/locale/ja/LC_MESSAGES/introduction.po b/docs/source/locale/ja/LC_MESSAGES/introduction.po new file mode 100644 index 0000000..378f701 --- /dev/null +++ b/docs/source/locale/ja/LC_MESSAGES/introduction.po @@ -0,0 +1,75 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, SunFounder +# This file is distributed under the same license as the SunFounder Davinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Davinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-05-20 18:20+0800\n" +"PO-Revision-Date: 2021-05-28 14:35+0800\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" +"Last-Translator: \n" +"Language-Team: \n" +"X-Generator: Poedit 2.4.3\n" + +#: ../introduction.rst:2 +msgid "Introduction" +msgstr "前書き" + +#: ../introduction.rst:4 +msgid "" +"Da Vinci Kit is a basic kit suitable to intelligent beginners who have " +"project schedule. It contains 26 commonly used input and output " +"components and modules and a number of basic electronic devices (such as " +"resistors, capacitors) which can provide powerful assistance in your " +"programming learning." +msgstr "" +"DaVinciキットはプロジェクトのスケジュールを立てたインテリジェントな初心者" +"に適した基本的なキットである。26の汎用の入力および出力部品とモジュール、" +"およびプログラミング学習で友好的な支援を提供できる多くの基本的な電子装置" +"(抵抗器、コンデンサなど)が含まれている。" + +#: ../introduction.rst:10 +msgid "" +"In the light of the kit, you can learn some basic knowledge on Raspberry " +"Pi, including the installation method of Raspberry Pi, knowledge of Bash " +"shell and GPIO. Having understood these knowledge, you can start " +"programming." +msgstr "" +"このキットをマスターすることで、Raspberry Piの実装方法、Bash shell とGPIO" +"についての知識など、Raspberry Piの基本的な知識を学ぶことができる。これら" +"の知識を理解した上、プログラミングを開始できる。" + +#: ../introduction.rst:15 +msgid "" +"If you have no knowledge background of hardware, this document about the " +"Kit provides you with 30 lessons for reference and learning, including " +"26 basic I/o lessons and 4 simple practical examples. It should be noted " +"that the arrangement of these courses is not based on the degree of " +"difficulty, but on the functions in practice. You can find corresponding " +"courses in accordance with your needs. In other words, even if you " +"haven't finished reading the entire course or mastered the use of the " +"components mentioned, this document will play an important role in " +"guiding you to complete practical projects in the future." +msgstr "" +"ハードウェアに関する知識がない場合は、キットに関するこのドキュメントで" +"は、26回の基本的なI/Oレッスンと4つの簡単な実例を含む30回のレッスンを参照" +"と学習のために提供する。これらのコースの配置は難易度ではなく、実際の機能" +"に基づいていることに注意してください。ニーズに応じて、対応するコースを見" +"つけることができる。つまり、コース全体を読み終えていないく、言及した部品" +"の使用方法を習得していない場合でも、このドキュメントは将来の実用的なプロ" +"ジェクトを完了させるためのガイドとして重要な役割を果たす。" + +#: ../introduction.rst:25 +msgid "" +"We are looking forward to your projects and hope that you can share your " +"achievements or creation on our forum while reading this document." +msgstr "" +"我々はあなたのプロジェクトを楽しみにしており、このドキュメントを読んでい" +"る間にフォーラムであなたの成果や創造を共有できることを願っている。" diff --git a/docs/source/locale/ja/LC_MESSAGES/iot/4_iot_projects.po b/docs/source/locale/ja/LC_MESSAGES/iot/4_iot_projects.po new file mode 100644 index 0000000..c7425dd --- /dev/null +++ b/docs/source/locale/ja/LC_MESSAGES/iot/4_iot_projects.po @@ -0,0 +1,54 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, sunfounder +# This file is distributed under the same license as the SunFounder Da Vinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Da Vinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-07-29 17:00+0800\n" +"PO-Revision-Date: 2021-08-02 18:11+0800\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" +"Last-Translator: \n" +"Language-Team: \n" +"X-Generator: Poedit 2.4.3\n" + +#: ../iot/4_iot_projects.rst:2 +msgid "4 IOT" +msgstr "4 IOT" + +#: ../iot/4_iot_projects.rst:4 +msgid "" +"The Internet of things (IoT) describes the network of physical objects—a." +"k.a. \"things\"—that are embedded with sensors, software, and other " +"technologies for the purpose of connecting and exchanging data with " +"other devices and systems over the Internet." +msgstr "" +"モノのインターネット(IoT)は、物理オブジェクト(モノ)のネットワークを表" +"します。 \n" +"センサー、ソフトウェア、およびその他のテクノロジーが組み込まれていて、" +"ネットを介して、他のデバイスやシステムとデータの接続および交換が目的で" +"す。" + +#: ../iot/4_iot_projects.rst:6 +msgid "" +"Cloud4RPi is a cloud-based control panel for IoT projects. Cloud4RPi " +"uses dashboard widgets to control IoT devices remotely and show real-" +"time device data." +msgstr "" +"Cloud4RPiは、IoTプロジェクト用のクラウドベースのコントロールパネルです。 " +"Cloud4RPiは、ダッシュボードウィジェットを使用して、IoTデバイスをリモート" +"で制御し、リアルタイムのデバイスデータを表示します。" + +#: ../iot/4_iot_projects.rst:8 +msgid "" +"In this chapter, we combine some components with Cloud4RPi to do some " +"interesting IOT projects." +msgstr "" +"この章では、一部のコンポーネントをCloud4RPiと組み合わせて、いくつかの興味" +"深いIOTプロジェクトを紹介します。" diff --git a/docs/source/locale/ja/LC_MESSAGES/iot/attendance_system.po b/docs/source/locale/ja/LC_MESSAGES/iot/attendance_system.po new file mode 100644 index 0000000..af2112e --- /dev/null +++ b/docs/source/locale/ja/LC_MESSAGES/iot/attendance_system.po @@ -0,0 +1,202 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, sunfounder +# This file is distributed under the same license as the SunFounder Da Vinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Da Vinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-07-29 17:00+0800\n" +"PO-Revision-Date: 2021-08-03 18:29+0800\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" +"Last-Translator: \n" +"Language-Team: \n" +"X-Generator: Poedit 2.4.3\n" + +#: ../iot/attendance_system.rst:2 +msgid "Attendance system" +msgstr "Attendance system(出席システム)" + +#: ../iot/attendance_system.rst:4 +msgid "" +"In this project, we use MFRC522 RFID Module and Cloud4RPi to make a system, " +"you can view the attendance information on Cloud4RPi, or open the local .csv " +"file to view the attendance records." +msgstr "" +"このプロジェクトでは、MFRC522 RFIDモジュールとCloud4RPiを使用してシステムを作" +"成します。Cloud4RPiで出席情報を表示したり、ローカルの.csvファイルを開いて出席" +"レコードを表示したりできます。" + +#: ../iot/attendance_system.rst:6 +msgid "" +"Due to the delay of network data transmission, the project only allows you to " +"punch in when the green LED is on and upload data when the red LED is on." +msgstr "" +"ネットワークデータ送信の遅延により、プロジェクトでは、緑色のLEDがオンのときに" +"パンチインし、赤色のLEDがオンのときにデータをアップロードします。" + +#: ../iot/attendance_system.rst:9 +msgid "Experimental Procedures" +msgstr "実験手順" + +#: ../iot/attendance_system.rst:11 +msgid "Build the circuit." +msgstr "回路を構築します。" + +#: ../iot/attendance_system.rst:16 +msgid "Open the code." +msgstr "コードを開きます。" + +#: ../iot/attendance_system.rst:27 +msgid "Find the line below and fill in the correct device token." +msgstr "下の行を見つけて、正しいデバイストークンを入力します。" + +#: ../iot/attendance_system.rst:33 +msgid "Run the code." +msgstr "コードを実行します。" + +#: ../iot/attendance_system.rst:43 +msgid "" +"Go to Cloud4RPi, add a new control panel named **project5** and add 2 widgets " +"(text and chart widgets) via the **Add widget** button." +msgstr "" +"Cloud4RPiに移動し、**project5** という名前の新しいコントロールパネルを追加し、" +"**Add widget** ボタンを使用して2つのwidget(text and chart widgets)を追加しま" +"す。" + +#: ../iot/attendance_system.rst:48 +msgid "" +"Once added, you can view the clock-in records for different time periods on " +"the Chart widget (when the value of LED ON is True, it means someone clocked " +"in), and then view the number of people who clocked in on the Text widget." +msgstr "" +"追加すると、チャートwidgetでさまざまな期間の出勤記録を表示し(LED ONの値がTrue" +"の場合、誰かが出勤したことを意味します)、テキストwidgetで出勤した人の数を表示" +"できます。" + +#: ../iot/attendance_system.rst:50 +msgid "" +"Also you can find the ``.csv`` file with the date under the path ``/home/pi/" +"cloud4rpi-raspberrypi-python``." +msgstr "" +"また、パス ``/home/pi/cloud4rpi-raspberrypi-python`` の下に日付のある ``.csv`` " +"ファイルを見つけることができます。" + +#: ../iot/attendance_system.rst:55 +msgid "Open it with the following command." +msgstr "次のコマンドで開きます。" + +#: ../iot/attendance_system.rst:66 +msgid "" +"In this way, you can read the punch-in records of different time periods. On " +"the left is the ID of different MFRC522 RFID modules, and on the right is the " +"time of punching in." +msgstr "" +"このようにして、さまざまな期間のパンチインレコードを読み取ることができます。 " +"左側はさまざまなMFRC522RFIDモジュールのIDであり、右側はパンチインの時間です。" + +#: ../iot/attendance_system.rst:73 +msgid "" +"If the person's name is written to the MFRC522 RFID Module in advance, and " +"then the id is replaced with text in the code (which will be mentioned later " +"in the code explanation), so that the attendance sheet records the name of " +"each person, rather than the ID of the card." +msgstr "" +"事前にMFRC522RFIDモジュールに人の名前を書き込んでから、コード内のテキスト" +"(コードの説明は後述)にIDを置き換えると、出席シートに カードのIDより、各人の" +"名前が記録されます。" + +#: ../iot/attendance_system.rst:76 +msgid "Code Explanation" +msgstr "コードの説明" + +#: ../iot/attendance_system.rst:87 +msgid "Set 2 LEDs as output and set the initial value to high." +msgstr "2つのLEDを出力として設定し、初期値を高に設定します。" + +#: ../iot/attendance_system.rst:103 +msgid "" +"Use the ``get_time()`` function to get the current timestamp and return two " +"values. Where ``present_date`` is accurate to the day and ``present_time`` is " +"accurate to the second." +msgstr "" +"``get_time()`` 関数を使用して、現在のtimestampを取得し、2つの値を返します。 こ" +"こで、``present_date`` はその日に対して正確であり、``present_time`` は秒に対して" +"正確です。" + +#: ../iot/attendance_system.rst:116 +msgid "" +"First, we set ``attendance`` to False, which means that no one is clocked in." +msgstr "" +"まず、``attendance`` をFalseに設定します。これは、誰もクロックインされていない" +"ことを意味します。" + +#: ../iot/attendance_system.rst:118 +msgid "" +"Then set GreenPin to low level to light it, and RedPin to high level to keep " +"it off, indicating that the current attendance system is working normally." +msgstr "" +"次に、GreenPinを低レベルに設定して点灯させ、RedPinを高レベルに設定して消灯させ" +"ます。これは、現在の出席システムが正常に機能していることを示します。" + +#: ../iot/attendance_system.rst:120 +msgid "" +"When someone punches in, the id and text information of the card will be " +"printed. If the red LED is on and the green LED is off, it means that the " +"check-in is successful and the result is sent to Cloud4RPi." +msgstr "" +"誰かがパンチインすると、カードのIDとテキスト情報が印刷されます。 赤いLEDがオン" +"で、緑のLEDがオフの場合は、チェックインが成功し、結果がCloud4RPiに送信されるこ" +"とを意味します。" + +#: ../iot/attendance_system.rst:122 +msgid "" +"During this period, the attendance system is in sleep state until the next " +"cycle starts (the green light is on)." +msgstr "" +"この期間中、出席システムは次のサイクルが開始するまでスリープ状態になります(緑" +"色のライトが点灯します)。" + +#: ../iot/attendance_system.rst:135 +msgid "" +"First determine if the id is duplicated in ``attendance_list`` by an if " +"statement, if not, it means the punch-in is valid and pass the id information " +"into ``attendance_list``. Then we get the current timestamp and use the id as " +"the key of the ``attendance_statistics`` dictionary and ``present_time`` as " +"the value of the corresponding key. In this way, the " +"``attendance_statistics`` dictionary stores the punch time of the current id." +msgstr "" +"まず、ifステートメントによってIDが ``attendance_list`` で重複しているかどうかを" +"判断します。重複していない場合は、パンチインが有効であることを意味し、ID情報を" +" ``attendance_list`` に渡します。 次に、現在のtimestampを取得し、IDを" +" ``attendance_statistics`` ディクショナリのキーとして使用し、``present_time`` を" +"対応するキーの値として使用します。 このようにして、 ``attendance_statistics`` " +"ディクショナリは現在のIDのパンチタイムを保存します。" + +#: ../iot/attendance_system.rst:137 +msgid "" +"Finally we write the ``attendance_statistics`` dictionary to a .csv file and " +"name the file as ``'attendance_sheet.'' + present_date + '.csv'``, so that we " +"store the attendance sheet in time order." +msgstr "" +"最後に、``attendance_statistics`` 辞書を.csvファイルに書き込み、ファイルに" +" ``'attendance_sheet.'' + present_date + '.csv'`` という名前を付けて、出席シート" +"を時間順に保存します。" + +#: ../iot/attendance_system.rst:141 +msgid "" +"If you have written the person's name in the MFRC522 RFID, then replace the " +"``id`` with ``text`` and your attendance sheet will record the name of the " +"person." +msgstr "" +"MFRC522 RFIDに人の名前を書き込んだ場合は、``id`` を ``text`` に置き換えると、出席" +"シートにその人の名前が記録されます。" + +#: ../iot/attendance_system.rst:148 +msgid "Returns the length of ``attendance_list``, i.e. the number of attendees." +msgstr "``attendance_list`` の長さ、つまり出席者の数を返します。" diff --git a/docs/source/locale/ja/LC_MESSAGES/iot/iot_projects.po b/docs/source/locale/ja/LC_MESSAGES/iot/iot_projects.po new file mode 100644 index 0000000..cad1029 --- /dev/null +++ b/docs/source/locale/ja/LC_MESSAGES/iot/iot_projects.po @@ -0,0 +1,43 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, sunfounder +# This file is distributed under the same license as the SunFounder Da Vinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Da Vinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-07-29 17:00+0800\n" +"PO-Revision-Date: 2021-08-04 11:30+0800\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" +"Last-Translator: \n" +"Language-Team: \n" +"X-Generator: Poedit 2.4.3\n" + +#: ../iot/iot_projects.rst:2 +msgid "Projects" +msgstr "プロジェクト" + +#: ../iot/iot_projects.rst:4 +msgid "In this section, you will start learning to create IoT projects." +msgstr "このセクションでは、IoTプロジェクトの作成方法を学びます。" + +#: ../iot/iot_projects.rst:6 +msgid "" +"Before starting the project, you should have downloaded the code we " +"provided (:ref:`Download the Code`)." +msgstr "" +"プロジェクトを開始する前に、提供されたコードをダウンロードしておく必要" +"があります(:ref:`Download the Code`)。" + +#: ../iot/iot_projects.rst:8 +msgid "" +"Then copy the codes from the ``iot`` folder to the ``cloud4rpi-" +"raspberrypi-python`` folder." +msgstr "" +"次に、コードを ``iot`` フォルダーから ``cloud4rpi-raspberrypi-python`` " +"フォルダーにコピーします。" diff --git a/docs/source/locale/ja/LC_MESSAGES/iot/learn_more_about_control.py.po b/docs/source/locale/ja/LC_MESSAGES/iot/learn_more_about_control.py.po new file mode 100644 index 0000000..d353eda --- /dev/null +++ b/docs/source/locale/ja/LC_MESSAGES/iot/learn_more_about_control.py.po @@ -0,0 +1,117 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, sunfounder +# This file is distributed under the same license as the SunFounder Da Vinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Da Vinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-07-29 17:00+0800\n" +"PO-Revision-Date: 2021-08-04 11:52+0800\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" +"Last-Translator: \n" +"Language-Team: \n" +"X-Generator: Poedit 2.4.3\n" + +#: ../iot/learn_more_about_control.py.rst:2 +msgid "Learn More about ``control.py``" +msgstr "``control.py`` の詳細" + +#: ../iot/learn_more_about_control.py.rst:4 +msgid "" +"In order to better understand the projects that follow, let's take a " +"look at the official sample code provided by Cloud4RPi." +msgstr "" +"以下のプロジェクトをよりよく理解するために、Cloud4RPiによって提供される公" +"式のサンプルコードを見てみましょう。" + +#: ../iot/learn_more_about_control.py.rst:8 +msgid "" +"Please complete the previous section :ref:`Quick Guide on Cloud4RPi` " +"before viewing this section." +msgstr "" +"このセクションを表示する前に、前のセクション :ref:`Quick Guide on " +"Cloud4RPi` を完了してください。" + +#: ../iot/learn_more_about_control.py.rst:10 +msgid "Open the ``control.py`` file." +msgstr "``control.py`` ファイルを開きます。" + +#: ../iot/learn_more_about_control.py.rst:21 +msgid "" +"Cloud4RPi will set a device token for each one, and you need to fill in " +"the variable DEVICE_TOKEN with the correct device token in order to " +"connect to the corresponding device." +msgstr "" +"Cloud4RPiはそれぞれにDEVICE_TOKENを設定します。対応するデバイスに接続する" +"には、変数DEVICE_TOKENに正しいDEVICE_TOKENを入力する必要があります。" + +#: ../iot/learn_more_about_control.py.rst:27 +msgid "" +"``variables`` is a 2-dimensional dictionary, and the value corresponding " +"to each of its keys is also a dictionary." +msgstr "``variable`` は2次元辞書であり、その各キーに対応する値も辞書です。" + +#: ../iot/learn_more_about_control.py.rst:29 +msgid "" +"The keys of the ``variables`` dictionary are ``'Room Temp'``, ``'LED " +"On'``, ``'CPU Temp'``, ``'STATUS'``, ``'Location'``, which are all data " +"displayed on the Control Panel's widgets." +msgstr "" +"``variables`` 辞書のキーは ``'Room Temp'``、``'LED On'``、``'CPU温度'``、``'STATUS'``、 " +"``'Location'``、これはすべてコントロールパネルのウィジェットに表示されるデータです。" + +#: ../iot/learn_more_about_control.py.rst:31 +msgid "" +"The value of each key in the ``variables`` dictionary is also a " +"dictionary, and the keys of these dictionaries are the same, where the " +"value of the ``'bind'`` key is a function that can return the " +"transferred content, and the ``'type'`` is the data type of the " +"transferred content (``'numeric'`` is a numeric type, ``'string'`` is a " +"string type, ``'bool'`` is a boolean type, and ``'location'`` is a list " +"containing two dictionaries)." +msgstr "" +"``variables`` 辞書の各キーの値も辞書であり、これらの辞書のキーは同じです。" +"ここで、``'bind'`` キーの値は、転送されたコンテンツを返すことができる関数" +"です。 、および ``'type'`` は転送されたコンテンツのデータ型です" +"(``'numeric'`` は数値型、``'string'`` は文字列型、``'bool'`` はブール型であ" +"り、``'location'`` は2つの辞書を含むリストです)。" + +#: ../iot/learn_more_about_control.py.rst:33 +msgid "" +"Through the analysis of the ``variables`` dictionary, we can know that " +"Cloud4RPi will read the keys of the ``variables`` dictionary and display " +"the value corresponding to the key in the Control Panel. Obviously we " +"cannot change the keys of the ``variables`` dictionary, but we can " +"change the value in the key (the value of the ``'bind'`` dictionary) to " +"let the widgets display the content we want." +msgstr "" +"``variables`` ディクショナリの分析を通じて、Cloud4RPiが ``variables`` ディク" +"ショナリのキーを読み取り、そのキーに対応する値をコントロールパネルに表示" +"することがわかります。 もちろん、``variables`` ディクショナリのキーを変更" +"することはできませんが、キーの値(``'bind'`` ディクショナリの値)を変更し" +"て、widgetに必要なコンテンツを表示させることはできます。" + +#: ../iot/learn_more_about_control.py.rst:35 +msgid "" +"For example, if we want to send humidity values to Cloud4RPi, we cannot " +"add a new key to the ``variables`` dictionary, but we can borrow a key, " +"such as the ``'Room Temp'`` key, and then write the function that " +"returns the humidity value in the corresponding ``'bind'`` key." +msgstr "" +"たとえば、湿度値をCloud4RPiに送信する場合、``variables`` ディクショナリに" +"新しいキーを追加することはできませんが、``'Room Temp'`` キーなどのキーを借" +"用してから、 対応する ``'bind'`` キーに湿度値を返す関数を記述します。" + +#: ../iot/learn_more_about_control.py.rst:62 +msgid "" +"The ``vdiagnostics`` stores information about the Raspberry Pi and is " +"used to verify and prevent misconnections." +msgstr "" +"``vdiagnostics`` は、Raspberry Piに関する情報を保存し、誤接続を検証および" +"防止するために使用されます。" diff --git a/docs/source/locale/ja/LC_MESSAGES/iot/quick_guide_on_cloud4RPi.po b/docs/source/locale/ja/LC_MESSAGES/iot/quick_guide_on_cloud4RPi.po new file mode 100644 index 0000000..d2b0b36 --- /dev/null +++ b/docs/source/locale/ja/LC_MESSAGES/iot/quick_guide_on_cloud4RPi.po @@ -0,0 +1,166 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, sunfounder +# This file is distributed under the same license as the SunFounder Da Vinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Da Vinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-09 11:07+0800\n" +"PO-Revision-Date: 2021-08-02 18:22+0800\n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../iot/quick_guide_on_cloud4RPi.rst:2 +msgid "Quick Guide on Cloud4RPi" +msgstr "Cloud4RPiのクイックガイド" + +#: ../iot/quick_guide_on_cloud4RPi.rst:5 +msgid "Install Cloud4RPi in Your Raspberry Pi" +msgstr "RaspberryPiにCloud4RPiをインストールします" + +#: ../iot/quick_guide_on_cloud4RPi.rst:7 +msgid "It is advisable to update your system before installing." +msgstr "インストールする前にシステムを更新することをお勧めします。" + +#: ../iot/quick_guide_on_cloud4RPi.rst:17 +msgid "Install/update the required packages." +msgstr "必要なパッケージをインストール/更新します。" + +#: ../iot/quick_guide_on_cloud4RPi.rst:27 +msgid "Install Cloud4RPi with the following command:" +msgstr "次のコマンドを使用してCloud4RPiをインストールします。" + +#: ../iot/quick_guide_on_cloud4RPi.rst:39 +msgid "" +"This tutorial provides the installation method for Python 3.0 and above. " +"For lower versions of Python, the commands may need to be modified." +msgstr "" +"このチュートリアルでは、Python3.0以降のインストール方法について説明します。 " +"3.0以前のバージョンでは、コマンドを変更する必要がある場合があります。" + +#: ../iot/quick_guide_on_cloud4RPi.rst:42 +msgid "Login to Cloud4RPi on Your Computer" +msgstr "PCでCloud4RPiにログインします" + +#: ../iot/quick_guide_on_cloud4RPi.rst:44 +msgid "Open Chromium Web Browser and enter this link: https://cloud4rpi.io." +msgstr "Chromium Webブラウザを開き、次のリンクを入力します:https://cloud4rpi.io。" + +#: ../iot/quick_guide_on_cloud4RPi.rst:49 +msgid "" +"Before using it, you need to register and log in to your Cloud4RPi " +"account." +msgstr "使用する前に、Cloud4RPiアカウントに登録してログインする必要があります。" + +#: ../iot/quick_guide_on_cloud4RPi.rst:54 +msgid "" +"Once logged in, you should see two buttons at the top of Cloud4RPi, " +"**Devices** to display the device connections and **Control Panels** to " +"display the information received or sent from the Raspberry Pi on the " +"webpage." +msgstr "" +"ログインすると、Cloud4RPiの上部に2つのボタンが表示されます。**Devices** はデバイス接続を表示し、**Control " +"Panels** はRaspberryPiから送受信された情報をWebページに表示します。" + +#: ../iot/quick_guide_on_cloud4RPi.rst:60 +msgid "Connect Your Raspberry Pi to Cloud4RPi" +msgstr "RaspberryPiをCloud4RPiに接続します" + +#: ../iot/quick_guide_on_cloud4RPi.rst:62 +msgid "" +"After logging in, click the **Devices** option, and then click **New " +"Device**." +msgstr "ログイン後、**Devices** オプションをクリックし、**New Device** をクリックします。" + +#: ../iot/quick_guide_on_cloud4RPi.rst:68 +msgid "" +"Give the new device a name, and copy the current **Device token** to the " +"clipboard." +msgstr "新しいデバイスに名前を付け、現在の **Device token** をクリップボードにコピーします。" + +#: ../iot/quick_guide_on_cloud4RPi.rst:73 +msgid "" +"Open the terminal of the Raspberry Pi and download the test examples " +"provided by Cloud4RPi." +msgstr "Raspberry Piのターミナルを開き、Cloud4RPiが提供するテスト例をダウンロードします。" + +#: ../iot/quick_guide_on_cloud4RPi.rst:84 +msgid "" +"Use a text editor such as Nano to modify the content of the " +"``control.py`` file." +msgstr "Nanoなどのテキストエディタを使用して、``control.py`` ファイルのコンテンツを変更します。" + +#: ../iot/quick_guide_on_cloud4RPi.rst:95 +msgid "Find the following line of code." +msgstr "次のコード行を見つけます。" + +#: ../iot/quick_guide_on_cloud4RPi.rst:101 +msgid "" +"Replace ``__YOUR_DEVICE_TOKEN__`` with the **Device token** copied from " +"the Cloud4RPi. Press ``Ctrl + X`` to complete the modification." +msgstr "" +"``__YOUR_DEVICE_TOKEN__`` をCloud4RPiからコピーされた **Device token** " +"に置き換えます。``Ctrl + X`` を押して変更を完了します。" + +#: ../iot/quick_guide_on_cloud4RPi.rst:107 +msgid "Run the sample file ``control.py``." +msgstr "サンプルファイル ``control.py`` を実行します。" + +#: ../iot/quick_guide_on_cloud4RPi.rst:117 +msgid "" +"Browse back to the Cloud4RPi server page. If your Raspberry Pi is " +"connected to Cloud4RPi, the device information will turn green." +msgstr "Cloud4RPiサーバーページに戻ります。 Raspberry PiがCloud4RPiに接続されている場合、デバイス情報は緑色に変わります。" + +#: ../iot/quick_guide_on_cloud4RPi.rst:123 +msgid "Using the Cloud4RPi Control Panels" +msgstr "Cloud4RPiコントロールパネルの使用" + +#: ../iot/quick_guide_on_cloud4RPi.rst:125 +msgid "" +"The control panel on the Cloud4RPi server provides many useful widgets " +"for IoT applications. These widgets can be used to control the conponents" +" or display sensor data." +msgstr "" +"Cloud4RPiサーバーのコントロールパネルは、IoTアプリケーションに役立つ多くのwidgetを提供します。 " +"これらのwidgetを使用して、コンポーネントを制御したり、センサーデータを表示したりできます。" + +#: ../iot/quick_guide_on_cloud4RPi.rst:127 +msgid "After entering **Control Panels**, click the **New Control Panel** button." +msgstr "**Control Panels** に入ったら、**New Control Panel** ボタンをクリックします。" + +#: ../iot/quick_guide_on_cloud4RPi.rst:131 +msgid "Always run the ``control.py`` file before using the Control Panel." +msgstr "コントロールパネルを使用する前に、必ず ``control.py`` ファイルを実行してください。" + +#: ../iot/quick_guide_on_cloud4RPi.rst:136 +msgid "Enter a Control Panel name, and then click on the **Add Widget** button." +msgstr "コントロールパネルの名前を入力し、**Add Widget** ボタンをクリックします。" + +#: ../iot/quick_guide_on_cloud4RPi.rst:141 +msgid "" +"Before clicking the **Add Widget** button again, you need to select the " +"appropriate widget and the variable to be displayed." +msgstr "**Add Widget** ボタンをもう一度クリックする前に、適切なwidgetと表示する変数を選択する必要があります。" + +#: ../iot/quick_guide_on_cloud4RPi.rst:146 +msgid "" +"For example, we select the **Text** widget and then select **Hot Water " +"°C**, so that we can see it on the newly created control panel." +msgstr "" +"たとえば、**Text** widgetを選択してから **Hot Water °C** " +"を選択すると、新しく作成されたコントロールパネルに表示されます。" + +#: ../iot/quick_guide_on_cloud4RPi.rst:153 +msgid "" +"We will introduce these displayed data in detail in the chapter " +":ref:`Learn More about ``control.py```." +msgstr "これらの表示データについては、この章で詳しく紹介します :ref:`Learn More about ``control.py```。" + diff --git a/docs/source/locale/ja/LC_MESSAGES/iot/remote_switch.po b/docs/source/locale/ja/LC_MESSAGES/iot/remote_switch.po new file mode 100644 index 0000000..ada6652 --- /dev/null +++ b/docs/source/locale/ja/LC_MESSAGES/iot/remote_switch.po @@ -0,0 +1,105 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, sunfounder +# This file is distributed under the same license as the SunFounder Da Vinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Da Vinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-07-29 17:00+0800\n" +"PO-Revision-Date: 2021-08-04 12:01+0800\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" +"Last-Translator: \n" +"Language-Team: \n" +"X-Generator: Poedit 2.4.3\n" + +#: ../iot/remote_switch.rst:2 +msgid "Remote Switch" +msgstr "リモートスイッチ" + +#: ../iot/remote_switch.rst:4 +msgid "" +"In this project, we will learn to use Cloud4RPi's Switch to control the " +"relay, thereby controlling the relay's load-LED. You can also change the " +"load of the relay to household appliances, but with safety in mind." +msgstr "" +"このプロジェクトでは、Cloud4RPiのスイッチを使用してリレーを制御し、それに" +"よってリレーの負荷LEDを制御する方法を学習します。 安全性を考慮して、リ" +"レーの負荷を家電製品に変更することもできます。" + +#: ../iot/remote_switch.rst:7 +msgid "Experimental Procedures" +msgstr "実験手順" + +#: ../iot/remote_switch.rst:9 +msgid "Build the circuit." +msgstr "回路を構築します。" + +#: ../iot/remote_switch.rst:14 +msgid "Open the code." +msgstr "コードを開きます。" + +#: ../iot/remote_switch.rst:25 +msgid "Find the line below and fill in the correct device token." +msgstr "以下の行を見つけて、正しいデバイストークンを入力してください。" + +#: ../iot/remote_switch.rst:31 +msgid "Run the code." +msgstr "コードを実行します。" + +#: ../iot/remote_switch.rst:41 +msgid "" +"Go to Cloud4RPi, add a new Control Panel named project2, and click **Add " +"Widget** to add a **Switch** widget." +msgstr "" +"Cloud4RPiに移動し、project2という名前の新しいコントロールパネルを追加し、" +"**Add Widget** をクリックして **Switch** widgetを追加します。" + +#: ../iot/remote_switch.rst:46 +msgid "Once added, you can use the Switch widget to control the relay." +msgstr "追加すると、Switch widgetを使用してリレーを制御できます。" + +#: ../iot/remote_switch.rst:52 +msgid "Code Explanation" +msgstr "コードの説明" + +#: ../iot/remote_switch.rst:58 +msgid "Relay connected to GPIO18 of the T-expansion board." +msgstr "T拡張ボードのGPIO18に接続されたリレー。" + +#: ../iot/remote_switch.rst:65 +msgid "Set to BCM nomenclature and set ``RELAY_PIN`` to output." +msgstr "BCMの命名法に設定し、``RELAY_PIN`` を出力に設定します。" + +#: ../iot/remote_switch.rst:73 +msgid "" +"This function controls the relay according to the ``value`` and returns " +"the current level of the relay." +msgstr "" +"この関数は、``value`` に従ってリレーを制御し、リレーの現在のレベルを返しま" +"す。" + +#: ../iot/remote_switch.rst:77 +msgid "" +"Since the relay works at high level, the relay closes when the switch " +"state is True and opens when the switch state is False." +msgstr "" +"リレーは高レベルで動作するため、スイッチの状態がTrueの場合はリレーが閉" +"じ、スイッチの状態がFalseの場合はリレーが開きます。" + +#: ../iot/remote_switch.rst:89 +msgid "" +"By setting the value of the ``'value'`` key, we can set the initial " +"value of the Switch widget, then always read the value of the " +"``'value'`` key and send the current level of ``RELAY_PIN`` (the value " +"returned by the function ``relay_control()``) to Cloud4RPi." +msgstr "" +"``'value'`` キーの値を設定することで、Switch widgetの初期値を設定し、常に" +" ``'value'`` キーの値を読み取り、現在のレベルの ``RELAY_PIN`` を送信できま" +"す。(関数 ``relay_control()`` によって返される値)をCloud4RPiに送信しま" +"す。" diff --git a/docs/source/locale/ja/LC_MESSAGES/iot/smart_curtain.po b/docs/source/locale/ja/LC_MESSAGES/iot/smart_curtain.po new file mode 100644 index 0000000..2ed7e42 --- /dev/null +++ b/docs/source/locale/ja/LC_MESSAGES/iot/smart_curtain.po @@ -0,0 +1,112 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, sunfounder +# This file is distributed under the same license as the SunFounder Da Vinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Da Vinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-07-29 17:00+0800\n" +"PO-Revision-Date: 2021-08-04 17:42+0800\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" +"Last-Translator: \n" +"Language-Team: \n" +"X-Generator: Poedit 2.4.3\n" + +#: ../iot/smart_curtain.rst:2 +msgid "Smart Curtain" +msgstr "スマートカーテン" + +#: ../iot/smart_curtain.rst:5 +msgid "" +"In this project, we will simulate a scenario where the curtains are " +"automatically opened or closed according to the brightness of the room. " +"When the photoresistor detects that the room brightness is too bright, " +"Raspberry Pi will drive the motor to close the curtain; when the room " +"brightness is too dark, the curtain will be opened." +msgstr "" +"このプロジェクトでは、部屋の明るさに応じてカーテンが自動的に開閉するシナ" +"リオをシミュレートします。 フォトレジスターが部屋の明るさが明るすぎること" +"を検出すると、RaspberryPiがモーターを駆動してカーテンを閉じます。 部屋の" +"明るさが暗すぎるとカーテンが開きます。" + +#: ../iot/smart_curtain.rst:8 +msgid "" +"Also you can view the indoor brightness change through text widget on " +"Cloud4RPi, or control the lamp with Switch widget (for electricity " +"safety, this experiment uses LED instead)." +msgstr "" +"また、Cloud4RPiのテキストwidgetで室内の明るさの変化を確認したり、スイッチ" +"widgetでランプを制御したりできます(電気の安全のため、この実験では代わり" +"にLEDを使用します)。" + +#: ../iot/smart_curtain.rst:12 +msgid "Experimental Procedures" +msgstr "実験手順" + +#: ../iot/smart_curtain.rst:14 +msgid "Build the circuit." +msgstr "回路を構築します。" + +#: ../iot/smart_curtain.rst:19 +msgid "Open the code." +msgstr "コードを開きます。" + +#: ../iot/smart_curtain.rst:30 +msgid "Find the line below and fill in the correct device token." +msgstr "以下の行を見つけて、正しいdevice tokenを入力してください。" + +#: ../iot/smart_curtain.rst:36 +msgid "Run the code." +msgstr "コードを実行します。" + +#: ../iot/smart_curtain.rst:46 +msgid "" +"Go to Cloud4RPi, add a new control panel named **project4** and add 3 " +"widgets (Switch, Text and Chart widgets) via the **Add Widget** button." +msgstr "" +"Cloud4RPiに移動し、**project4** という名前の新しいコントロールパネルを追加" +"し、**Add Widget** ボタンを使用して3つのwidget(Switch, TextおよびChart)" +"を追加します。" + +#: ../iot/smart_curtain.rst:51 +msgid "" +"Once added, you can use the Switch widget to control the LED; the value " +"of the photoresistor on the Text widget will be updated every 1 minute, " +"when the value > 100, the motor rotates clockwise for 5 seconds; if the " +"value is less than 20, the motor rotates counterclockwise for 5 seconds. " +"You can see the change over time in the Chart widget." +msgstr "" +"追加すると、Switch widgetを使用してLEDを制御できます。 Text widgetの" +"photoresistorの値は1分ごとに更新され、値が100を超えると、モーターが時計回" +"りに5秒間回転します。 値が20未満の場合、モーターは反時計回りに5秒間回転し" +"ます。 Chart widgetで時間の経過に伴う変化を確認できます。" + +#: ../iot/smart_curtain.rst:55 +msgid "Code Explanation" +msgstr "コードの説明" + +#: ../iot/smart_curtain.rst:71 +msgid "" +"Read the value of channel CH0 (with photoresistor connected) of the " +"ADC0834. If the value is >100, the motor rotates clockwise for 5 " +"seconds. If the value is less than 20, the motor rotates " +"counterclockwise for 5 seconds." +msgstr "" +"ADC0834のチャネルCH0(photoresistorが接続されている)の値を読み取りま" +"す。 値が>100の場合、モーターは時計回りに5秒間回転します。 値が20未満の場" +"合、モーターは反時計回りに5秒間回転します。" + +#: ../iot/smart_curtain.rst:80 +msgid "" +"Pass ``getValue()`` into the ``'bind'`` key as a callback function, so " +"that the brightness value (the return value of the ``getValue()`` " +"function) can be sent to the Text widget." +msgstr "" +"callback関数として ``getValue()`` を ``'bind'`` キーに渡して、明るさの値" +"(``getValue()`` 関数の戻り値)をText widgetに送信できるようにします 。" diff --git a/docs/source/locale/ja/LC_MESSAGES/iot/smart_light.po b/docs/source/locale/ja/LC_MESSAGES/iot/smart_light.po new file mode 100644 index 0000000..8f31342 --- /dev/null +++ b/docs/source/locale/ja/LC_MESSAGES/iot/smart_light.po @@ -0,0 +1,98 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, sunfounder +# This file is distributed under the same license as the SunFounder Da Vinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Da Vinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-07-29 17:00+0800\n" +"PO-Revision-Date: 2021-08-04 17:51+0800\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" +"Last-Translator: \n" +"Language-Team: \n" +"X-Generator: Poedit 2.4.3\n" + +#: ../iot/smart_light.rst:2 +msgid "Smart Light" +msgstr "スマートライト" + +#: ../iot/smart_light.rst:4 +msgid "" +"In this project, we will learn to control the brightness of LED with " +"Cloud4RPi's Silder widget." +msgstr "" +"このプロジェクトでは、Cloud4RPiのSilder widgetを使用してLEDの明るさを制御" +"する方法を学びます。" + +#: ../iot/smart_light.rst:7 +msgid "Experimental Procedures" +msgstr "実験手順" + +#: ../iot/smart_light.rst:9 +msgid "Build the circuit." +msgstr "回路を構築します。" + +#: ../iot/smart_light.rst:14 +msgid "Open the code." +msgstr "コードを開きます。" + +#: ../iot/smart_light.rst:25 +msgid "Find the line below and fill in the correct device token." +msgstr "以下の行を見つけて、正しいdevice tokenを入力してください。" + +#: ../iot/smart_light.rst:31 +msgid "Run the code." +msgstr "コードを実行します。" + +#: ../iot/smart_light.rst:41 +msgid "" +"Go to Cloud4RPi, add a new Control Panel named project3, and click **Add " +"Widget** to add a **Slider** widget." +msgstr "" +"Cloud4RPiに移動し、project3という名前の新しいコントロールパネルを追加し、" +"**Add Widget** をクリックして **Slider** widgetを追加します。" + +#: ../iot/smart_light.rst:46 +msgid "" +"Once added, you can use the Slider widget to control the brightness of " +"the LED." +msgstr "追加すると、Slider widgetを使用してLEDの明るさを制御できます。" + +#: ../iot/smart_light.rst:52 +msgid "Code Explanation" +msgstr "コードの説明" + +#: ../iot/smart_light.rst:59 +msgid "" +"Call the ``GPIO.PWM()`` function to define ``LED_PIN`` as PWM pin and " +"set the frequency of PWM pin to 2000Hz, then use the ``start()`` " +"function to set the initial duty cycle to 0." +msgstr "" +"``GPIO.PWM()`` 関数を呼び出して ``LED_PIN`` をPWMピンとして定義し、PWMピンの" +"周波数を2000Hzに設定してから、``start()`` 関数を使用して初期デューティサイ" +"クルを0 に設定します。" + +#: ../iot/smart_light.rst:65 +msgid "" +"The value sent by Slider widget to Raspberry Pi is used as PWM duty " +"cycle to change the brightness of the LED." +msgstr "" +"Slider widgetからRaspberryPiに送信された値は、LEDの明るさを変更するための" +"PWMデューティサイクルとして使用されます。" + +#: ../iot/smart_light.rst:77 +msgid "" +"By setting the value of the ``'value'`` key, we can set the initial " +"value of the Slider widget, then always read the value of the " +"``'value'`` key and send the current level of ``LED_PIN`` (the value " +"returned by the function ``led_control``) to Cloud4RPi." +msgstr "" +"``'value'`` キーの値を設定することで、Slider widgetの初期値を設定し、常に" +" ``'value'`` キーの値を読み取り、現在のレベルの ``LED_PIN`` を送信できます。 " +"(関数 ``led_control`` によって返される値)をCloud4RPiに送信します。" diff --git a/docs/source/locale/ja/LC_MESSAGES/iot/temperature_and_humidity_acquisition.po b/docs/source/locale/ja/LC_MESSAGES/iot/temperature_and_humidity_acquisition.po new file mode 100644 index 0000000..bbc8565 --- /dev/null +++ b/docs/source/locale/ja/LC_MESSAGES/iot/temperature_and_humidity_acquisition.po @@ -0,0 +1,111 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, sunfounder +# This file is distributed under the same license as the SunFounder Da Vinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Da Vinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-07-29 17:00+0800\n" +"PO-Revision-Date: 2021-08-04 17:59+0800\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" +"Last-Translator: \n" +"Language-Team: \n" +"X-Generator: Poedit 2.4.3\n" + +#: ../iot/temperature_and_humidity_acquisition.rst:2 +msgid "Temperature and Humidity Acquisition" +msgstr "温度と湿度の取得" + +#: ../iot/temperature_and_humidity_acquisition.rst:4 +msgid "" +"In this project, we use DHT11 to read the surrounding temperature and " +"humidity, and then display them on Cloud4RPi." +msgstr "" +"このプロジェクトでは、DHT11を使用して周囲の温度と湿度を読み取り、" +"Cloud4RPiに表示します。" + +#: ../iot/temperature_and_humidity_acquisition.rst:7 +msgid "Experimental Procedures" +msgstr "実験手順" + +#: ../iot/temperature_and_humidity_acquisition.rst:9 +msgid "Build the circuit." +msgstr "回路を構築します。" + +#: ../iot/temperature_and_humidity_acquisition.rst:14 +msgid "Open the code." +msgstr "コードを開きます。" + +#: ../iot/temperature_and_humidity_acquisition.rst:25 +msgid "Find the line below and fill in the correct device token." +msgstr "以下の行を見つけて、正しいdevice tokenを入力してください。" + +#: ../iot/temperature_and_humidity_acquisition.rst:31 +msgid "Run the code." +msgstr "コードを実行します。" + +#: ../iot/temperature_and_humidity_acquisition.rst:41 +msgid "" +"Go to Cloud4RPi, add a new Control Panel named project1, and click **Add " +"Widget**." +msgstr "" +"Cloud4RPiに移動し、project1という名前の新しいコントロールパネルを追加し" +"て、**Add Widget** をクリックします。" + +#: ../iot/temperature_and_humidity_acquisition.rst:46 +msgid "" +"Select a **Chart** widget with both **Room Temp** and **CPU Temp** as " +"the variables to be displayed." +msgstr "" +"表示する変数として **Room Temp** と **CPU Temp** の両方を含む **Chart** widget" +"を選択します。" + +#: ../iot/temperature_and_humidity_acquisition.rst:52 +msgid "" +"Once added, you will see the temperature (Room Temp) and humidity (CPU " +"Temp) curves over time, and you can adjust the display window by " +"clicking on the options at the bottom right." +msgstr "" +"追加すると、時間の経過に伴う温度(室温)と湿度(CPU温度)の曲線が表示され" +"ます。右下のオプションをクリックして、表示ウィンドウを調整できます。" + +#: ../iot/temperature_and_humidity_acquisition.rst:58 +msgid "Code Explanation" +msgstr "コードの説明" + +#: ../iot/temperature_and_humidity_acquisition.rst:64 +msgid "Instantiate a dht11 object." +msgstr "dht11オブジェクトをインスタンス化します。" + +#: ../iot/temperature_and_humidity_acquisition.rst:77 +msgid "" +"The temperature (``result[1]``) is obtained by this function, and the " +"function will not be interrupted until the reading is successful." +msgstr "" +"温度(``result[1]``)はこの関数によって取得され、読み取りが成功するまで関" +"数は中断されません。" + +#: ../iot/temperature_and_humidity_acquisition.rst:90 +msgid "" +"The humidity (``result[0]``) is obtained by this function, and the " +"function will not be interrupted until the reading is successful." +msgstr "" +"湿度(``result[0]``)はこの関数によって取得され、読み取りが成功するまで関" +"数は中断されません。" + +#: ../iot/temperature_and_humidity_acquisition.rst:105 +msgid "" +"The temperature is stored in the ``'bind'`` of the ``'Room Temp'`` key, " +"and the humidity is stored in the ``'bind'`` of the ``'CPU Temp'`` key. " +"When Cloud4RPi receives the ``variables`` dictionary, it will convert it " +"into a JavaScript object that can be recognized by the web page." +msgstr "" +"温度は ``'Room Temp'`` キーの ``'bind'`` に保存され、湿度は ``'CPU Temp'`` キー" +"の ``'bind'`` に保存されます 。 Cloud4RPiは、``variables`` 辞書を受け取る" +"と、それをWebページで認識できるJavaScriptオブジェクトに変換します。" diff --git a/docs/source/locale/ja/LC_MESSAGES/libraries.po b/docs/source/locale/ja/LC_MESSAGES/libraries.po new file mode 100644 index 0000000..351d5ea --- /dev/null +++ b/docs/source/locale/ja/LC_MESSAGES/libraries.po @@ -0,0 +1,122 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, SunFounder +# This file is distributed under the same license as the SunFounder Davinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Davinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-19 18:22+0800\n" +"PO-Revision-Date: 2021-06-07 09:48+0800\n" +"Last-Translator: \n" +"Language: ja\n" +"Language-Team: \n" +"Plural-Forms: nplurals=1; plural=0\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../libraries.rst:2 +msgid "Libraries" +msgstr "ライブラリ" + +#: ../libraries.rst:4 +msgid "" +"Two important libraries are used in programming with Raspberry Pi, and " +"they are wiringPi and RPi.GPIO. The Raspberry Pi OS installs them by " +"default, so you can use them directly." +msgstr "" +"Raspberry " +"Piを使用したプログラミングでは、wiringPiとRPi.GPIOという2つの重要なライブラリが使用されている。Raspberry " +"PiのRaspbian OSイメージはデフォルトでそれらを実装するため、直接使用できる。" + +#: ../libraries.rst:9 +msgid "RPi.GPIO" +msgstr "RPi.GPIO" + +#: ../libraries.rst:11 +msgid "" +"If you are a Python user, you can program GPIOs with API provided by " +"RPi.GPIO." +msgstr "Pythonユーザーの場合、RPi.GPIOが提供するAPIを使用してGPIOをプログラミングできる。" + +#: ../libraries.rst:14 +msgid "" +"RPi.GPIO is a module to control Raspberry Pi GPIO channels. This package " +"provides a class to control the GPIO on a Raspberry Pi. For examples and " +"documents, visit: http://sourceforge.net/p/raspberry-gpio-" +"python/wiki/Home/." +msgstr "" +"RPi.GPIOは、Raspberry Pi GPIOチャネルを制御するモジュールである。このパッケージはRaspberry " +"PiでGPIOを制御するクラスを提供する。例とドキュメントについては、次のURLにアクセスしてください:\n" +"http://sourceforge.net/p/raspberry-gpio-python/wiki/Home/。" + +#: ../libraries.rst:18 +msgid "Test whether RPi.GPIO is installed or not, type in python:" +msgstr "RPi.GPIOが実装されているかどうかをテストするには、Pythonを入力する:" + +#: ../libraries.rst:31 + +msgid "" +"In Python CLI, input \\\"import RPi.GPIO\\\", If no error prompts, it " +"means RPi.GPIO is installed." +msgstr "Python CLIで、「import RPi.GPIO」と入力する。エラーが表示されない場合は、RPi.GPIOの実装が完了したと意味する。" + +#: ../libraries.rst:46 +msgid "If you want to quit python CLI, type in:" +msgstr "Python CLIを終了する場合は、次を入力する:" + +#: ../libraries.rst:62 +msgid "WiringPi" +msgstr "WiringPi" + +#: ../libraries.rst:64 +msgid "" +"wiringPi is a C language GPIO library applied to the Raspberry Pi " +"platform. It complies with GUN Lv3. The functions in wiringPi are similar" +" to those in the wiring system of Arduino. They enable the users familiar" +" with Arduino to use wiringPi more easily." +msgstr "" +"wiringPiは、Raspberry Piプラットフォームに適用されるC言語のGPIOライブラリである。GUN " +"Lv3に準拠している。wiringPi " +"の機能は、Arduinoの配線システムの機能と似ている。Arduinoに精通したユーザーは、wiringPiをより簡単に使用できる。" + +#: ../libraries.rst:69 +msgid "" +"wiringPi includes lots of GPIO commands which enable you to control all " +"kinds of interfaces on Raspberry Pi. You can test whether the wiringPi " +"library is installed successfully or not by the following instructions." +msgstr "" +"wiringPiには、Raspberry " +"Piのあらゆる種類のインターフェイスを制御できる多数のGPIOコマンドが含まれている。以下の手順により、wiringPiライブラリが正常に実装されたかどうかをテストできる。" + +#: ../libraries.rst:87 +msgid "" +"If you are using Raspberry Pi 4B, but the GPIO version is **2.50**, it " +"will cause no response after the C language code is running, that is, " +"GPIO pins do not work. At this time, you need to manually update to " +"version **2.52**, the update steps are as follows :" +msgstr "" +"Raspberry Pi 4Bを使用している場合、GPIOのバージョンは **2.50** " +"なので、C言語コードを実行した後応答が来ないです。つまり、GPIOピンは機能しません。解決策では、手動でGPIOバージョンを **2.52** " +"に更新する必要があります。更新手順は次の通りです:" + +#: ../libraries.rst:102 +msgid "Check with:" +msgstr "と確認します:" + +#: ../libraries.rst:112 +msgid "and make sure it’s version 2.52." +msgstr "をクリックし、バージョン2.52であることを確認してください。" + +#: ../libraries.rst:125 +msgid "" +"For more details about wiringPi, you can refer to `WiringPi " +"`_." +msgstr "" +"ワイヤリングパイの詳細については、以下を参照してください `WiringPi `_。" + diff --git a/docs/source/locale/ja/LC_MESSAGES/preparation.po b/docs/source/locale/ja/LC_MESSAGES/preparation.po new file mode 100644 index 0000000..8741817 --- /dev/null +++ b/docs/source/locale/ja/LC_MESSAGES/preparation.po @@ -0,0 +1,38 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, SunFounder +# This file is distributed under the same license as the SunFounder Davinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Davinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-06-09 15:48+0800\n" +"PO-Revision-Date: 2021-06-09 16:14+0800\n" +"Last-Translator: \n" +"Language: ja\n" +"Language-Team: \n" +"Plural-Forms: nplurals=1; plural=0;\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" +"X-Generator: Poedit 2.4.3\n" + +#: ../preparation.rst:2 +msgid "Preparation" +msgstr "準備" + +#: ../preparation.rst:4 +msgid "In this chapter, we firstly learn to start up Raspberry Pi. The content includes installing the OS, Raspberry Pi network and how to open terminal." +msgstr "この章では、まずラズベリーパイの起動方法を学びます。内容には、オペレーティングシステム、ラズベリーパイネットワークをインストールする方法とターミナルの開き方が含まれます。" + +#: ../preparation.rst:9 +msgid "" +"You can check the complete tutorial on the official website of the Raspberry Pi: `raspberry-pi-setting-up `_." +msgstr "完全なチュートリアルは、ラズベリーパイの公式サイト: `raspberry-pi-setting-up `_ 。" + +#: ../preparation.rst:11 +msgid "If your Raspberry Pi is set up, you can skip the part and go into the next chapter." +msgstr "ラズベリーパイがセットアップされている場合は、この部分をスキップして次の章に進むことができます。" diff --git a/docs/source/locale/ja/LC_MESSAGES/processing/blinking_dot.po b/docs/source/locale/ja/LC_MESSAGES/processing/blinking_dot.po new file mode 100644 index 0000000..27f9a72 --- /dev/null +++ b/docs/source/locale/ja/LC_MESSAGES/processing/blinking_dot.po @@ -0,0 +1,115 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, sunfounder +# This file is distributed under the same license as the SunFounder Da Vinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Da Vinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-07-29 17:00+0800\n" +"PO-Revision-Date: 2021-07-30 18:20+0800\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" +"Last-Translator: \n" +"Language-Team: \n" +"X-Generator: Poedit 2.4.3\n" +"Language: ja\n" + +#: ../processing/blinking_dot.rst:2 +msgid "Blinking Dot" +msgstr "Blinking Dot(ドットの点滅)" + +#: ../processing/blinking_dot.rst:4 +msgid "" +"In this project, we will draw a dot on Processing, which blinks " +"synchronously with the LED. Please build the circuit as shown in the " +"diagram and run the sketch." +msgstr "" +"このプロジェクトでは、LEDと同期して点滅するProcessingにドットを描画しま" +"す。図に示すように回路を構築し、スケッチを実行してください。" + +#: ../processing/blinking_dot.rst:10 +msgid "**Wiring**" +msgstr "**回路**" + +#: ../processing/blinking_dot.rst:14 +msgid "**Sketch**" +msgstr "**スケッチ**" + +#: ../processing/blinking_dot.rst:40 +msgid "**How it works?**" +msgstr "**原理**" + +#: ../processing/blinking_dot.rst:42 +msgid "" +"At the beginning of the sketch, you need to embed Processing's GPIO " +"function library by ``import processing.io.*;``, which is indispensable " +"for circuit experiments." +msgstr "" +"スケッチの最初に、回路実験に不可欠な ``importprocessing.io.*;`` を使用して" +"ProcessingのGPIO関数ライブラリを埋め込む必要があります。" + +#: ../processing/blinking_dot.rst:44 +msgid "" +"**Frame rate** is the frequency of bitmaps appearing on the board, " +"expressed in hertz (Hz). In other words, it is also the frequency at " +"which the ``draw()`` function is called. In ``setup()``, setting the " +"**frame rate** to 2 will call ``draw()`` every 0.5s." +msgstr "" +"**フレームレート** は、ボードに表示されるビットマップの周波数であり、ヘル" +"ツ(Hz)で表されます。つまり、``draw()`` 関数が呼び出される頻度でもあり" +"ます。 ``setup()`` で、**フレームレート** を2に設定すると、0.5秒ごとに" +" ``draw()`` が呼び出されます。" + +#: ../processing/blinking_dot.rst:46 +msgid "" +"Each call of the ``draw()`` function takes the inverse of ``state`` and " +"subsequently determines it. If the value is ``true``, the LED is lit and " +"the brush is filled with red; if not, the LED is turned off and the " +"brush is filled with gray." +msgstr "" +"``draw()`` 関数の各呼び出しは、``state`` の逆を取り、その後それを決定しま" +"す。値が ``true`` の場合、LEDが点灯し、ブラシが赤で塗りつぶされます。そうで" +"ない場合は、LEDがオフになり、ブラシが灰色で塗りつぶされます。" + +#: ../processing/blinking_dot.rst:48 +msgid "" +"After completing the judgment, use the ``ellipse()`` function to draw a " +"circle. It should be noted that ``width`` and ``height`` are system " +"variables used to store the width and height of the display window." +msgstr "" +"判定が終わったら、``ellipse()`` 関数を使って円を描きます。``width`` と" +" ``height`` は、表示ウィンドウの幅と高さを格納するために使用されるシステム" +"変数であることに注意してください。" + +#: ../processing/blinking_dot.rst:50 +msgid "" +"There are two other points to note. When using GPIOs, you need to use " +"the ``GPIO.pinMode()`` function to set the INPUT/OUTPUT state of the " +"pin, and then use the ``GPIO.digitalWrite()`` function to assign a value " +"(HIGH/LOW) to the pin ." +msgstr "" +"注意すべき他の2つのポイントがあります。 GPIOを使用する場合は、``GPIO." +"pinMode()`` 関数を使用してピンのINPUT / OUTPUT状態を設定してから、``GPIO." +"digitalWrite()`` 関数を使用して値(HIGH/LOW)をピンに割り当てる必要がありま" +"す。" + +#: ../processing/blinking_dot.rst:55 +msgid "" +"Please try to avoid using ``delay()`` in ``draw()`` because it will " +"affect the display window refresh." +msgstr "" +"``draw()`` で ``delay()`` を使用しないようにしてください。これは、表示ウィン" +"ドウの更新に影響します。" + +#: ../processing/blinking_dot.rst:57 +msgid "" +"For more please refer to `Processing Reference `_." +msgstr "" +"詳細については、`Processing Reference `_ を参照してください。" diff --git a/docs/source/locale/ja/LC_MESSAGES/processing/clickable_color_blocks.po b/docs/source/locale/ja/LC_MESSAGES/processing/clickable_color_blocks.po new file mode 100644 index 0000000..be04b34 --- /dev/null +++ b/docs/source/locale/ja/LC_MESSAGES/processing/clickable_color_blocks.po @@ -0,0 +1,85 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, sunfounder +# This file is distributed under the same license as the SunFounder Da Vinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Da Vinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-07-29 17:00+0800\n" +"PO-Revision-Date: 2021-07-30 18:20+0800\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" +"Last-Translator: \n" +"Language-Team: \n" +"X-Generator: Poedit 2.4.3\n" +"Language: ja\n" + +#: ../processing/clickable_color_blocks.rst:2 +msgid "Clickable Color Blocks" +msgstr "Clickable Color Blocks(クリック可能なカラーブロック)" + +#: ../processing/clickable_color_blocks.rst:4 +msgid "" +"We've already tried drawing a clickable dot to control the LED, so let's " +"take it a step further and draw 3 colored squares to adjust the RGB " +"colors!" +msgstr "" +"クリック可能なドットを描画してLEDを制御しようとしたので、さらに一歩進んで" +"3色の正方形を描画してRGBカラーを調整しましょう!" + +#: ../processing/clickable_color_blocks.rst:8 +msgid "**Wiring**" +msgstr "**回路**" + +#: ../processing/clickable_color_blocks.rst:13 +msgid "**Sketch**" +msgstr "**スケッチ**" + +#: ../processing/clickable_color_blocks.rst:54 +msgid "**How it works?**" +msgstr "**原理**" + +#: ../processing/clickable_color_blocks.rst:56 +msgid "" +"This project has a lot in common with :ref:`Clickable Dot`, except that " +"it refines the conditions for determining mouse click event." +msgstr "" +"このプロジェクトは、マウスクリックイベントを決定するための条件を改善する" +"ことを除いて、:ref:`Clickable Dot` と多くの共通点があります。" + +#: ../processing/clickable_color_blocks.rst:58 +msgid "" +"First draw three color blocks in ``draw()``, then get which color block " +"was clicked based on the value of mouseX (the X-axis coordinate of the " +"mouse), and finally make RGB light up the corresponding color." +msgstr "" +"最初に ``draw()`` で3つのカラーブロックを描画し、次にmouseX(マウスのX軸座" +"標)の値に基づいてクリックされたカラーブロックを取得し、最後にRGBに対応す" +"る色を点灯させます。" + +#: ../processing/clickable_color_blocks.rst:60 +msgid "**What more?**" +msgstr "**それと?**" + +#: ../processing/clickable_color_blocks.rst:62 +msgid "" +"Based on the addition of light, we can make RGB LED display seven colors " +"- adding red to green produces yellow; adding all three primary colors " +"together produces white. Now you can try it out for yourself." +msgstr "" +"光の追加に基づいて、RGBLEDディスプレイを7色にすることができます。緑に赤を" +"追加すると黄色になります。 3つの原色すべてを足し合わせると白になります。 " +"今、それを自分で試すことができます。" + +#: ../processing/clickable_color_blocks.rst:65 +msgid "" +"For more please refer to `Processing Reference `_." +msgstr "" +"詳細については、`Processing Reference `_ を参照してください。" diff --git a/docs/source/locale/ja/LC_MESSAGES/processing/clickable_dot.po b/docs/source/locale/ja/LC_MESSAGES/processing/clickable_dot.po new file mode 100644 index 0000000..073deb2 --- /dev/null +++ b/docs/source/locale/ja/LC_MESSAGES/processing/clickable_dot.po @@ -0,0 +1,75 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, sunfounder +# This file is distributed under the same license as the SunFounder Da Vinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Da Vinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-07-29 17:00+0800\n" +"PO-Revision-Date: 2021-07-30 18:20+0800\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" +"Last-Translator: \n" +"Language-Team: \n" +"X-Generator: Poedit 2.4.3\n" +"Language: ja\n" + +#: ../processing/clickable_dot.rst:2 +msgid "Clickable Dot" +msgstr "Clickable Dot(クリック可能なドット)" + +#: ../processing/clickable_dot.rst:4 +msgid "" +"We've tried drawing motion graphic, responding to mouse event, and " +"controlling LED. So, we might as well combine these functions, draw a " +"clickable dot, to control the LED!" +msgstr "" +"このプロジェクトでは、LEDと同期して点滅するProcessingにドットを描画しま" +"す。図に示すように回路を構築し、スケッチを実行してください。" + +#: ../processing/clickable_dot.rst:8 +msgid "**Wiring**" +msgstr "**回路**" + +#: ../processing/clickable_dot.rst:12 +msgid "**Sketch**" +msgstr "**スケッチ**" + +#: ../processing/clickable_dot.rst:42 +msgid "**How it works?**" +msgstr "**原理**" + +#: ../processing/clickable_dot.rst:44 +msgid "" +"This project has a lot in common with :ref:`Blinking Dot`, the " +"difference is that it puts the toggle state in the mouse event. This " +"causes the LED to not blink automatically, but to light up and go off " +"with a mouse click." +msgstr "" +"このプロジェクトには :ref:`Blinking Dot` と多くの共通点がありますが、違い" +"は、マウスイベントにトグル状態を設定することです。 これにより、LEDは自動" +"的に点滅しませんが、マウスをクリックすると点灯および消灯します。" + +#: ../processing/clickable_dot.rst:47 +msgid "" +"And in the ``mouseClicked()`` event, the ``dist()`` function is used to " +"determine the position of the mouse at the time of the click, and the " +"dot is considered clicked only if the distance between the mouse and the " +"center of the dot is less than the radius." +msgstr "" +"また、``mouseClicked()`` イベントでは、``dist()`` 関数を使用してクリック時" +"のマウスの位置を決定します、マウスとドットの中心との距離が半径より小さい" +"場合にのみ、ドットがクリックされたと見なされます。 " + +#: ../processing/clickable_dot.rst:49 +msgid "" +"For more please refer to `Processing Reference `_." +msgstr "" +"詳細については、`Processing Reference `_ を参照してください。" diff --git a/docs/source/locale/ja/LC_MESSAGES/processing/dot_on_the_swing.po b/docs/source/locale/ja/LC_MESSAGES/processing/dot_on_the_swing.po new file mode 100644 index 0000000..bf8757f --- /dev/null +++ b/docs/source/locale/ja/LC_MESSAGES/processing/dot_on_the_swing.po @@ -0,0 +1,172 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, sunfounder +# This file is distributed under the same license as the SunFounder Da Vinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Da Vinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-07-29 17:00+0800\n" +"PO-Revision-Date: 2021-07-30 18:20+0800\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" +"Last-Translator: \n" +"Language-Team: \n" +"X-Generator: Poedit 2.4.3\n" +"Language: ja\n" + +#: ../processing/dot_on_the_swing.rst:2 +msgid "Dot on the Swing" +msgstr "Dot on the Swing(スイングのドット)" + +#: ../processing/dot_on_the_swing.rst:4 +msgid "" +"In this project, 3 buttons are connected, one to change the size of the " +"dot, one to change the position and the last one to change the color. If " +"you press all 3 buttons at the same time, you will get a dot that is " +"swinging and has a variable color." +msgstr "" +"このプロジェクトでは、ドットのサイズを変更するためのボタン、位置を変更する" +"ためのボタン、色を変更するためのボタンの3つのボタンが接続されています。 3つ" +"のボタンすべてを同時に押すと、揺れるドットが表示され、色が変化します。" + +#: ../processing/dot_on_the_swing.rst:9 +msgid "**Wiring**" +msgstr "**回路**" + +#: ../processing/dot_on_the_swing.rst:13 +msgid "**Sketch**" +msgstr "**スケッチ**" + +#: ../processing/dot_on_the_swing.rst:107 +msgid "**How it works?**" +msgstr "**原理**" + +#: ../processing/dot_on_the_swing.rst:109 +msgid "" +"Instead of drawing dot directly, we create a ``Dot`` class here. Then, " +"declare the object (in this case ``myDot``)." +msgstr "" +"ドットを直接描画する代わりに、ここで ``Dot`` クラスを作成します。 次に、オブ" +"ジェクトを宣言します。(この場合は ``myDot``)" + +#: ../processing/dot_on_the_swing.rst:112 +msgid "" +"This is a simple way to draw dots with multiple identical properties. For " +"example, if we add three functions to the dot in this project - change " +"size, change position and change color - then each dot we declare will " +"have the same function. We can use the same button to make them do the " +"same thing, or we can use different buttons to control each dot separately." +msgstr "" +"これは、複数の同一のプロパティを持つドットを描画する簡単な方法です。 たとえ" +"ば、このプロジェクトのドットに3つの関数(サイズの変更、位置の変更、色の変" +"更)を追加すると、宣言する各ドットは同じ関数になります。 同じボタンを使用し" +"て同じことを実行することも、異なるボタンを使用して各ドットを個別に制御する" +"こともできます。" + +#: ../processing/dot_on_the_swing.rst:116 +msgid "Using **classes** makes your sketch beautiful, powerful and flexible." +msgstr " **classes** を使用すると、スケッチが美しく、強力で、柔軟になります。" + +#: ../processing/dot_on_the_swing.rst:118 +msgid "" +"`Class (computer programming) - Wikipedia `_" +msgstr "" +"`Class (computer programming) - Wikipedia `_" + +#: ../processing/dot_on_the_swing.rst:120 +msgid "Next, let's take a closer look at the ``Dot`` class." +msgstr "次に、``Dot`` クラスを詳しく見てみましょう。" + +#: ../processing/dot_on_the_swing.rst:127 +msgid "" +"In the declaration, it needs to pass in four parameters, which are the X " +"and Y coordinate value of the position, the size, and the color (here it " +"is set to the `HSB color mode `_ )." +msgstr "" +"宣言では、位置のX座標値とY座標値、サイズ、および色(ここでは、`HSB color " +"mode `_ )に設定されています)の4" +"つのパラメーターを渡す必要があります。" + +#: ../processing/dot_on_the_swing.rst:129 +msgid "" +"Each parameter will be assigned to 2 sets of values ​​(initial value and " +"current value)." +msgstr "各パラメータは、2セットの値(初期値と現在の値)に割り当てられます。" + +#: ../processing/dot_on_the_swing.rst:148 +msgid "" +"In addition to the initial value and the current value, there is also a " +"set of range values. It is not difficult to understand that the initial " +"value is used to determine the initial state of the dot (determined by the " +"incoming parameters), while the current value will change within the range " +"to make the dot move." +msgstr "" +"初期値と現在の値に加えて、範囲値のセットもあります。 初期値がドットの初期状" +"態(入力パラメータによって決定される)を決定するために使用され、現在の値が" +"範囲内で変化してドットを移動させることを意味します。" + +#: ../processing/dot_on_the_swing.rst:150 +msgid "" +"Therefore, except for the X coordinate value, the current values of the " +"other three parameters are calculated as follows:" +msgstr "" +"したがって、X座標値を除いて、他の3つのパラメーターの現在の値は次のように計" +"算されます:" + +#: ../processing/dot_on_the_swing.rst:167 +msgid "" +"If you are familiar with trigonometric functions, it should not be " +"difficult to understand `sine and cosine `_, which gives a smooth periodic change (from -1 to 1) of the " +"current value of the dot." +msgstr "" +"三角関数に精通している場合は、正弦と余弦 `sine and cosine `_ を理解するのは難しくありません。これにより、ドッ" +"トの現在の値が滑らかに周期的に変化します(-1から1)。" + +#: ../processing/dot_on_the_swing.rst:169 +msgid "" +"We also need to add a seed, ``timer``, for the periodic variation. It adds " +"the fixed value in the method ``update()`` and is called in ``draw()``." +msgstr "" +"また、周期的な変動のためにシード、``timer`` を追加する必要があります。 これ" +"は、メソッド ``update()`` に固定値を追加し、``draw()`` で呼び出されます。" + +#: ../processing/dot_on_the_swing.rst:177 +msgid "" +"Finally, the dot is displayed according to the current value using the " +"method ``show()``, which is also called in ``draw()``." +msgstr "" +"最後に、``draw()`` でも呼び出される ``show()`` メソッドを使用して、現在の値に" +"従ってドットが表示されます。" + +#: ../processing/dot_on_the_swing.rst:186 +msgid "**What more?**" +msgstr "**それと?**" + +#: ../processing/dot_on_the_swing.rst:188 +msgid "" +"Having mastered the use of classes, you can already draw multiple dots " +"with the same properties, so why not try to do something cooler. For " +"example, how about drawing a stable binary star system, or making a 'DUET' " +"game?" +msgstr "" +"クラスの使い方をマスターすれば、同じプロパティで複数のドットを描くことがで" +"きるので、もっとクールなことをしてみませんか。 たとえば、安定した連星系を描" +"いたり、'DUET'ゲームを作ったりするのはどうですか?" + +#: ../processing/dot_on_the_swing.rst:192 +msgid "" +"For more please refer to `Processing Reference `_." +msgstr "" +"詳細については、`Processing Reference `_ " +"を参照してください。" diff --git a/docs/source/locale/ja/LC_MESSAGES/processing/drag_number.po b/docs/source/locale/ja/LC_MESSAGES/processing/drag_number.po new file mode 100644 index 0000000..457e504 --- /dev/null +++ b/docs/source/locale/ja/LC_MESSAGES/processing/drag_number.po @@ -0,0 +1,50 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, sunfounder +# This file is distributed under the same license as the SunFounder Da Vinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Da Vinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-07-29 17:00+0800\n" +"PO-Revision-Date: 2021-08-02 17:25+0800\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" +"Last-Translator: \n" +"Language-Team: \n" +"X-Generator: Poedit 2.4.3\n" + +#: ../processing/drag_number.rst:2 +msgid "Drag Number" +msgstr "Drag Number(ドラッグ番号)" + +#: ../processing/drag_number.rst:4 +msgid "Let's draw a slider bar to control the 7-segment Display." +msgstr "" +"7セグメントディスプレイを制御するためのスライダーバーを描いてみましょう。" + +#: ../processing/drag_number.rst:9 +msgid "**Wiring**" +msgstr "**回路**" + +#: ../processing/drag_number.rst:13 +msgid "**Sketch**" +msgstr "**スケッチ**" + +#: ../processing/drag_number.rst:122 +msgid "**How it works?**" +msgstr "**原理**" + +#: ../processing/drag_number.rst:124 +msgid "" +"This project integrates the Slider and 7-segment Display of the previous " +"course. For specific knowledge points, please refer to :ref:`Show " +"Number` and :ref:`Metronome`." +msgstr "" +"このプロジェクトは、前のコースの「スライダー」と「7セグメントディスプレ" +"イ」を統合します。 具体的な知識のポイントについては、:ref:`Show Number` お" +"よび :ref:`Metronome` を参照してください。" diff --git a/docs/source/locale/ja/LC_MESSAGES/processing/draw_a_matchmaker.po b/docs/source/locale/ja/LC_MESSAGES/processing/draw_a_matchmaker.po new file mode 100644 index 0000000..b417998 --- /dev/null +++ b/docs/source/locale/ja/LC_MESSAGES/processing/draw_a_matchmaker.po @@ -0,0 +1,157 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, sunfounder +# This file is distributed under the same license as the SunFounder Da Vinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Da Vinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-07-29 17:00+0800\n" +"PO-Revision-Date: 2021-07-30 18:20+0800\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" +"Last-Translator: \n" +"Language-Team: \n" +"X-Generator: Poedit 2.4.3\n" +"Language: ja\n" + +#: ../processing/draw_a_matchmaker.rst:2 +msgid "Draw a Matchmaker" +msgstr "Draw a Matchmaker (仲人を描く)" + +#: ../processing/draw_a_matchmaker.rst:4 +msgid "" +"You're now running the Processing Development Environment (or PDE). There's " +"not much to it; the large area is the Text Editor, and there's a row of " +"buttons across the top; this is the toolbar. Below the editor is the Message " +"Area, and below that is the Console. The Message Area is used for one line " +"messages, and the Console is used for more technical details." +msgstr "" +"これで、Processing Development Environment(PDE)を実行しています。 それほど多" +"くはありません。 広い領域はテキストエディタで、上部にボタンの列があります。 こ" +"れがツールバーです。 エディタの下にはメッセージエリアがあり、その下にはコン" +"ソールがあります。 メッセージエリアは1行のメッセージに使用され、コンソールはよ" +"り技術的な詳細に使用されます。" + +#: ../processing/draw_a_matchmaker.rst:9 +msgid "Let's get familiar with the usage of Processing and draw a matchmaker." +msgstr "Processingの使用法に慣れて、仲人を描きましょう。" + +#: ../processing/draw_a_matchmaker.rst:11 +msgid "**Sketch**" +msgstr "**スケッチ**" + +#: ../processing/draw_a_matchmaker.rst:13 +msgid "" +"Copy the sketch below into Processing and run it. A new display window will " +"appear and a cheering matchmaker will be drawn." +msgstr "" +"以下のスケッチをProcessingにコピーして実行します。 新しい表示ウィンドウが表示" +"され、応援の仲人が描かれます。" + +#: ../processing/draw_a_matchmaker.rst:31 +msgid "" +"If you run it and the message area turns red and reports some errors, then " +"there is something wrong with the sketch. Make sure you copy the sample " +"sketch exactly: numbers should be enclosed in parentheses, with commas " +"between each number, and lines should end with semicolons." +msgstr "" +"それを実行し、メッセージ領域が赤くなり、いくつかのエラーが報告された場合は、ス" +"ケッチに問題があります。 サンプルスケッチを正確にコピーするようにしてくださ" +"い。数字は括弧で囲み、各数字の間にコンマを入れ、行はセミコロンで終了する必要が" +"あります。" + +#: ../processing/draw_a_matchmaker.rst:34 +msgid "**How it works?**" +msgstr "**原理**" + +#: ../processing/draw_a_matchmaker.rst:36 +msgid "" +"The key here is to realize that the display window can be treated as a square " +"of paper." +msgstr "" +"ここで重要なのは、表示ウィンドウを正方形の紙として扱うことができることを理解す" +"ることです。" + +#: ../processing/draw_a_matchmaker.rst:38 +msgid "" +"Each pixel of the display window is a coordinate (x,y) that determines the " +"position of a point in space. The origin (0,0) of the coordinates is in the " +"upper left corner, the positive direction of the X-axis is horizontally to " +"the right, and the positive direction of the Y-axis is vertically down." +msgstr "" +"表示ウィンドウの各ピクセルは、空間内のポイントの位置を決定する座標(x、y)で" +"す。 座標の原点(0,0)は左上隅にあり、X軸の正の方向は水平方向に右、Y軸の正の方" +"向は垂直方向に下向きです。" + +#: ../processing/draw_a_matchmaker.rst:40 +msgid "" +"What we have to do is to specify what shape and color should appear at these " +"pixel coordinates." +msgstr "" +"重要なのは、これらのピクセル座標にどのような形と色を表示するかを指定することで" +"す。" + +#: ../processing/draw_a_matchmaker.rst:42 +msgid "" +"For example, draw a rectangle of width 20 and height 60 with coordinates " +"(100,120) as the midpoint." +msgstr "" +"たとえば、座標(100,120)を中点として、幅20、高さ60の長方形を描画します。" + +#: ../processing/draw_a_matchmaker.rst:51 +msgid "" +"Once we understand the relationship between the display window and the axes, " +"this sketch is not difficult for us, we just need to understand some simple " +"graphic drawing statements." +msgstr "" +"表示ウィンドウと軸の関係を理解したら、このスケッチは難しくありません。いくつか" +"の簡単なグラフィック描画ステートメントを理解する必要があります。" + +#: ../processing/draw_a_matchmaker.rst:53 +msgid "" +"``size(width, height)``: Defines the dimension of the display window width " +"and height in units of pixels." +msgstr "" +"``size(width, height)``:表示ウィンドウの幅と高さの寸法をピクセル単位で定義し" +"ます。" + +#: ../processing/draw_a_matchmaker.rst:54 +msgid "" +"``background(red, green, blue)``: Set the background color of the display " +"window." +msgstr "``background(red, green, blue)``:表示ウィンドウの背景色を設定します。" + +#: ../processing/draw_a_matchmaker.rst:55 +msgid "" +"``rectMode(mode)``: Modifies the location from which rectangles are drawn by " +"changing the way in which parameters given to ``rect()`` are intepreted." +msgstr "" +"``rectMode(mode)``:rect() に指定されたパラメーターの解釈方法を変更することに" +"より、長方形が描画される場所を変更します。" + +#: ../processing/draw_a_matchmaker.rst:56 +msgid "``rect(x, y, width, height)``: Draws a rectangle to the screen." +msgstr "``rect(x, y, width, height)``:画面に長方形を描画します。" + +#: ../processing/draw_a_matchmaker.rst:57 +msgid "``ellipse(x, y, width, height)``: Draws an ellipse (oval) to the screen." +msgstr "``ellipse(x, y, width, height)``:画面に楕円(楕円)を描画します。" + +#: ../processing/draw_a_matchmaker.rst:58 +msgid "" +"``line(x1, y1, x2, y2)``: Draws a line (a direct path between two points) to " +"the screen." +msgstr "``line(x1, y1, x2, y2)``:画面に線(2点間の直接パス)を描画します。" + +#: ../processing/draw_a_matchmaker.rst:60 +msgid "" +"For more please refer to `Processing Reference `_." +msgstr "" +"詳細については、`Processing Reference `_ を" +"参照してください。" diff --git a/docs/source/locale/ja/LC_MESSAGES/processing/hello_mouse.po b/docs/source/locale/ja/LC_MESSAGES/processing/hello_mouse.po new file mode 100644 index 0000000..103b80f --- /dev/null +++ b/docs/source/locale/ja/LC_MESSAGES/processing/hello_mouse.po @@ -0,0 +1,95 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, sunfounder +# This file is distributed under the same license as the SunFounder Da Vinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Da Vinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-07-29 17:00+0800\n" +"PO-Revision-Date: 2021-07-30 18:19+0800\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" +"Last-Translator: \n" +"Language-Team: \n" +"X-Generator: Poedit 2.4.3\n" + +#: ../processing/hello_mouse.rst:2 +msgid "Hello Mouse" +msgstr "Hello Mouse(こんにちはマウス)" + +#: ../processing/hello_mouse.rst:4 +msgid "" +"In this project, your mouse will keep shooting lines towards a point; " +"move the mouse and you will draw a unique line of stars. Press the mouse " +"to restart the drawing." +msgstr "" +"このプロジェクトでは、マウスはポイントに向かって線を描き続けます。マウス" +"を動かすと、ユニークな星の線が描画されます。マウスを押して、描画を再開し" +"ます。" + +#: ../processing/hello_mouse.rst:8 +msgid "**Sketch**" +msgstr "**スケッチ**" + +#: ../processing/hello_mouse.rst:31 +msgid "**How it works?**" +msgstr "**原理**" + +#: ../processing/hello_mouse.rst:33 +msgid "" +"The previous project was drawing a single image without any animation or " +"interaction." +msgstr "" +"前のプロジェクトは、アニメーションやインタラクションなしで単一の画像を描" +"画していました。" + +#: ../processing/hello_mouse.rst:35 +msgid "" +"If we want to make an interactive sketch, we need to add the ``setup()`` " +"and ``draw()`` functions (these are built-in functions that are called " +"automatically) to build the frame." +msgstr "" +"インタラクティブなスケッチを作成する場合は、``setup()`` 関数と ``draw()`` 関" +"数(これらは自動的に呼び出される組み込み関数)を追加してフレームを作成す" +"る必要があります。" + +#: ../processing/hello_mouse.rst:37 +msgid "``setup()``: Executed only once at the start of the sketch." +msgstr "``setup()``:スケッチの開始時に1回だけ実行されます。" + +#: ../processing/hello_mouse.rst:38 +msgid "" +"``draw()``: Executed repeatedly, where we usually add the sketch for " +"drawing the animation." +msgstr "" +"``draw()``:繰り返し実行されます。通常、アニメーションを描画するためのス" +"ケッチを追加します。" + +#: ../processing/hello_mouse.rst:55 +msgid "This sketch above already works smoothly as an interactive sketch." +msgstr "" +"上記のこのスケッチは、インタラクティブなスケッチとしてすでにスムーズに機" +"能します。" + +#: ../processing/hello_mouse.rst:57 +msgid "" +"Next you can add a mouse click event. This event can be implemented with " +"the ``mousePressed()`` function, where we add statements to refresh the " +"target point and clear the screen." +msgstr "" +"次に、マウスクリックイベントを追加できます。 このイベントは、" +"``mousePressed()`` 関数を使用して実装できます。この関数では、ステートメン" +"トを追加して、ターゲットポイントを更新し、画面をクリアします。" + +#: ../processing/hello_mouse.rst:81 +msgid "" +"For more please refer to `Processing Reference `_." +msgstr "" +"詳細については、`Processing Reference `_ を参照してください。" diff --git a/docs/source/locale/ja/LC_MESSAGES/processing/inflating_the_dot.po b/docs/source/locale/ja/LC_MESSAGES/processing/inflating_the_dot.po new file mode 100644 index 0000000..a548982 --- /dev/null +++ b/docs/source/locale/ja/LC_MESSAGES/processing/inflating_the_dot.po @@ -0,0 +1,84 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, sunfounder +# This file is distributed under the same license as the SunFounder Da Vinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Da Vinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-07-29 17:00+0800\n" +"PO-Revision-Date: 2021-07-30 18:23+0800\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" +"Last-Translator: \n" +"Language-Team: \n" +"X-Generator: Poedit 2.4.3\n" + +#: ../processing/inflating_the_dot.rst:2 +msgid "Inflating the Dot" +msgstr "Inflating the Dot(ドットを膨らませる)" + +#: ../processing/inflating_the_dot.rst:4 +msgid "" +"Next, let's build a circuit that allows the button to control the size " +"of the dot. When we press the button, the dot will quickly get bigger; " +"when we release the button, the dot will gradually get smaller, which " +"makes the dot look like a balloon being inflated." +msgstr "" +"次に、ボタンでドットのサイズを制御できる回路を作成しましょう。 ボタンを押" +"すと、ドットがすぐに大きくなります。 ボタンを離すと、ドットが徐々に小さく" +"なり、風船が膨らんでいるように見えます。" + +#: ../processing/inflating_the_dot.rst:9 +msgid "**Wiring**" +msgstr "**回路**" + +#: ../processing/inflating_the_dot.rst:13 +msgid "**Sketch**" +msgstr "**スケッチ**" + +#: ../processing/inflating_the_dot.rst:39 +msgid "**How it works?**" +msgstr "**原理**" + +#: ../processing/inflating_the_dot.rst:41 +msgid "" +"This project uses the input function compared to the previous 2 projects " +"that used the output function of the GPIO." +msgstr "" +"このプロジェクトは、GPIOの出力機能を使用していた前の2つのプロジェクトと比" +"較して、入力機能を使用しています。" + +#: ../processing/inflating_the_dot.rst:43 +msgid "" +"The ``GPIO.pinMode()`` function is used to set ``buttonPin`` to pull-up " +"input mode, which makes the pin get high automatically in the default " +"state." +msgstr "" +"``GPIO.pinMode()`` 関数は、``buttonPin`` をプルアップ入力モードに設定するた" +"めに使用されます。これにより、ピンはデフォルト状態で自動的にHIGHになりま" +"す。" + +#: ../processing/inflating_the_dot.rst:45 +msgid "" +"Then use the ``GPIO.digitalRead()`` function to read the value of " +"``buttonPin``. When the value is LOW, it means the button is pressed, at " +"which point let the diameter of the dot increase by 5; if the button is " +"released, then the diameter of the dot will decrease by 1." +msgstr "" +"次に、``GPIO.digitalRead()`` 関数を使用して ``buttonPin`` の値を読み取りま" +"す。 値がLOWの場合、ボタンが押されていることを意味します。その時点で、" +"ドットの直径が5増加します。 ボタンを離すと、ドットの直径が1つ小さくなりま" +"す。" + +#: ../processing/inflating_the_dot.rst:47 +msgid "" +"For more please refer to `Processing Reference `_." +msgstr "" +"詳細については、`Processing Reference `_ を参照してください。" diff --git a/docs/source/locale/ja/LC_MESSAGES/processing/metronome.po b/docs/source/locale/ja/LC_MESSAGES/processing/metronome.po new file mode 100644 index 0000000..19e4078 --- /dev/null +++ b/docs/source/locale/ja/LC_MESSAGES/processing/metronome.po @@ -0,0 +1,101 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, sunfounder +# This file is distributed under the same license as the SunFounder Da Vinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Da Vinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-07-29 17:00+0800\n" +"PO-Revision-Date: 2021-07-30 18:32+0800\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" +"Last-Translator: \n" +"Language-Team: \n" +"X-Generator: Poedit 2.4.3\n" + +#: ../processing/metronome.rst:2 +msgid "Metronome" +msgstr "Metronome(メトロノーム)" + +#: ../processing/metronome.rst:4 +msgid "" +"Here we will make a metronome, the metronome is divided into 5 levels, " +"the higher the level, the more urgent the buzzer call." +msgstr "" +"ここではメトロノームを作成します。メトロノームは5つのレベルに分けられ、レ" +"ベルが高いほどブザーの呼び出しが緊急になります。" + +#: ../processing/metronome.rst:9 +msgid "**Wiring**" +msgstr "**回路**" + +#: ../processing/metronome.rst:15 +msgid "An active buzzer is used here, and it has a white sticker on it." +msgstr "" +"ここではアクティブブザーが使用されており、白いステッカーが貼られていま" +"す。" + +#: ../processing/metronome.rst:17 +msgid "**Sketch**" +msgstr "**スケッチ**" + +#: ../processing/metronome.rst:98 +msgid "**How it works?**" +msgstr "**原理**" + +#: ../processing/metronome.rst:101 +msgid "Here, we created a ``Slider`` class and made it act as **WIDGET**." +msgstr "" +"ここでは、``Slider`` クラスを作成し、それを **WIDGET** として機能させまし" +"た。" + +#: ../processing/metronome.rst:107 +msgid "In the declaration, it needs to be passed in 7 parameters." +msgstr "宣言では、7つのパラメーターで渡す必要があります。" + +#: ../processing/metronome.rst:109 +msgid "" +"The first four parameters determine the size of the widget, followed by " +"the coordinates (x1, y1) of the starting point in the upper left corner " +"and (x2, y2) in the lower right corner." +msgstr "" +"最初の4つのパラメーターはwidgetのサイズを決定し、その後に左上隅の開始点の" +"座標(x1、y1)と右下隅の(x2、y2)が続きます。" + +#: ../processing/metronome.rst:111 +msgid "" +"The last three parameters determine its numerical range (min to max) and " +"initial value." +msgstr "" +"最後の3つのパラメーターは、その数値範囲(最小から最大)と初期値を決定しま" +"す。" + +#: ../processing/metronome.rst:113 +msgid "" +"It has two methods, the effect of ``dragPoint()`` is to make the slider " +"draggable and return the slider's current position value." +msgstr "" +"これには2つのメソッドがあります。``dragPoint()`` の効果は、スライダーをド" +"ラッグ可能にして、スライダーの現在の位置の値を返すことです。" + +#: ../processing/metronome.rst:126 +msgid "" +"Another method ``show()`` is to show the Slider. At the same time, the " +"range value and current value are displayed in the corresponding " +"position." +msgstr "" +"別のメソッド ``show()`` は、スライダーを表示することです。 同時に、範囲値" +"と現在値が対応する位置に表示されます。" + +#: ../processing/metronome.rst:144 +msgid "" +"For more please refer to `Processing Reference `_." +msgstr "" +"詳細については、`Processing Reference `_ を参照してください。" diff --git a/docs/source/locale/ja/LC_MESSAGES/processing/play_with_processing.po b/docs/source/locale/ja/LC_MESSAGES/processing/play_with_processing.po new file mode 100644 index 0000000..ad15917 --- /dev/null +++ b/docs/source/locale/ja/LC_MESSAGES/processing/play_with_processing.po @@ -0,0 +1,104 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, sunfounder +# This file is distributed under the same license as the SunFounder Da Vinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Da Vinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-06 10:37+0800\n" +"PO-Revision-Date: 2021-08-06 14:43+0800\n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" +"Language: ja\n" +"X-Generator: Poedit 3.0\n" + +#: ../processing/play_with_processing.rst:2 +msgid "Play with Processing" +msgstr "Processingで遊ぶ" + + +#: ../processing/play_with_processing.rst:5 +msgid "What is Processing?" +msgstr "Processingとは?" + +#: ../processing/play_with_processing.rst:7 +msgid "" +"Processing is a simple programming environment that was created to make it " +"easier to develop visually oriented applications with an emphasis on animation " +"and providing users with instant feedback through interaction. The developers " +"wanted a means to \\\"sketch\\\" ideas in code. As its capabilities have " +"expanded over the past decade, Processing has come to be used for more " +"advanced production-level work in addition to its sketching role. Originally " +"built as a domain-specific extension to Java targeted towards artists and " +"designers, Processing has evolved into a full-blown design and prototyping " +"tool used for large-scale installation work, motion graphics, and complex data " +"visualization." +msgstr "" +"Processingは、アニメーションに重点を置いた視覚指向のアプリケーションの開発を容易に" +"し、対話を通じてユーザーに即時のフィードバックを提供するために作成された単純な" +"プログラミング環境です。 開発者は、コードでアイデアを「スケッチ」する手段を望ん" +"でいました。 その機能が過去10年間で拡大するにつれて、Processingは、スケッチの役" +"割に加えて、より高度な本番レベルの作業に使用されるようになりました。 もともと" +"アーティストやデザイナーを対象としたJavaのドメイン固有の拡張機能として構築され" +"たProcessingは、大規模なインストール作業、モーショングラフィックス、複雑なデー" +"タの視覚化に使用される本格的なデザインおよびプロトタイピングツールに進化しまし" +"た。" + +#: ../processing/play_with_processing.rst:12 +msgid "" +"Processing is based on Java, but because program elements in Processing are " +"fairly simple, you can learn to use it even if you don't know any Java. If " +"you're familiar with Java, it's best to forget that Processing has anything to " +"do with Java for a while, until you get the hang of how the API works." +msgstr "" +"ProcessingはJavaに基づいていますが、Processingのプログラム要素は非常に単純であ" +"るため、Javaを知らなくても使用方法を学ぶことができます。 Javaに精通している場合" +"は、APIがどのように機能するかを理解するまで、Processingはしばらくの間Javaと関係" +"があることを忘れておくのが最善です。" + +#: ../processing/play_with_processing.rst:15 +msgid "" +"This text is from the tutorial, `Processing Overview `_." +msgstr "" +"このテキストは、チュートリアル `Processing Overview `_ からのものです。" + +#: ../processing/play_with_processing.rst:18 +msgid "Install the Processing" +msgstr "Processingをインストールする" + +#: ../processing/play_with_processing.rst:22 +msgid "" +"Before you can use Processing, you need to access the Raspberry Pi desktop " +"remotely (:ref:`Remote Desktop`) or connect a display for the Raspberry Pi." +msgstr "" +"Processingを使用する前に、Raspberry Piデスクトップにリモートでアクセスするか(:" +"ref:`Remote Desktop`)、RaspberryPiのディスプレイを接続する必要があります。" + +#: ../processing/play_with_processing.rst:24 +msgid "Run the following command in Terminal to install Processing." +msgstr "ターミナルで次のコマンドを実行して、Processingをインストールします。" + +#: ../processing/play_with_processing.rst:34 +msgid "Once the installation is complete, type ``processing`` to open it." +msgstr "インストールが完了したら、``Processing`` と入力して開きます。" + +#: ../processing/play_with_processing.rst:40 +msgid "" +"For a detailed tutorial, please refer to `Pi Processing `_." +msgstr "" +"詳細なチュートリアルについては、`Pi Processing `_ " +"を参照してください。" + +#: ../processing/play_with_processing.rst:43 +msgid "Projects" +msgstr "プロジェクト" diff --git a/docs/source/locale/ja/LC_MESSAGES/processing/show_number.po b/docs/source/locale/ja/LC_MESSAGES/processing/show_number.po new file mode 100644 index 0000000..af735c5 --- /dev/null +++ b/docs/source/locale/ja/LC_MESSAGES/processing/show_number.po @@ -0,0 +1,164 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, sunfounder +# This file is distributed under the same license as the SunFounder Da Vinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Da Vinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-04 15:50+0800\n" +"PO-Revision-Date: 2021-08-02 18:10+0800\n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../processing/show_number.rst:2 +msgid "Show Number" +msgstr "Show Number(番号を表示)" + +#: ../processing/show_number.rst:4 +msgid "" +"In this lesson, we use processing to drive a 7-segment display to show a " +"figure from 0 to 9 and A to F." +msgstr "このレッスンでは、processingを使用して7セグメントディスプレイを駆動し、0から9およびAからFの数値を表示します。" + +#: ../processing/show_number.rst:7 +msgid "**Wiring**" +msgstr "**回路**" + +#: ../processing/show_number.rst:12 +msgid "**Sketch**" +msgstr "**スケッチ**" + +#: ../processing/show_number.rst:70 +msgid "**How it works?**" +msgstr "**原理**" + +#: ../processing/show_number.rst:72 +msgid "" +"Import ``processing.io.*`` and use the GPIO function library to control " +"the digital tube pins." +msgstr "``processing.io。*`` をインポートし、GPIO関数ライブラリを使用してdigital tube pinsを制御します。" + +#: ../processing/show_number.rst:74 +msgid "" +"Define array ``SegCode = " +"{0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71}``" +" which represents a segment code array from 0 to F in Hexadecimal (Common" +" cathode)." +msgstr "" +"配列を定義する ``SegCode = " +"{0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71}`` 16進数中で、0からFまでのセグメントコード配列を表す(共通カソード)" + +#: ../processing/show_number.rst:77 +msgid "" +"``setup()`` function sets the three pins SDI,RCLK and SRCLK as output, " +"and the initial data as 0." +msgstr "``setup()`` 関数は、3つのピンSDI、RCLK、SRCLKを出力として設定し、初期データを0として設定します。" + +#: ../processing/show_number.rst:79 +msgid "" +"``hc595_shift(int dat)`` function is used to shift the ``SegCode`` to " +"74HC595." +msgstr "``hc595_shift(int dat)`` 関数は、 ``SegCode`` を74HC595にシフトするために使用されます。" + +#: ../processing/show_number.rst:103 +msgid "" +"``n=(0x80 & (dat << i))`` means to shift dat to the left by ``i`` bits " +"and then do the ``&`` operation with 0x80." +msgstr "" +"``n=(0x80 & (dat << " +"i))`` は、datを ``i`` ビット左にシフトしてから、0x80と ``&`` 操作を実行することを意味します。" + +#: ../processing/show_number.rst:105 +msgid "" +"The rule of ``&`` operation is that when both sides of ``&`` are 1, the " +"result is 1, otherwise the result is 0." +msgstr "``&`` 演算のルールは、 ``&`` の両側が1の場合、結果は1であり、それ以外の場合、結果は0です。" + +#: ../processing/show_number.rst:107 +msgid "" +"For example, we assume dat=0x3f,i=2(0011 1111 << 2 shift to 1111 1100), " +"then 1111 1100 & 1000 0000 (0x80)) = 1000 0000." +msgstr "" +"たとえば、dat=0x3f,i=2(0011 1111 << 2 shift to 1111 1100), then 1111 1100 & " +"1000 0000 (0x80)) = 1000 0000." + +#: ../processing/show_number.rst:109 +msgid "At last assign the dat data to SDI(DS) by bits." +msgstr "最後に、datデータをビット単位でSDI(DS)に割り当てます。" + +#: ../processing/show_number.rst:111 +msgid "" +"``digitalWrite(SRCLK, 1)`` when SRCLK generates a rising edge pulse from " +"0 to 1, the data will be transferred from the DS register to the shift " +"register;" +msgstr "" +"``digitalWrite(SRCLK, " +"1)`` SRCLKが0から1までの立ち上がりエッジパルスを生成すると、データはDSレジスタからシフトレジスタに転送されます。" + +#: ../processing/show_number.rst:113 +msgid "" +"``digitalWrite(RCLK, 1)`` when RCLK generates a rising edge pulse from 0 " +"to 1, the data will be transferred from the shift register to the storage" +" register." +msgstr "" +"``digitalWrite(RCLK, 1)`` " +"RCLKが0から1までの立ち上がりエッジパルスを生成すると、データはシフトレジスタからストレージレジスタに転送されます。" + +#: ../processing/show_number.rst:121 +msgid "``fill()``: Sets the color used to fill shapes." +msgstr "``fill()``:図形の塗りつぶしに使用する色を設定します。" + +#: ../processing/show_number.rst:122 +msgid "" +"``textAlign(CENTER,CENTER)``: Sets the current alignment for drawing " +"text. The parameters ``LEFT``, ``CENTER``, and ``RIGHT`` set the display " +"characteristics of the letters in relation to the values for the x and y " +"parameters of the ``text()`` function." +msgstr "" +"``textAlign(CENTER,CENTER)``:テキストを描画するための現在の配置を設定します。 パラメータ " +"``LEFT``、``CENTER``、および ``RIGHT`` は、 " +"``text()`` 関数のxおよびyパラメータの値に関連して文字の表示特性を設定します。" + +#: ../processing/show_number.rst:123 +msgid "" +"``textSize()``: Sets the current font size. This size will be used in all" +" subsequent calls to the ``text()`` function. Font size is measured in " +"units of pixels." +msgstr "" +"``textSize()``:現在のフォントサイズを設定します。 このサイズは、以降の ``text()`` 関数のすべての呼び出しで使用されます。 " +"フォントサイズはピクセル単位で測定されます。" + +#: ../processing/show_number.rst:125 +msgid "These functions can customize the text style displayed on the processing." +msgstr "これらの関数は、processingで表示されるテキストスタイルをカスタマイズできます。" + +#: ../processing/show_number.rst:137 +msgid "" +"The ``frameCount`` is a seed, which is related to ``frameRate``. By " +"default ``frameRate`` is 60, which means that ``frameCount`` will " +"accumulate 60 times per second." +msgstr "" +"``frameCount`` はシードであり、``frameRate`` に関連しています。 " +"デフォルトでは、``frameRate`` は60です。これは、 ``frameCount`` が1秒間に60回累積することを意味します。" + +#: ../processing/show_number.rst:140 +msgid "" +"Then we can let processing and 7-segment display to show the figure from " +"0 to 9 and A to F simultaneously." +msgstr "次に、processingと7セグメントディスプレイを使用して、0から9までの数字とAからFまでの数字を同時に表示できます。" + +#: ../processing/show_number.rst:142 +msgid "" +"For more please refer to `Processing Reference " +"`_." +msgstr "" +"詳細については、`Processing Reference " +"`_ を参照してください。" + diff --git a/docs/source/locale/ja/LC_MESSAGES/remote_desktop.po b/docs/source/locale/ja/LC_MESSAGES/remote_desktop.po new file mode 100644 index 0000000..4adfa00 --- /dev/null +++ b/docs/source/locale/ja/LC_MESSAGES/remote_desktop.po @@ -0,0 +1,285 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, SunFounder +# This file is distributed under the same license as the SunFounder Davinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Davinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-04 15:50+0800\n" +"PO-Revision-Date: 2021-05-28 15:04+0800\n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../remote_desktop.rst:2 +msgid "Remote Desktop" +msgstr "リモートデスクトップ" + +#: ../remote_desktop.rst:4 +msgid "There are two ways to control the desktop of the Raspberry Pi remotely:" +msgstr "Raspberry Piのデスクトップを遠隔操作するには2つの方法があります:" + +#: ../remote_desktop.rst:6 +msgid "**VNC** and **XRDP**, you can use any of them." +msgstr " **VNC** と **XRDP** という二つの方法がある。" + +#: ../remote_desktop.rst:9 +msgid "VNC" +msgstr "VNC" + +#: ../remote_desktop.rst:11 +msgid "You can use the function of remote desktop through VNC." +msgstr "VNCを介してリモートデスクトップの機能を使用できる。" + +#: ../remote_desktop.rst:13 +msgid "**Enable VNC service**" +msgstr "**VNCサービスを有効にする**" + +#: ../remote_desktop.rst:15 +msgid "" +"The VNC service has been installed in the system. By default, VNC is " +"disabled. You need to enable it in config." +msgstr "VNCサービスがシステムに実装された。デフォルトでは、VNCは無効である。設定で有効にする必要がある。" + +#: ../remote_desktop.rst:18 ../remote_desktop.rst:63 ../remote_desktop.rst:123 +#: ../remote_desktop.rst:158 +msgid "**Step 1**" +msgstr "**ステップ1**" + +#: ../remote_desktop.rst:20 +msgid "Input the following command:" +msgstr "次のコマンドを入力する:" + +msgid "IMG_280" +msgstr "" + +#: ../remote_desktop.rst:35 ../remote_desktop.rst:67 ../remote_desktop.rst:127 +#: ../remote_desktop.rst:165 +msgid "**Step 2**" +msgstr "**ステップ2**" + +#: ../remote_desktop.rst:37 + +msgid "" +"Choose **3** **Interfacing Options** by press the down arrow key on your " +"keyboard, then press the **Enter** key." +msgstr "キーボードの下矢印キーを押して **3** **Interfacing Options** を選択し、**Enter** キーを押します。" + +#: ../remote_desktop.rst:44 ../remote_desktop.rst:76 ../remote_desktop.rst:140 +#: ../remote_desktop.rst:176 +msgid "**Step 3**" +msgstr "**ステップ3**" + +#: ../remote_desktop.rst:46 +msgid "**P3 VNC**" +msgstr "**P3 VNC**" + +#: ../remote_desktop.rst:52 ../remote_desktop.rst:85 ../remote_desktop.rst:151 +#: ../remote_desktop.rst:187 +msgid "**Step 4**" +msgstr "**ステップ4**" + +#: ../remote_desktop.rst:54 +msgid "Select **Yes -> OK -> Finish** to exit the configuration." +msgstr "「YES」-> 「OK」-> 「FINISH」を選択して、構成を終了する。" + +msgid "IMG_283" +msgstr "" + +#: ../remote_desktop.rst:61 +msgid "**Login to VNC**" +msgstr "**VNCにログインする**" + +#: ../remote_desktop.rst:65 + +msgid "" +"You need to download and install the `VNC Viewer " +"`_ on personal " +"computer. After the installation is done, open it." +msgstr "`VNC Viewer `_ をダウンロードしてパソコンにインストールする必要があります。 インストールが完了したら、それを開きます。" + +#: ../remote_desktop.rst:69 +msgid "Then select “\\ **New connection**\\ ”." +msgstr "T次に、「 **New connection** 」を選択する。" + +#: ../remote_desktop.rst +msgid "IMG_285" +msgstr "IMG_285" + +#: ../remote_desktop.rst:78 +msgid "Input IP address of Raspberry Pi and any **Name**." +msgstr "Raspberry PiのIPアドレスと任意の **名** 前を入力する。" + +msgid "IMG_286" +msgstr "" + +#: ../remote_desktop.rst:87 +msgid "Double click the **connection** just created:" +msgstr "作成した **接続** をダブルクリックする:" + +msgid "IMG_287" +msgstr "" + +#: ../remote_desktop.rst:94 +msgid "**Step 5**" +msgstr "**ステップ5**" + +#: ../remote_desktop.rst:96 +msgid "Enter Username (**pi**) and Password (**raspberry** by default)." +msgstr "ユーザー名 (**pi**) とパスワード(デフォルトでは **raspberry** である)を入力する。" + +msgid "IMG_288" +msgstr "" + +#: ../remote_desktop.rst:103 +msgid "**Step 6**" +msgstr "**ステップ6**" + +#: ../remote_desktop.rst:105 +msgid "Now you can see the desktop of the Raspberry Pi:" +msgstr "これで、Raspberry Piのデスクトップが表示される:" + +msgid "IMG_289" +msgstr "" + +#: ../remote_desktop.rst:112 +msgid "That's the end of the VNC part." +msgstr "" + +#: ../remote_desktop.rst:116 +msgid "XRDP" +msgstr "XRDP" + +#: ../remote_desktop.rst:118 +msgid "" +"Another method of remote desktop is XRDP, it provides a graphical login " +"to remote machines using RDP (Microsoft Remote Desktop Protocol)." +msgstr "" +"リモートデスクトップのもう一つの方法はXRDPで、RDP(Microsoft Remote Desktop " +"Protocol)を使用してリモートマシンへのグラフィカルなログインを提供します。" + +#: ../remote_desktop.rst:121 +msgid "**Install XRDP**" +msgstr "**XRDPを実装する**" + +#: ../remote_desktop.rst:125 +msgid "Login to Raspberry Pi by using SSH." +msgstr "SSHを使用してRaspberry Piにログインする。" + +#: ../remote_desktop.rst:129 +msgid "Input the following instructions to install XRDP." +msgstr "以下の指示を入力して、XRDPを実装する。" + +#: ../remote_desktop.rst:142 +msgid "Later, the installation starts." +msgstr "その後、実装が開始される。" + +#: ../remote_desktop.rst:144 +msgid "Enter \"Y\", press key “Enter” to confirm." +msgstr "「Y」を入力し、「Enter」キーを押して確認する。" + + +msgid "图片1" +msgstr "画像1" + +#: ../remote_desktop.rst:153 +msgid "" +"Finished the installation, you should login to your Raspberry Pi by using" +" Windows remote desktop applications." +msgstr "実装が完了したら、Windowsリモートデスクトップアプリケーションを使用してRaspberry Piにログインする必要がある。" + +#: ../remote_desktop.rst:156 +msgid "**Login to XRDP**" +msgstr "**XRDPにログインする**" + +#: ../remote_desktop.rst:160 +msgid "" +"If you are a Windows user, you can use the Remote Desktop feature that " +"comes with Windows. If you are a Mac user, you can download and use " +"Microsoft Remote Desktop from the APP Store, and there is not much " +"difference between the two. The next example is Windows remote desktop." +msgstr "" +"Windowsユーザーの場合、Windowsに付属のリモートデスクトップ機能を利用できる。Macユーザーの場合は、APP " +"StoreからMicrosoftリモートデスクトップをダウンロードして使用できる。両者に特に大きな違いはない。Windowsリモートデスクトップについて、次の例をご参照ください。" + +#: ../remote_desktop.rst:167 +msgid "" +"Type in“\\ **mstsc**\\ ” in Run (WIN+R) to open the Remote Desktop " +"Connection, and input the IP address of Raspberry Pi, then click on " +"“Connect”." +msgstr "" +"[実行(WIN + R)]に「 **mstsc** 」と入力してリモートデスクトップ接続を開き、Raspberry " +"PiのIPアドレスを入力して、「接続」をクリックする。" + +msgid "IMG_291" +msgstr "" + +#: ../remote_desktop.rst:178 +msgid "" +"Then the xrdp login page pops out. Please type in your username and " +"password. After that, please click “OK”. At the first time you log in, " +"your username is “pi” and the password is “raspberry”." +msgstr "次に、xrdpログインページが表示される。ユーザー名とパスワードを入力してください。その後、「OK」をクリックしてください。初めてログインする場合は、ユーザー名は「pi」、パスワードは「raspberry」である。" + +msgid "IMG_292" +msgstr "" + +#: ../remote_desktop.rst:189 +msgid "Here, you successfully login to RPi by using the remote desktop." +msgstr "ここでは、リモートデスクトップを使用してRPiに正常にログインできる。" + + +msgid "2019-11-07-090413_1024x600_scrot" +msgstr "2019-11-07-090413_1024x600_scrot" + +#: ../remote_desktop.rst:196 +msgid "**Copyright Notice**" +msgstr "**著作権表示**" + +#: ../remote_desktop.rst:198 +msgid "" +"All contents including but not limited to texts, images, and code in this" +" manual are owned by the SunFounder Company. You should only use it for " +"personal study, investigation, enjoyment, or other non-commercial or " +"nonprofit purposes, under the related regulations and copyrights laws, " +"without infringing the legal rights of the author and relevant right " +"holders. For any individual or organization that uses these for " +"commercial profit without permission, the Company reserves the right to " +"take legal action." +msgstr "" +"このマニュアルのテキスト、画像とコードを含むがこれらに限定されないすべての内容は、SunFounder " +"Companyが所有している。関連する規制と著作権法に基づき、著者と関連する権利所有者の法的権利を侵害することなく、個人的な研究、調査、享楽、またはその他の非営利目的でのみ使用してください。許可なく営利目的でこれを使用する個人または組織については、会社は法的措置を取る権利を留保する。" + +#~ msgid " IMG_280" +#~ msgstr "IMG_280" + +#~ msgid " IMG_283" +#~ msgstr "IMG_283" + +#~ msgid " IMG_285" +#~ msgstr "IMG_285" + +#~ msgid " IMG_286" +#~ msgstr "IMG_286" + +#~ msgid " IMG_287" +#~ msgstr "IMG_287" + +#~ msgid " IMG_288" +#~ msgstr "IMG_288" + +#~ msgid " IMG_289" +#~ msgstr "IMG_289" + +#~ msgid " IMG_291" +#~ msgstr "IMG_291" + +#~ msgid " IMG_292" +#~ msgstr "IMG_292" + diff --git a/docs/source/locale/ja/LC_MESSAGES/scratch/play_with_scratch.po b/docs/source/locale/ja/LC_MESSAGES/scratch/play_with_scratch.po new file mode 100644 index 0000000..500c71a --- /dev/null +++ b/docs/source/locale/ja/LC_MESSAGES/scratch/play_with_scratch.po @@ -0,0 +1,46 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, sunfounder +# This file is distributed under the same license as the SunFounder Da Vinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Da Vinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-07-29 17:00+0800\n" +"PO-Revision-Date: 2021-08-04 18:03+0800\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" +"Last-Translator: \n" +"Language-Team: \n" +"X-Generator: Poedit 2.4.3\n" + +#: ../scratch/play_with_scratch.rst:2 +msgid "Play with Scratch" +msgstr "スクラッチで遊ぶ" + +#: ../scratch/play_with_scratch.rst:4 +msgid "" +"Scratch is a block-based visual programming language and website " +"targeted primarily at children 8-16 as an educational tool for coding. " +"Users of the site can create projects on the web using a block-like " +"interface. The service is developed by the MIT Media Lab, has been " +"translated into 70+ languages, and is used in most parts of the world." +msgstr "" +"Scratchは、コーディングの教育ツールとして主に8〜16歳の子供を対象としたブ" +"ロックベースのビジュアルプログラミング言語およびWebサイトです。 サイトの" +"ユーザーは、ブロックのようなインターフェイスを使用してWeb上にプロジェクト" +"を作成できます。 このサービスはMITメディアラボによって開発され、70以上の" +"言語に翻訳されており、世界のほとんどの地域で使用されています。" + +#: ../scratch/play_with_scratch.rst:7 +msgid "" +"Here you will learn to use Scratch 3 in Raspberry Pi and access " +"Raspberry Pi GPIO with Scratch 3, which is not possible with online " +"Scratch." +msgstr "" +"ここでは、RaspberryPiでScratch3を使用し、オンラインScratchでは不可能な" +"ScratchでRaspberry Pi GPIOにアクセスする方法を学習します。" diff --git a/docs/source/locale/ja/LC_MESSAGES/scratch/quick_quide_on_scratch.po b/docs/source/locale/ja/LC_MESSAGES/scratch/quick_quide_on_scratch.po new file mode 100644 index 0000000..cdc764b --- /dev/null +++ b/docs/source/locale/ja/LC_MESSAGES/scratch/quick_quide_on_scratch.po @@ -0,0 +1,223 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, sunfounder +# This file is distributed under the same license as the SunFounder Da Vinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Da Vinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-07-29 17:00+0800\n" +"PO-Revision-Date: 2021-08-04 18:15+0800\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" +"Last-Translator: \n" +"Language-Team: \n" +"X-Generator: Poedit 2.4.3\n" + +#: ../scratch/quick_quide_on_scratch.rst:2 +msgid "Quick Guide on Scratch" +msgstr "Scratchに関するクイックガイド" + +#: ../scratch/quick_quide_on_scratch.rst:6 +msgid "" +"When programming with Scratch 3, you may need a screen for a better " +"experience. Of course, if you don't have a screen, you can also use **VNC** " +"to access the Raspberry Pi desktop remotely, for a detailed tutorial please " +"refer to :ref:`VNC`." +msgstr "" +"Scratch 3でプログラミングする場合、より良いエクスペリエンスのために画面が必要" +"になる場合があります。 もちろん、画面がない場合は、**VNC** を使用して" +"RaspberryPiデスクトップにリモートでアクセスすることもできます。詳細なチュート" +"リアルについては、:ref:`VNC` を参照してください。" + +#: ../scratch/quick_quide_on_scratch.rst:8 +msgid "" +"In addition, Scratch 3 needs at least 1GB of RAM to run, and we recommend a " +"Raspberry Pi 4 with at least 2GB RAM. While you can run Scratch 3 on a " +"Raspberry Pi 2, 3, 3B+, or a Raspberry 4 with 1GB RAM, performance on these " +"models is reduced, and depending on what other software you run at the same " +"time, Scratch 3 may fail to start due to lack of memory." +msgstr "" +"さらに、Scratch3を実行するには少なくとも1GBのRAMが必要です。少なくとも2GBの" +"RAMを搭載したRaspberry Pi 4をお勧めします。 Scratch3はRaspberry Pi 2、3、3B " +"+、または1GBRAMのRaspberry 4で実行できますが、これらのモデルのパフォーマンス" +"は低になります。その同時に、実行する他のソフトウェアの影響を受けて、メモリ不" +"足が起こり、Scratch3が起動しない場合があります。" + +#: ../scratch/quick_quide_on_scratch.rst:11 +msgid "Install Scratch 3" +msgstr "Scratch3をインストールする" + +#: ../scratch/quick_quide_on_scratch.rst:12 +msgid "" +"When installing Raspberry Pi OS (:ref:`Installing the OS`), you have to " +"choose the version with desktop, either with desktop only or with desktop " +"and recommended software." +msgstr "" +"Raspberry Pi OSをインストールする(:ref:`Installing the OS`)ときは、デスクトッ" +"プ付きのバージョンを選択する必要があります。デスクトップのみ、またはデスク" +"トップと推奨ソフトウェア付きのも問題ありません。" + +#: ../scratch/quick_quide_on_scratch.rst:14 +msgid "" +"If you install the version with the recommended software, you can see " +"Scratch 3 in the system menu at **Programming**." +msgstr "" +"推奨ソフトウェアを使用してバージョンをインストールすると、**Programming** のシ" +"ステムメニューにScratch 3が表示されます。" + +#: ../scratch/quick_quide_on_scratch.rst:16 +msgid "" +"If you installed the desktop-only version, you will need to install Scratch " +"3 manually, as described below." +msgstr "" +"デスクトップのみのバージョンをインストールした場合は、以下に説明するように、" +"Scratchを手動でインストールする必要があります。" + +#: ../scratch/quick_quide_on_scratch.rst:18 +msgid "Open up the menu, click on **Preferences** -> **Recommended Software**." +msgstr "" +"メニューを開き、**Preferences** -> **Recommended Software** をクリックします。" + +#: ../scratch/quick_quide_on_scratch.rst:23 +msgid "" +"Find scratch 3 and check it, then click **Apply** and finally wait for the " +"installation to finish." +msgstr "" +"Scratch 3を見つけて確認し、**Apply** をクリックして、最後にインストールが完了" +"するのを待ちます。" + +#: ../scratch/quick_quide_on_scratch.rst:28 +msgid "" +"Once the installation is complete, you should see it on the **Programming** " +"in the system menu." +msgstr "" +"インストールが完了すると、システムメニューの **Programming** に表示されます。" + +#: ../scratch/quick_quide_on_scratch.rst:34 +msgid "About Scratch 3's Interface" +msgstr "Scratch3のインターフェースについて" + +#: ../scratch/quick_quide_on_scratch.rst:36 +msgid "" +"Scratch 3 is designed to be fun, educational, and easy to learn. It has " +"tools for creating interactive stories, games, art, simulations, and more, " +"using block-based programming. Scratch also has its own paint " +"editor and sound editor built-in." +msgstr "" +"Scratch 3は、楽しく、教育的で、簡単に習得できるように設計されています。 ブ" +"ロックベースのプログラミングを使用して、インタラクティブなストーリー、ゲー" +"ム、アート、シミュレーションなどを作成するためのツールがあります。 Scratchに" +"は、独自のペイントエディタとサウンドエディタも組み込まれています。" + +#: ../scratch/quick_quide_on_scratch.rst:38 +msgid "" +"The top of scratch 3 has some basic options, the first one from left to " +"right is the language option, you can choose different languages for " +"programming. The second one is the **File** option, you can create new " +"files, read local files and save current files with this option. The third " +"is the **Edit** option, which allows you to resume some deletion operations " +"and enable the acceleration mode (in which the sprite movement becomes " +"particularly fast). The fourth is the **Tutorials** option, which allows you " +"to view tutorials for some projects. The fifth is the file naming option, " +"where you can rename the project." +msgstr "" +"スクラッチ3の上部にはいくつかの基本的なオプションがあり、左から右への最初のオ" +"プションは言語オプションです。プログラミング用にさまざまな言語を選択できま" +"す。 2つ目は **File** オプションです。このオプションを使用すると、新しいファイ" +"ルを作成したり、ローカルファイルを読み取ったり、現在のファイルを保存したりで" +"きます。 3つ目は、**Edit** オプションです。これを使用すると、一部の削除操作を" +"再開して、加速モード(spritesの動きが特に速くなる)を有効にできます。 4つ目" +"は、**Tutorials** オプションです。これを使用すると、一部のプロジェクトのチュー" +"トリアルを表示できます。 5つ目は、プロジェクトの名前を変更できるファイル名付" +"けオプションです。" + +#: ../scratch/quick_quide_on_scratch.rst:43 +msgid "**Code**" +msgstr "**コード**" + +#: ../scratch/quick_quide_on_scratch.rst:45 +msgid "" +"It has three main sections: a stage area, block palette, and coding area. " +"Programming by clicking and dragging the block on the block palette to the " +"coding area, and finally your programming results will be displayed on the " +"stage area." +msgstr "" +"ステージ領域、ブロックパレット、コーディング領域の3つの主要なセクションがあり" +"ます。 ブロックパレットのブロックをクリックしてコーディング領域にドラッグする" +"ことによるプログラミング。最後に、プログラミング結果がステージ領域に表示され" +"ます。" + +#: ../scratch/quick_quide_on_scratch.rst:50 +msgid "" +"Here is the sprites area of Scratch 3. Above the area are the basic " +"parameters of the sprites, you can add sprites that come with Scratch 3 or " +"upload local sprites." +msgstr "" +"これがScratch3のsprites areaです。この領域の上にspritesの基本パラメータがあ" +"り、Scratch 3に付属のspritesを追加したり、ローカルspritesをアップロードしたり" +"できます。" + +#: ../scratch/quick_quide_on_scratch.rst:55 +msgid "" +"Here is the Scratch 3 backdrop area, mainly to add a suitable backdrop for " +"your stage, you can add the backdrop that comes with Scratch 3 or upload a " +"local one." +msgstr "" +"これがScratch3のbackdrop areaです。主にステージに適したbackdropを追加するため" +"に、Scratch 3に付属のbackdropを追加するか、ローカルのものをアップロードできま" +"す。" + +#: ../scratch/quick_quide_on_scratch.rst:60 +msgid "This is a **Add Extension** button." +msgstr "これは **Add Extension** ボタンです。" + +#: ../scratch/quick_quide_on_scratch.rst:65 +msgid "" +"In Scratch 3, we can add all kinds of useful extensions, here we take " +"**Video Sensing** as an example and click on it." +msgstr "" +"Scratch 3では、あらゆる種類の便利な拡張機能を追加できます。ここでは、Video " +"Sensingを例として取り上げ、それをクリックします。" + +#: ../scratch/quick_quide_on_scratch.rst:70 +msgid "" +"You will see it on the block palette and you can use the functions " +"associated with this extension. If you have a camera connected, you will see " +"the camera screen on the stage area." +msgstr "" +"block paletteに表示され、この拡張機能に関連付けられている機能を使用できま" +"す。 カメラを接続している場合は、stage areaにカメラ画面が表示されます。" + +#: ../scratch/quick_quide_on_scratch.rst:74 +msgid "**Costumes**" +msgstr "**コスチューム**" + +#: ../scratch/quick_quide_on_scratch.rst:76 +msgid "" +"Click on the **Costumes** option in the upper left corner to enter the " +"costumes palette. Different costumes allow the sprites to have different " +"static movements, and when these static movements are stitched together, " +"they form a coherent dynamic movement." +msgstr "" +"左上隅の **Costumes** オプションをクリックして、costumes paletteに入ります。 " +"costumesが異なれば、spritesの静的な動きも異なります。これらの静的な動きをつな" +"ぎ合わせると、一貫した動的な動きが形成されます。" + +#: ../scratch/quick_quide_on_scratch.rst:80 +msgid "**Sounds**" +msgstr "**音声**" + +#: ../scratch/quick_quide_on_scratch.rst:82 +msgid "" +"You may need to use some music clips to make your experiments more " +"interesting. Click on the **Sounds** option in the upper left corner and you " +"can edit the current sound or select/upload a new one." +msgstr "" +"実験をより面白くするために、いくつかの音楽クリップを使用する必要があるかもし" +"れません。 左上隅の **Sounds** オプションをクリックすると、現在のサウンドを編集" +"したり、新しいサウンドを選択/アップロードしたりできます。" diff --git a/docs/source/locale/ja/LC_MESSAGES/scratch/scratch_1.10_rotating_fan.po b/docs/source/locale/ja/LC_MESSAGES/scratch/scratch_1.10_rotating_fan.po new file mode 100644 index 0000000..b5c61ab --- /dev/null +++ b/docs/source/locale/ja/LC_MESSAGES/scratch/scratch_1.10_rotating_fan.po @@ -0,0 +1,154 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, sunfounder +# This file is distributed under the same license as the SunFounder Da Vinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Da Vinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-07-29 17:00+0800\n" +"PO-Revision-Date: 2021-08-05 11:17+0800\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" +"Last-Translator: \n" +"Language-Team: \n" +"Language: fan\n" +"X-Generator: Poedit 2.4.3\n" + +#: ../scratch/scratch_1.10_rotating_fan.rst:2 +msgid "1.10 Rotating fan" +msgstr "1.10 Rotating fan (回転ファン)" + +#: ../scratch/scratch_1.10_rotating_fan.rst:5 +msgid "In this project, we will make a spinning star sprite and fan." +msgstr "このプロジェクトでは、回転する星のspriteとファンを作成します。" + +#: ../scratch/scratch_1.10_rotating_fan.rst:10 +msgid "Required Components" +msgstr "必要な部品" + +#: ../scratch/scratch_1.10_rotating_fan.rst:15 +msgid "Build the Circuit" +msgstr "回路を構築する" + +#: ../scratch/scratch_1.10_rotating_fan.rst:20 +msgid "Load the Code and See What Happens" +msgstr "コードをロードして、何が起こるかを確認します" + +#: ../scratch/scratch_1.10_rotating_fan.rst:22 +msgid "Load the code file (``1.10_rotating_fan.sb3``) to Scratch 3." +msgstr "" +"コードファイル(``1.10_rotating_fan.sb3``)をScratch3にロードします。" + +#: ../scratch/scratch_1.10_rotating_fan.rst:24 +msgid "" +"After clicking the green flag on the stage, click on the star sprite," +"then it and the motor will rotate clockwise; you can change the " +"direction of rotation by clicking on the two **arrow** sprites. When you " +"click on the **star** sprite again, it and the motor will stop rotating." +msgstr "" +"ステージ上の緑色の旗をクリックした後、star spriteをクリックすると、それと" +"モーターが時計回りに回転します。 2つの **arrow** spritesをクリックすると、" +"回転方向を変更できます。 **star** spriteをもう一度クリックすると、star " +"spriteとモーターの回転が停止します。" + +#: ../scratch/scratch_1.10_rotating_fan.rst:27 +msgid "Tips on Sprite" +msgstr "Spriteに関するヒント" + +#: ../scratch/scratch_1.10_rotating_fan.rst:28 +msgid "" +"Delete the default sprite, then select the **Star** sprite and the " +"**Arrow1** sprite, and copy Arrow1 once." +msgstr "" +"デフォルトのspriteを削除してから、**Star** spriteと **Arrow1** spriteを選択" +"し、Arrow1を1回コピーします。" + +#: ../scratch/scratch_1.10_rotating_fan.rst:32 +msgid "" +"In the **Costumes** option, change the Arrow2 sprite to a different " +"direction costume." +msgstr "" +"**Costumes** オプションで、Arrow2 spriteを別の方向のcostumeに変更します。" + +#: ../scratch/scratch_1.10_rotating_fan.rst:36 +msgid "Adjust the size and position of the sprite appropriately." +msgstr "spriteのサイズと位置を適切に調整します。" + +#: ../scratch/scratch_1.10_rotating_fan.rst:42 +msgid "Tips on Codes" +msgstr "コードに関するヒント" + +#: ../scratch/scratch_1.10_rotating_fan.rst:44 +msgid "**Flow Chart**" +msgstr "**Flow Chart** フローチャート" + +#: ../scratch/scratch_1.10_rotating_fan.rst:48 +msgid "" +"In this code, you will see 2 pink blocks, turn left and turn right, " +"which are our custom blocks (functions)." +msgstr "" +"このコードでは、カスタムブロック(関数)である2つのピンクのブロックが左に" +"曲がって右に曲がっています。" + +#: ../scratch/scratch_1.10_rotating_fan.rst:52 +msgid "**How to Make a Block?**" +msgstr "**ブロックを作る方法は?**" + +#: ../scratch/scratch_1.10_rotating_fan.rst:54 +msgid "" +"Let's learn how to make a block (function). The block (function) can be " +"used to simplify your program, especially if you perform the same " +"operation multiple times. Putting these operations into a newly declared " +"block can be very convenient for you." +msgstr "" +"ブロック(関数)の作り方を学びましょう。 ブロック(関数)は、プログラムを" +"単純化するために使用できます。特に同じ操作を複数回実行する場合です。 これ" +"らの操作を新しく宣言されたブロックに入れると、非常に便利です。" + +#: ../scratch/scratch_1.10_rotating_fan.rst:56 +msgid "" +"First find **My Blocks** in the block palette, then select **Make a " +"Block**." +msgstr "" +"最初にblock paletteで **My Blocks** を見つけてから、**Make a Block** を選択" +"します。" + +#: ../scratch/scratch_1.10_rotating_fan.rst:60 +msgid "Enter the name of the new block." +msgstr "新しいブロックの名前を入力します。" + +#: ../scratch/scratch_1.10_rotating_fan.rst:64 +msgid "" +"After writing the function of the new block in the coding area, save it " +"and then you can find the block in the blocks palette." +msgstr "" +"coding areaに新しいブロックの機能を書き込んだ後、それを保存すると、" +"blocks paletteでブロックを見つけることができます。" + +#: ../scratch/scratch_1.10_rotating_fan.rst:68 +msgid "**turn left**" +msgstr "**turn left**" + +#: ../scratch/scratch_1.10_rotating_fan.rst:70 +msgid "" +"This is the code inside the turn left block to make the motor rotate " +"counterclockwise." +msgstr "" +"これは、モーターを反時計回りに回転させるための左折ブロック内のコードで" +"す。" + +#: ../scratch/scratch_1.10_rotating_fan.rst:75 +msgid "**turn right**" +msgstr "**turn right**" + +#: ../scratch/scratch_1.10_rotating_fan.rst:77 +msgid "" +"This is the code inside the turn right block to make the motor rotate " +"clockwise." +msgstr "" +"これは、モーターを時計回りに回転させるための右折ブロック内のコードです。" diff --git a/docs/source/locale/ja/LC_MESSAGES/scratch/scratch_1.1_wand.po b/docs/source/locale/ja/LC_MESSAGES/scratch/scratch_1.1_wand.po new file mode 100644 index 0000000..6b95c2f --- /dev/null +++ b/docs/source/locale/ja/LC_MESSAGES/scratch/scratch_1.1_wand.po @@ -0,0 +1,127 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, sunfounder +# This file is distributed under the same license as the SunFounder Da Vinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Da Vinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-04 15:50+0800\n" +"PO-Revision-Date: 2021-08-04 18:19+0800\n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../scratch/scratch_1.1_wand.rst:2 +msgid "1.1 Wand" +msgstr "1.1 Wand (ワンド)" + +#: ../scratch/scratch_1.1_wand.rst:4 +msgid "" +"Today we will use LED, Raspberry Pi and Scratch to make a fun game. When " +"we wave the magic wand, the LED will blink." +msgstr "今日は、LED、Raspberry Pi、Scratchを使って楽しいゲームを作ります。 魔法の杖を振ると、LEDが点滅します。" + +#: ../scratch/scratch_1.1_wand.rst:9 +msgid "Required Components" +msgstr "必要な部品" + +#: ../scratch/scratch_1.1_wand.rst:14 +msgid "Build the Circuit" +msgstr "回路を構築する" + +#: ../scratch/scratch_1.1_wand.rst:19 +msgid "Add GPIO Extension" +msgstr "GPIO拡張機能を追加する" + +#: ../scratch/scratch_1.1_wand.rst:21 +msgid "" +"Click on the **Add Extension** button in the bottom left corner,then add " +"the **Raspberry Pi GPIO**, an extension we use for all of our Scratch " +"projects." +msgstr "" +"左下隅にある **Add Extension** ボタンをクリックしてから、すべてのScratchプロジェクトに使用する拡張機能である " +"**Raspberry Pi GPIO** を追加します。" + +#: ../scratch/scratch_1.1_wand.rst:33 +msgid "Load the Code and See What Happens" +msgstr "コードをロードして、何が起こるかを確認します" + +#: ../scratch/scratch_1.1_wand.rst:35 +msgid "" +"Load the code file from your computer(``home/pi/davinci-kit-for-" +"raspberry-pi/scratch/code``) to Scratch 3." +msgstr "" +"コンピューター(``home/pi/davinci-kit-for-raspberry-" +"pi/scratch/code``)からScratch3にコードファイルをロードします。" + +#: ../scratch/scratch_1.1_wand.rst:41 +msgid "" +"After clicking the magic wand in the stage area, you will see the LED " +"will blink for two seconds." +msgstr "stage areaの魔法の杖をクリックすると、LEDが2秒間点滅します。" + +#: ../scratch/scratch_1.1_wand.rst:47 +msgid "Tips on Sprite" +msgstr "Spriteに関するヒント" + +#: ../scratch/scratch_1.1_wand.rst:49 +msgid "Click on the **Upload Sprite**." +msgstr "**Upload Sprite** をクリックします。" + +#: ../scratch/scratch_1.1_wand.rst:53 +msgid "" +"Upload **Wand.png** from the ``home/pi/davinci-kit-for-raspberry-" +"pi/scratch/picture`` path to Scratch 3." +msgstr "" +"**Wand.png** を ``home/pi/davinci-kit-for-raspberry-" +"pi/scratch/picture`` パスからScratch3にアップロードします。" + +#: ../scratch/scratch_1.1_wand.rst:57 +msgid "Finally, delete the **Sprite1**." +msgstr "最後に、**Sprite1** を削除します。" + +#: ../scratch/scratch_1.1_wand.rst:62 +msgid "Tips on Codes" +msgstr "コードに関するヒント" + +#: ../scratch/scratch_1.1_wand.rst:67 +msgid "" +"This is an event block whose trigger condition is to click on the green " +"flag on the stage. A trigger event is required at the beginning of all " +"codes, and you can select other trigger events in the **Events** category" +" of the **block palette**." +msgstr "" +"これは、ステージ上の緑色の旗をクリックすることをトリガー条件とするイベントブロックです。 " +"すべてのコードの先頭にトリガーイベントが必要です。**block palette** の **Events** " +"カテゴリで他のトリガーイベントを選択できます。" + +#: ../scratch/scratch_1.1_wand.rst:72 +msgid "For example, we can now change the trigger event to a click on the sprite." +msgstr "たとえば、トリガーイベントをspriteのクリックに変更できるようになりました。" + +#: ../scratch/scratch_1.1_wand.rst:77 +msgid "" +"This is a block with a set number of cycles. When we fill in the number " +"10, the events in the block will be executed 10 times." +msgstr "これは、設定されたサイクル数のブロックです。 数字の10を入力すると、ブロック内のイベントが10回実行されます。" + +#: ../scratch/scratch_1.1_wand.rst:82 +msgid "This block is used to pause the program for a period of time in seconds." +msgstr "このブロックは、プログラムを秒単位で一時停止するために使用されます。" + +#: ../scratch/scratch_1.1_wand.rst:87 +msgid "" +"Since the BCM naming method is used in Scratch, this code is setting " +"GPIO17(BCM17) as 0V (low level). Since the cathode of LED is connected to" +" GPIO17, thus the LED will light up. On the contrary, if you set " +"GPIO(BCM17) as high, the LED will turn off." +msgstr "" +"ScratchではBCMの命名方法が使用されているため、このコードはGPIO17(BCM17)を0V(低レベル)に設定しています。 " +"LEDのカソードがGPIO17に接続されているため、LEDが点灯します。 逆に、GPIO(BCM17)を高く設定すると、LEDが消灯します。" + diff --git a/docs/source/locale/ja/LC_MESSAGES/scratch/scratch_1.2_colorful_balls.po b/docs/source/locale/ja/LC_MESSAGES/scratch/scratch_1.2_colorful_balls.po new file mode 100644 index 0000000..f182cff --- /dev/null +++ b/docs/source/locale/ja/LC_MESSAGES/scratch/scratch_1.2_colorful_balls.po @@ -0,0 +1,137 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, sunfounder +# This file is distributed under the same license as the SunFounder Da Vinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Da Vinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-07-29 17:00+0800\n" +"PO-Revision-Date: 2021-08-04 18:24+0800\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" +"Last-Translator: \n" +"Language-Team: \n" +"X-Generator: Poedit 2.4.3\n" + +#: ../scratch/scratch_1.2_colorful_balls.rst:2 +msgid "1.2 Colorful Balls" +msgstr "1.2 Colorful Balls (カラフルなボール)" + +#: ../scratch/scratch_1.2_colorful_balls.rst:5 +msgid "" +"Clicking on different colored balls on the stage area will cause the RGB " +"LED to light up in different colors." +msgstr "" +"stage areaの異なる色のボールをクリックすると、RGBLEDが異なる色で点灯しま" +"す。" + +#: ../scratch/scratch_1.2_colorful_balls.rst:10 +msgid "Required Components" +msgstr "必要な部品" + +#: ../scratch/scratch_1.2_colorful_balls.rst:15 +msgid "Build the Circuit" +msgstr "回路を構築する" + +#: ../scratch/scratch_1.2_colorful_balls.rst:21 +msgid "Load the Code and See What Happens" +msgstr "コードをロードして、何が起こるかを確認します" + +#: ../scratch/scratch_1.2_colorful_balls.rst:23 +msgid "" +"After loading the code file (``1.2_colorful_balls.sb3``) into Scratch 3, " +"the RGB LED will light up yellow, blue, red, green or purple " +"respectively when you click on the corresponding ball." +msgstr "" +"コードファイル(``1.2_colorful_balls.sb3``)をScratch 3にロードした後、対応" +"するボールをクリックすると、RGB LEDがそれぞれ黄色、青、赤、緑、または紫に" +"点灯します。" + +#: ../scratch/scratch_1.2_colorful_balls.rst:26 +msgid "Tips on Sprites" +msgstr "Spriteに関するヒント" + +#: ../scratch/scratch_1.2_colorful_balls.rst:28 +msgid "Delete the default sprite, then choose the **Ball** sprite." +msgstr "デフォルトのspriteを削除してから、**Ball** spriteを選択します。" + +#: ../scratch/scratch_1.2_colorful_balls.rst:32 +msgid "And duplicate it 5 times." +msgstr "そしてそれを5回複製(duplicate)します。" + +#: ../scratch/scratch_1.2_colorful_balls.rst:36 +msgid "" +"Choose different costumes for these 5 **Ball** sprites and move them to " +"the corresponding positions." +msgstr "" +"これらの5つの **Ball** spriteに異なるcostumesを選択し、対応する位置に移動し" +"ます。" + +#: ../scratch/scratch_1.2_colorful_balls.rst:41 +msgid "Tips on Codes" +msgstr "コードに関するヒント" + +#: ../scratch/scratch_1.2_colorful_balls.rst:42 +msgid "" +"Before understanding the code, we need to understand the `RGB color " +"model `_." +msgstr "" +"コードを理解する前に、`RGB color model `_." + +#: ../scratch/scratch_1.2_colorful_balls.rst:44 +msgid "" +"The RGB color model is an additive color model in which red, green, and " +"blue light are added together in various ways to reproduce a broad array " +"of colors." +msgstr "" +"RGBカラーモデルは、赤、緑、青の光をさまざまな方法で足し合わせて、さまざま" +"な色を再現する加法色モデルです。" + +#: ../scratch/scratch_1.2_colorful_balls.rst:46 +msgid "" +"Additive color mixing: adding red to green yields yellow; adding green " +"to blue yields cyan; adding blue to red yields magenta; adding all three " +"primary colors together yields white." +msgstr "" +"加法混色:緑に赤を加えると黄色になります。 青に緑を加えるとシアンになりま" +"す。 赤に青を加えるとマゼンタになります。 3つの原色すべてを足し合わせると" +"白になります。" + +#: ../scratch/scratch_1.2_colorful_balls.rst:51 +msgid "" +"An RGB LED is a combination of 3 LEDs(red LED, green LED, blue LED ) in " +"just one package, you can produce almost any color by combining those " +"three colors. It has 4 pins, one of which is GND, and the other 3 pins " +"control 3 LEDs respectively." +msgstr "" +"RGB LEDは、3つのLED(赤色LED、緑色LED、青色LED)を1つのパッケージに組み合" +"わせたもので、これら3つの色を組み合わせることでほぼすべての色を生成できま" +"す。 4つのピンがあり、そのうちの1つはGNDで、他の3つのピンはそれぞれ3つの" +"LEDを制御します。" + +#: ../scratch/scratch_1.2_colorful_balls.rst:54 +msgid "So the code to make the RGB LED light yellow is as follows." +msgstr "したがって、RGBLEDを明るい黄色にするコードは次のとおりです。" + +#: ../scratch/scratch_1.2_colorful_balls.rst:59 +msgid "" +"When the Ball sprite (yellow ball) is clicked, we set gpio17 high (red " +"LED on), gpio18 high (green LED on) and gpio27 low (blue LED off) so " +"that the RGB LED will light yellow." +msgstr "" +"Ball sprite(黄色のボール)をクリックすると、GPIO17が高(赤のLEDがオ" +"ン)、GPIO18が高(緑のLEDがオン)、GPIO27が低(青のLEDがオフ)に設定さ" +"れ、RGBLEDが黄色に点灯するように設定します。" + +#: ../scratch/scratch_1.2_colorful_balls.rst:61 +msgid "" +"You can Write codes to other sprites in the same way to make the RGB " +"LEDs light up in the corresponding colors." +msgstr "" +"同じ方法で他のspriteにコードを書き込んで、RGB LEDを対応する色で点灯させる" +"ことができます。" diff --git a/docs/source/locale/ja/LC_MESSAGES/scratch/scratch_1.3_tumbler.po b/docs/source/locale/ja/LC_MESSAGES/scratch/scratch_1.3_tumbler.po new file mode 100644 index 0000000..e5f17f2 --- /dev/null +++ b/docs/source/locale/ja/LC_MESSAGES/scratch/scratch_1.3_tumbler.po @@ -0,0 +1,91 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, sunfounder +# This file is distributed under the same license as the SunFounder Da Vinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Da Vinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-07-29 17:00+0800\n" +"PO-Revision-Date: 2021-08-04 18:30+0800\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" +"Last-Translator: \n" +"Language-Team: \n" +"X-Generator: Poedit 2.4.3\n" + +#: ../scratch/scratch_1.3_tumbler.rst:2 +msgid "1.3 Tumbler" +msgstr "1.3 Tumbler (タンブラー)" + +#: ../scratch/scratch_1.3_tumbler.rst:4 +msgid "In this project, we will make a tilt switch controlled tumbler toy." +msgstr "このプロジェクトでは、チルトスイッチ制御のタンブラー玩具を作ります。" + +#: ../scratch/scratch_1.3_tumbler.rst:9 +msgid "Required Components" +msgstr "必要な部品" + +#: ../scratch/scratch_1.3_tumbler.rst:14 +msgid "Build the Circuit" +msgstr "回路を構築する" + +#: ../scratch/scratch_1.3_tumbler.rst:20 +msgid "Load the Code and See What Happens" +msgstr "コードをロードして、何が起こるかを確認します" + +#: ../scratch/scratch_1.3_tumbler.rst:22 +msgid "Load the code file (``1.3_tumbler.sb3``) to Scratch 3." +msgstr "コードファイル(``1.3_tumbler.sb3``)をScratch3にロードします。" + +#: ../scratch/scratch_1.3_tumbler.rst:24 +msgid "" +"When the tilt switch is placed upright, the tumbler is standing. If you tilt " +"it, the tumbler will also fall. Place it upright again, and the tumbler will " +"stand up again." +msgstr "" +"チルトスイッチを直立させると、タンブラーは立ったままになります。 傾けるとタンブ" +"ラーも落ちます。 再び直立させると、タンブラーが再び立ち上がります。" + +#: ../scratch/scratch_1.3_tumbler.rst:28 +msgid "Tips on Sprite" +msgstr "Spriteに関するヒント" + +#: ../scratch/scratch_1.3_tumbler.rst:29 +msgid "" +"Select Sprite1 and click **Costumes** in the top left corner; upload **tumbler1." +"png** and **tumbler2.png** from the ``home/pi/davinci-kit-for-raspberry-pi/scratch/picture`` path via the **Upload Costume** button; delete the default 2 " +"costumes, and rename the sprite to **tumbler**." +msgstr "" +"Sprite1を選択し、左上隅の **Costumes** をクリックします。 **Upload Costume** ボタン" +"を使用して、``home/pi/davinci-kit-for-raspberry-pi/scratch/picture`` パスから" +" **tumbler1.png** と **tumbler2.png** をアップロードします。 デフォルトの2つの" +"costumesを削除し、 spriteの名前を **tumbler** に変更します。" + +#: ../scratch/scratch_1.3_tumbler.rst:34 +msgid "Tips on Codes" +msgstr "コードに関するヒント" + +#: ../scratch/scratch_1.3_tumbler.rst:39 +msgid "When the green flag is clicked, the initial state of gpio17 is set to low." +msgstr "緑の旗をクリックすると、GPIO17の初期状態がlowに設定されます。" + +#: ../scratch/scratch_1.3_tumbler.rst:44 +msgid "" +"When pin17 is low (the tilt switch is placed upright), we switch the tumbler " +"sprite's costume to tumbler1 (upright state)." +msgstr "" +"pin17が低い場合(チルトスイッチが直立している場合)、tumbler sprite’s costumeを" +"tumbler1(直立状態)に切り替えます。" + +#: ../scratch/scratch_1.3_tumbler.rst:49 +msgid "" +"When pin17 is high (tilt switch is tilted), switch the tumbler sprite's costume " +"to tumbler2 (tilt state)." +msgstr "" +"pin17がハイ(チルトスイッチが傾いている)のとき、tumbler sprite’s costumeを" +"tumbler2(チルト状態)に切り替えます。" diff --git a/docs/source/locale/ja/LC_MESSAGES/scratch/scratch_1.4_hare.po b/docs/source/locale/ja/LC_MESSAGES/scratch/scratch_1.4_hare.po new file mode 100644 index 0000000..32e4217 --- /dev/null +++ b/docs/source/locale/ja/LC_MESSAGES/scratch/scratch_1.4_hare.po @@ -0,0 +1,114 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, sunfounder +# This file is distributed under the same license as the SunFounder Da Vinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Da Vinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-04 15:50+0800\n" +"PO-Revision-Date: 2021-08-05 10:12+0800\n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../scratch/scratch_1.4_hare.rst:2 +msgid "1.4 Hare" +msgstr "1.4Hare (うさぎ)" + +#: ../scratch/scratch_1.4_hare.rst:4 +msgid "" +"Today, we will use Button, Raspberry Pi and Scratch to create a hare with" +" various changes!" +msgstr "今日は、Button、Raspberry Pi、Scratchを使用して、さまざまな変更を加えたウサギを作成します。" + +#: ../scratch/scratch_1.4_hare.rst:6 +msgid "" +"When we press the first button, the hare in the stage area will change " +"its body color; when we press the second button, the hare will change its" +" body size; when we press the third button, the hare will take a step " +"forward." +msgstr "" +"最初のボタンを押すと、stage areaのうさぎの体色が変わります。 2番目のボタンを押すと、うさぎは体のサイズを変更します。 " +"3番目のボタンを押すと、うさぎは一歩前進します。" + +#: ../scratch/scratch_1.4_hare.rst:11 +msgid "Required Components" +msgstr "必要な部品" + +#: ../scratch/scratch_1.4_hare.rst:16 +msgid "Build the Circuit" +msgstr "回路を構築する" + +#: ../scratch/scratch_1.4_hare.rst:21 +msgid "Load the Code and See What Happens" +msgstr "コードをロードして、何が起こるかを確認します" + +#: ../scratch/scratch_1.4_hare.rst:23 +msgid "Load the code file (``1.4_hare.sb3``) into Scratch 3." +msgstr "コードファイル(``1.4_hare.sb3``)をScratch3にロードします。" + +#: ../scratch/scratch_1.4_hare.rst:25 +msgid "" +"Now you can try to press each of the 3 buttons to see how the Hare on the" +" stage will change." +msgstr "これで、3つのボタンをそれぞれ押して、ステージ上のうさぎがどのように変化するかを確認できます。" + +#: ../scratch/scratch_1.4_hare.rst:29 +msgid "Tips on Sprite" +msgstr "Spriteに関するヒント" + +#: ../scratch/scratch_1.4_hare.rst:31 +msgid "" +"Click the **Choose a Sprite** button in the lower right corner of the " +"sprite area, enter **Hare** in the search box, and then click to add it." +msgstr "" +"sprite areaの右下隅にある **Choose a Sprite** ボタンをクリックし、検索ボックスに **Hare** " +"と入力して、クリックして追加します。" + +#: ../scratch/scratch_1.4_hare.rst:35 +msgid "Delete Sprite1." +msgstr "Sprite1を削除します。" + +#: ../scratch/scratch_1.4_hare.rst:41 +msgid "Tips on Codes" +msgstr "コードに関するヒント" + +#: ../scratch/scratch_1.4_hare.rst:46 +msgid "" +"This is an event block that is triggered when the level of GPIO17 is " +"high, which means that the button is pressed at that moment." +msgstr "これは、GPIO17のレベルが高いときにトリガーされるイベントブロックです。つまり、その瞬間にボタンが押されます。" + +#: ../scratch/scratch_1.4_hare.rst:51 +msgid "" +"This is a block to change the color of **Hare**, the range of the value " +"is 0 ~ 199, beyond 199 will change from 0 again." +msgstr "これは **Hare** の色を変更するためのブロックです。値の範囲は0〜199で、199を超えると再び0から変更されます。" + +#: ../scratch/scratch_1.4_hare.rst:56 +msgid "" +"This is a block used to change the size for sprite, the higher the value," +" the larger the sprite." +msgstr "これは、spriteのサイズを変更するために使用されるブロックです。値が大きいほど、spriteは大きくなります。" + +#: ../scratch/scratch_1.4_hare.rst:59 +msgid "" +"The sprite is also not infinitely large, and its maximum size is related " +"to the original image size." +msgstr "spriteも無限に大きくはなく、その最大サイズは元の画像サイズに関連しています。" + +#: ../scratch/scratch_1.4_hare.rst:64 +msgid "" +"This is a block that switches sprite costumes, and when **Hare**'s " +"costume keeps switching, it does a series of coherent actions. For " +"example, in this project, make **Hare** take a step forward." +msgstr "" +"これはスプライトコスチュームを切り替えるブロックであり、**Hare** のコスチュームが切り替わり続けると、" +"一連の一貫したアクションを実行します。 たとえば、このプロジェクトでは、**Hare** に一歩前進させます。" + diff --git a/docs/source/locale/ja/LC_MESSAGES/scratch/scratch_1.5_wake_up_the_owl.po b/docs/source/locale/ja/LC_MESSAGES/scratch/scratch_1.5_wake_up_the_owl.po new file mode 100644 index 0000000..87b7173 --- /dev/null +++ b/docs/source/locale/ja/LC_MESSAGES/scratch/scratch_1.5_wake_up_the_owl.po @@ -0,0 +1,91 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, sunfounder +# This file is distributed under the same license as the SunFounder Da Vinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Da Vinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-04 15:50+0800\n" +"PO-Revision-Date: 2021-08-05 10:21+0800\n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../scratch/scratch_1.5_wake_up_the_owl.rst:2 +msgid "1.5 Wake up the Owl" +msgstr "1.5 Wake up the Owl (フクロウを起こす)" + +#: ../scratch/scratch_1.5_wake_up_the_owl.rst:4 +msgid "Today we are going to play a game of waking up the owl." +msgstr "今日はフクロウを起こすゲームをします。" + +#: ../scratch/scratch_1.5_wake_up_the_owl.rst:6 +msgid "" +"When someone approaches the PIR sensor module, the owl will wake up from " +"sleep." +msgstr "誰かがPIRセンサーモジュールに近づくと、フクロウは眠りから目覚めます。" + +#: ../scratch/scratch_1.5_wake_up_the_owl.rst:11 +msgid "Required Components" +msgstr "必要な部品" + +#: ../scratch/scratch_1.5_wake_up_the_owl.rst:16 +msgid "Build the Circuit" +msgstr "回路を構築する" + +#: ../scratch/scratch_1.5_wake_up_the_owl.rst:21 +msgid "Load the Code and See What Happens" +msgstr "コードをロードして、何が起こるかを確認します" + +#: ../scratch/scratch_1.5_wake_up_the_owl.rst:23 +msgid "Load the code file (``1.5_wake_up_the_owl.sb3``) to Scratch 3." +msgstr "コードファイル(``1.5_wake_up_the_owl.sb3``) をScratch3にロードします。" + +#: ../scratch/scratch_1.5_wake_up_the_owl.rst:25 +msgid "" +"When you approach the PIR sensor module, you will see the owl on the " +"stage area open its wings and wake up, and when you leave, the owl will " +"go back to sleep again." +msgstr "PIRセンサーモジュールに近づくと、stage areaのフクロウが羽を開いて目を覚ますのがわかります。離れると、フクロウは再び眠りに戻ります。" + +#: ../scratch/scratch_1.5_wake_up_the_owl.rst:29 +msgid "Tips on Sprite" +msgstr "Spriteに関するヒント" + +#: ../scratch/scratch_1.5_wake_up_the_owl.rst:31 +msgid "" +"Select Sprite1 and click **Costumes** in the top left corner; upload " +"**owl1.png** and **owl2.png** from the ``home/pi/davinci-kit-for-" +"raspberry-pi/scratch/picture`` path via the **Upload Costume** button; " +"delete the default 2 costumes, and rename the sprite to **owl**." +msgstr "" +"Sprite1を選択し、左上隅にある **コスチューム** をクリックします。 **owl1.png** と **owl2.png** " +"を、[コスチュームのアップロード]ボタンを介して ``home/pi/davinci-kit-for-raspberry-pi/scratch/picture`` パスからアップロードします。" +" デフォルトの2つのコスチュームを削除し、スプライトの名前を **owl** に変更します。" + +#: ../scratch/scratch_1.5_wake_up_the_owl.rst:36 +msgid "Tips on Codes" +msgstr "コードに関するヒント" + +#: ../scratch/scratch_1.5_wake_up_the_owl.rst:41 +msgid "When the green flag is clicked, the initial state of gpio17 is set to low." +msgstr "緑の旗をクリックすると、GPIO17の初期状態がlowに設定されます。" + +#: ../scratch/scratch_1.5_wake_up_the_owl.rst:46 +msgid "" +"When pin17 is low (no one is approaching), switch the costume of the owl " +"sprite to owl1 (sleeping state)." +msgstr "pin17が低い(誰も近づいていない)場合は、フクロウのSpriteのcostumeをowl1(sleeping状態)に切り替えます。" + +#: ../scratch/scratch_1.5_wake_up_the_owl.rst:51 +msgid "" +"When pin17 is high (someone is approaching), we switch the costume of owl" +" sprite to owl2 (wake up state)." +msgstr "pin17が高い(誰かが近づいている)とき、フクロウのSpriteのcostumeをowl2(wake up状態)に切り替えます。" + diff --git a/docs/source/locale/ja/LC_MESSAGES/scratch/scratch_1.6_water_lamp.po b/docs/source/locale/ja/LC_MESSAGES/scratch/scratch_1.6_water_lamp.po new file mode 100644 index 0000000..2134708 --- /dev/null +++ b/docs/source/locale/ja/LC_MESSAGES/scratch/scratch_1.6_water_lamp.po @@ -0,0 +1,131 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, sunfounder +# This file is distributed under the same license as the SunFounder Da Vinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Da Vinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-04 15:50+0800\n" +"PO-Revision-Date: 2021-08-05 10:35+0800\n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../scratch/scratch_1.6_water_lamp.rst:2 +msgid "1.6 Water Lamp" +msgstr "1.6 Water Lamp (ウォーターランプ)" + +#: ../scratch/scratch_1.6_water_lamp.rst:5 +msgid "" +"Today, we will use LED Bar Graph, Raspberry Pi and scratch to make a " +"Water Lamp." +msgstr "今日は、LED棒グラフ、Raspberry Pi、scratchを使用してWater Lampを作成します。" + +#: ../scratch/scratch_1.6_water_lamp.rst:7 +msgid "" +"The LED Bar Graph will light up in order with the direction of the arrows" +" on the stage." +msgstr "LED棒グラフがstage上の矢印の方向に合わせて点灯します。" + +#: ../scratch/scratch_1.6_water_lamp.rst:12 +msgid "Required Components" +msgstr "必要な部品" + +#: ../scratch/scratch_1.6_water_lamp.rst:17 +msgid "Build the Circuit" +msgstr "回路を構築する" + +#: ../scratch/scratch_1.6_water_lamp.rst:22 +msgid "Load the Code and See What Happens" +msgstr "コードをロードして、何が起こるかを確認します" + +#: ../scratch/scratch_1.6_water_lamp.rst:24 +msgid "" +"Load the code file (``1.6_water_lamp.sb3``) from your computer to Scratch" +" 3." +msgstr "コードファイル(``1.6_water_lamp.sb3``)をコンピューターからScratch3にロードします。" + +#: ../scratch/scratch_1.6_water_lamp.rst:26 +msgid "" +"By clicking on **Arrow1**, the LEDs on the LED bar are lit in sequence " +"from the left to the right (one at a time) and then off. Click **Arrow2**" +" and the LEDs light up in the opposite order." +msgstr "" +"**Arrow1** をクリックすると、LEDバーのLEDが左から右に(一度に1つずつ)順番に点灯し、" +"その後消灯します。 **Arrow2** をクリックすると、LEDが逆の順序で点灯します。" + +#: ../scratch/scratch_1.6_water_lamp.rst:29 +msgid "Tips on Sprites" +msgstr "Spriteに関するヒント" + +#: ../scratch/scratch_1.6_water_lamp.rst:31 +msgid "Delete the default sprite and choose the **Arrow1** sprite." +msgstr "デフォルトのspriteを削除し、**Arrow1** spriteを選択します。" + +#: ../scratch/scratch_1.6_water_lamp.rst:35 +msgid "" +"Here we will need 2 **Arrow1** sprites, which can be done with the " +"duplicate button." +msgstr "ここでは、2つの **Arrow1** spriteが必要です。これは、複製ボタンを利用し完成できます。" + +#: ../scratch/scratch_1.6_water_lamp.rst:39 +msgid "" +"Click on the **Arrow 2** sprite and change the direction of the arrow by " +"selecting costume 2." +msgstr "**Arrow 2** のSpriteをクリックし、costume2を選択して矢印の方向を変更します。" + +#: ../scratch/scratch_1.6_water_lamp.rst:44 +msgid "Now let's make a variable." +msgstr "それでは、変数を作成しましょう。" + +#: ../scratch/scratch_1.6_water_lamp.rst:49 +msgid "Name it as **num**." +msgstr "**num** という名前を付けます。" + +#: ../scratch/scratch_1.6_water_lamp.rst:54 +msgid "Follow the same method to create a list called **led**." +msgstr "同じ方法に従って、**led** というリストを作成します。" + +#: ../scratch/scratch_1.6_water_lamp.rst:59 +msgid "" +"After adding, you should see the **num** variable and the **led** list on" +" the stage area." +msgstr "追加すると、stage areaに **num** 変数と **led** リストが表示されます。" + +#: ../scratch/scratch_1.6_water_lamp.rst:61 +msgid "" +"Click **+** to add 10 list items and enter the pin numbers in order " +"(17,18,27,22,23,24,25,2,3,8)." +msgstr " **+** をクリックして10個のリスト項目を追加し、ピン番号を順番に入力します(17、18、27、22、23、24、25、2、3、8)。" + +#: ../scratch/scratch_1.6_water_lamp.rst:66 +msgid "Tips on Codes" +msgstr "コードに関するヒント" + +#: ../scratch/scratch_1.6_water_lamp.rst:71 +msgid "" +"This is an event block that is triggered when the current sprite is " +"clicked." +msgstr "これは、現在のspriteがクリックされたときにトリガーされるイベントブロックです。" + +#: ../scratch/scratch_1.6_water_lamp.rst:76 +msgid "" +"The initial value of the **num** variable determines which LED is lit " +"first." +msgstr " **num** 変数の初期値によって、最初に点灯するLEDが決まります。" + +#: ../scratch/scratch_1.6_water_lamp.rst:81 +msgid "" +"Set the pin corresponding to **num** in the led list to low to light the " +"LED, and then set the pin corresponding to **num-1** to high to turn off " +"the previous LED." +msgstr "" +"LEDリストの **num** に対応するピンをlowに設定してLEDを点灯させ、次に **num-1** " +"に対応するピンをhighに設定して前のLEDをオフにします。" + diff --git a/docs/source/locale/ja/LC_MESSAGES/scratch/scratch_1.7_doorbell.po b/docs/source/locale/ja/LC_MESSAGES/scratch/scratch_1.7_doorbell.po new file mode 100644 index 0000000..b4e7c7d --- /dev/null +++ b/docs/source/locale/ja/LC_MESSAGES/scratch/scratch_1.7_doorbell.po @@ -0,0 +1,113 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, sunfounder +# This file is distributed under the same license as the SunFounder Da Vinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Da Vinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-07-29 17:00+0800\n" +"PO-Revision-Date: 2021-08-05 10:58+0800\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" +"Last-Translator: \n" +"Language-Team: \n" +"X-Generator: Poedit 2.4.3\n" + +#: ../scratch/scratch_1.7_doorbell.rst:2 +msgid "1.7 Doorbell" +msgstr "1.7 Doorbell (ドアベル)" + +#: ../scratch/scratch_1.7_doorbell.rst:4 +msgid "" +"Today we will make a doorbell, click the button3 sprite on the stage, " +"the buzzer will sound; click again, the buzzer will stop sounding." +msgstr "" +"今日はドアベルを作り、ステージ上のbutton3 spriteをクリックすると、ブザー" +"が鳴ります。 もう一度クリックすると、ブザーが鳴り止みます。" + +#: ../scratch/scratch_1.7_doorbell.rst:9 +msgid "Required Components" +msgstr "必要な部品" + +#: ../scratch/scratch_1.7_doorbell.rst:14 +msgid "Build the Circuit" +msgstr "回路を構築する" + +#: ../scratch/scratch_1.7_doorbell.rst:19 +msgid "Load the Code and See What Happens" +msgstr "コードをロードして、何が起こるかを確認します" + +#: ../scratch/scratch_1.7_doorbell.rst:21 +msgid "Load the code file (``1.7_doorbell.sb3``) to Scratch 3." +msgstr "コードファイル(``1.7_doorbell.sb3``)をScratch3にロードします。" + +#: ../scratch/scratch_1.7_doorbell.rst:23 +msgid "" +"Click on the green flag on the stage. When we click on the Button 3 " +"sprite, it will turn blue and then the buzzer will sound; when we click " +"again, the **Button3** sprite reverts to gray and the buzzer stops " +"sounding." +msgstr "" +"ステージ上の緑色の旗をクリックします。 ボタン3のspriteをクリックすると、" +"青色に変わり、ブザーが鳴ります。 もう一度クリックすると、**Button3** スプ" +"ライトが灰色に戻り、ブザーが鳴り止みます。" + +#: ../scratch/scratch_1.7_doorbell.rst:27 +msgid "Tips on Sprite" +msgstr "Spriteに関するヒント" + +#: ../scratch/scratch_1.7_doorbell.rst:29 +msgid "Delete the default sprite, then choose the **Button 3** sprite." +msgstr "" +"デフォルトのspriteを削除してから、**Button 3** のspriteを選択します。" + +#: ../scratch/scratch_1.7_doorbell.rst:33 +msgid "Then set the size to 200." +msgstr "次に、サイズを200に設定します。" + +#: ../scratch/scratch_1.7_doorbell.rst:38 +msgid "Tips on Codes" +msgstr "コードに関するヒント" + +#: ../scratch/scratch_1.7_doorbell.rst:43 +msgid "This block allows you to switch the sprite's costume." +msgstr "" +"このブロックを使用すると、spriteのcostumeを切り替えることができます。" + +#: ../scratch/scratch_1.7_doorbell.rst:48 +msgid "" +"Set gpio17 to low to make the buzzer sound; set it to high and the " +"buzzer will not sound." +msgstr "" +"gpio17をlowに設定して、ブザーを鳴らします。 high 設定するとブザーが鳴りま" +"せん。" + +#: ../scratch/scratch_1.7_doorbell.rst:51 +msgid "" +"The **status** switch is used here, and we will use a flowchart to help " +"you understand the whole code." +msgstr "" +"ここでは **status** スイッチを使用します。ここでは、コード全体を理解するの" +"に役立つflowchartを使用します。" + +#: ../scratch/scratch_1.7_doorbell.rst:53 +msgid "" +"When the green flag is clicked, the **status** will be set to 0 first, " +"and wait for the sprite to be clicked at this time; if **button3** " +"sprite is clicked, it will switch to costume as **button-b** costume " +"(blue) and the **status** will be set to 1. When the main program " +"receives the **status** as 1, it will let the buzzer sound at 0.1s " +"interval. If **button3** is clicked again, it will switch to **button-" +"a** costume (gray) and **status** will be set to 0 again." +msgstr "" +"緑のフラグがクリックされると、**status** が最初に0に設定され、この時点で" +"spriteがクリックされるのを待ちます。 **button3** spriteをクリックすると、" +"**button-b** costume(青)としてcostumeに切り替わり、**status** が1に設定さ" +"れます。メインプログラムが **status** を受信すると ※1として、0.1秒間隔でブ" +"ザーを鳴らします。 **button3** をもう一度クリックすると、**button-" +"a** costume(灰色)に切り替わり、**status** が再び0に設定されます。" diff --git a/docs/source/locale/ja/LC_MESSAGES/scratch/scratch_1.8_123_wooden_man.po b/docs/source/locale/ja/LC_MESSAGES/scratch/scratch_1.8_123_wooden_man.po new file mode 100644 index 0000000..32a60e5 --- /dev/null +++ b/docs/source/locale/ja/LC_MESSAGES/scratch/scratch_1.8_123_wooden_man.po @@ -0,0 +1,129 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, sunfounder +# This file is distributed under the same license as the SunFounder Da Vinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Da Vinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-07-29 17:00+0800\n" +"PO-Revision-Date: 2021-08-05 11:04+0800\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" +"Last-Translator: \n" +"Language-Team: \n" +"Language: man\n" +"X-Generator: Poedit 2.4.3\n" + +#: ../scratch/scratch_1.8_123_wooden_man.rst:2 +msgid "1.8 123 Wooden Man" +msgstr "1.8 123 Wooden Man (123木製の男)" + +#: ../scratch/scratch_1.8_123_wooden_man.rst:4 +msgid "Today, we are going to play a game of 123 wooden man." +msgstr "今日は123人の木製の男のゲームをします。" + +#: ../scratch/scratch_1.8_123_wooden_man.rst:6 +msgid "" +"Click on the green flag to start the game, hold down the right arrow key " +"on the keyboard to make the sprite go right. If the green light is on, " +"the sprite can move; but when the red LED is on, you have to stop the " +"sprite from moving; otherwise the buzzer will keep ringing." +msgstr "" +"緑の旗をクリックしてゲームを開始し、キーボードの右矢印キーを押したままにし" +"てspriteを右に動かします。 緑色のライトが点灯している場合、スプライトは移" +"動できます。 ただし、赤いLEDが点灯している場合は、スプライトの移動を停止す" +"る必要があります。 そうしないと、ブザーが鳴り続けます。" + +#: ../scratch/scratch_1.8_123_wooden_man.rst:11 +msgid "Required Components" +msgstr "必要な部品" + +#: ../scratch/scratch_1.8_123_wooden_man.rst:16 +msgid "Build the Circuit" +msgstr "回路を構築する" + +#: ../scratch/scratch_1.8_123_wooden_man.rst:22 +msgid "Load the Code and See What Happens" +msgstr "コードをロードして、何が起こるかを確認します" + +#: ../scratch/scratch_1.8_123_wooden_man.rst:24 +msgid "Load the code file (``1.8_123_wooden_man.sb3``) to Scratch 3." +msgstr "" +"コードファイル(``1.8_123_wooden_man.sb3``)をScratch3にロードします。" + +#: ../scratch/scratch_1.8_123_wooden_man.rst:26 +msgid "" +"When the green LED is on, you can use the right arrow key to control " +"**Avery** to walk to the right; when the red LED is on, if you continue " +"to let **Avery** move to the right, then an alarm will sound." +msgstr "" +"緑色のLEDが点灯している場合は、右矢印キーを使用して **Avery** を制御して右に" +"歩くことができます。 赤いLEDが点灯しているときに、**Avery** を右に動かし続け" +"ると、アラームが鳴ります。" + +#: ../scratch/scratch_1.8_123_wooden_man.rst:29 +msgid "Tips on Sprite" +msgstr "Spriteのヒント" + +#: ../scratch/scratch_1.8_123_wooden_man.rst:30 +msgid "Delete the default sprite, then choose the **Avery Walking** sprite." +msgstr "" +"デフォルトのSpriteを削除してから、**Avery Walking** spriteを選択します。" + +#: ../scratch/scratch_1.8_123_wooden_man.rst:36 +msgid "Tips on Codes" +msgstr "コードに関するヒント" + +#: ../scratch/scratch_1.8_123_wooden_man.rst:41 +msgid "Initialize all pins to high." +msgstr "すべてのピンをHighに初期化します。" + +#: ../scratch/scratch_1.8_123_wooden_man.rst:46 +msgid "" +"When the game starts, assign the status variable to 1, indicating that " +"the Avery Walking sprite is movable, and then set gpio18 to low, which " +"lights up the green LED for 5s." +msgstr "" +"ゲームが開始したら、ステータス変数を1に割り当てて、Avery Walking spriteが" +"移動可能であることを示します。次に、GPIO18を低に設定します。これにより、緑" +"色のLEDが5秒間点灯します。" + +#: ../scratch/scratch_1.8_123_wooden_man.rst:51 +msgid "" +"Set gpio18 to high, then set gpio27 to low, which means turn off the " +"green LED and light up the yellow LED for 0.5s." +msgstr "" +"GPIO18を高に設定してから、GPIO27を低に設定します。これは、緑色のLEDをオフ" +"にし、黄色のLEDを0.5秒間点灯させることを意味します。" + +#: ../scratch/scratch_1.8_123_wooden_man.rst:56 +msgid "" +"Assign the status variable to 0, which means the Avery Walking sprite is " +"not moving; then set gpio27 to low and gpio17 to high, which turns off " +"the yellow LED and then lights up the red LED for 3s. Finally, set gpio17 " +"to high to turn off the red LED." +msgstr "" +"ステータス変数を0に割り当てます。これは、Avery Walking spriteが移動してい" +"ないことを意味します。 次に、GPIO27をlowに設定し、GPIO17をhighに設定しま" +"す。これにより、黄色のLEDがオフになり、次に赤色のLEDが3秒間点灯します。 最" +"後に、GPIO17をhighに設定して、赤いLEDをオフにします。" + +#: ../scratch/scratch_1.8_123_wooden_man.rst:61 +msgid "" +"When we press the right arrow key on the keyboard, we need to switch the " +"**Avery Walking** sprite to the next costume so that we can see Avery " +"walking to the right. Then we need to determine the value of the " +"**status** variable. If it is 0, it means that the Avery Walking sprite " +"is not moving at this moment, and the buzzer will sound to warn you that " +"you cannot press the right arrow key again." +msgstr "" +"キーボードのright arrowキーを押すと、Averyが右に歩いているのが見えるよう" +"に、**Avery Walking** spriteを次のcostumeに切り替える必要があります。 次" +"に、**status** 変数の値を決定する必要があります。 0の場合は、現時点でAvery " +"Walking spriteが動いていないことを意味し、right arrowキーを再度押すことが" +"できないことを警告するブザーが鳴ります。" diff --git a/docs/source/locale/ja/LC_MESSAGES/scratch/scratch_1.9_inflating_the_balloon.po b/docs/source/locale/ja/LC_MESSAGES/scratch/scratch_1.9_inflating_the_balloon.po new file mode 100644 index 0000000..2d78f9d --- /dev/null +++ b/docs/source/locale/ja/LC_MESSAGES/scratch/scratch_1.9_inflating_the_balloon.po @@ -0,0 +1,149 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, sunfounder +# This file is distributed under the same license as the SunFounder Da Vinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Da Vinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-07-29 17:00+0800\n" +"PO-Revision-Date: 2021-08-05 11:10+0800\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" +"Last-Translator: \n" +"Language-Team: \n" +"X-Generator: Poedit 2.4.3\n" + +#: ../scratch/scratch_1.9_inflating_the_balloon.rst:2 +msgid "1.9 Inflating the Balloon" +msgstr "1.9 Inflating the Balloon (バルーンを膨らませる)" + +#: ../scratch/scratch_1.9_inflating_the_balloon.rst:4 +msgid "Here, we will play a game of ballooning." +msgstr "ここでは、バルーニングのゲームをします。" + +#: ../scratch/scratch_1.9_inflating_the_balloon.rst:6 +msgid "" +"By toggling Slide to the left to start to inflate the balloon, at this time " +"the balloon will get bigger and bigger. If the balloon is too large will blow " +"up; if the balloon is too small, it will not float into the air. You need to " +"judge when to toggle the switch to the right to stop pumping." +msgstr "" +"スライドを左に切り替えてバルーンを膨らませ始めると、この時点でバルーンはどんど" +"ん大きくなります。 風船が大きすぎると爆発します。 気球が小さすぎると空中に浮き" +"ません。 ポンプを停止するには、スイッチを右に切り替えるタイミングを判断する必" +"要があります。" + +#: ../scratch/scratch_1.9_inflating_the_balloon.rst:11 +msgid "Required Components" +msgstr "必要な部品" + +#: ../scratch/scratch_1.9_inflating_the_balloon.rst:16 +msgid "Build the Circuit" +msgstr "回路を構築する" + +#: ../scratch/scratch_1.9_inflating_the_balloon.rst:21 +msgid "Load the Code and See What Happens" +msgstr "コードをロードして、何が起こるかを確認します" + +#: ../scratch/scratch_1.9_inflating_the_balloon.rst:23 +msgid "Load the code file (``1.9_inflating_the_balloon.sb3``) to Scratch 3." +msgstr "" +"コードファイル(``1.9_inflating_the_balloon.sb3``)をScratch3にロードします。" + +#: ../scratch/scratch_1.9_inflating_the_balloon.rst:25 +msgid "" +"By toggling Slider to the left to start to inflate the balloon, at this time " +"the balloon will get bigger and bigger. If the balloon is too large will blow " +"up; if the balloon is too small, it will not float into the air. You need to " +"judge when to toggle the switch to the right to stop pumping." +msgstr "" +"スライダーを左に切り替えてバルーンを膨らませ始めると、この時点でバルーンはどん" +"どん大きくなります。 風船が大きすぎると爆発します。 気球が小さすぎると空中に浮" +"きません。 ポンプを停止するには、スイッチを右に切り替えるタイミングを判断する" +"必要があります。" + +#: ../scratch/scratch_1.9_inflating_the_balloon.rst:29 +msgid "Tips on Sprite" +msgstr "Spriteに関するヒント" + +#: ../scratch/scratch_1.9_inflating_the_balloon.rst:31 +msgid "Delete the previous Sprite1 sprite, then add the **Balloon1** sprite." +msgstr "前のSprite1 spriteを削除してから、**Balloon1** spriteを追加します。" + +#: ../scratch/scratch_1.9_inflating_the_balloon.rst:35 +msgid "" +"A balloon explosion sound effect is used in this project, so let's see how it " +"was added." +msgstr "" +"このプロジェクトでは風船爆発効果音を使用しているので、どのように追加されたか見" +"てみましょう。" + +#: ../scratch/scratch_1.9_inflating_the_balloon.rst:37 +msgid "" +"Click the **Sound** option at the top, then click **Upload Sound** to upload " +"``boom.wav`` from the ``home/pi/davinci-kit-for-raspberry-pi/scratch/sound`` " +"path to Scratch 3." +msgstr "" +"上部の **Sound** オプションをクリックし、**Upload Sound** をクリックして、``boom." +"wav`` を ``home/pi/davinci-kit-for-raspberry-pi/scratch/sound`` パスからScratch3" +"にアップロードします。" + +#: ../scratch/scratch_1.9_inflating_the_balloon.rst:42 +msgid "Tips on Codes" +msgstr "コードに関するヒント" + +#: ../scratch/scratch_1.9_inflating_the_balloon.rst:47 +msgid "" +"This is an event block, and the trigger condition is that gpio17 is high, " +"that is, the switch is toggled to the left." +msgstr "" +"これはイベントブロックであり、トリガー条件はGPIO17がハイである、つまりスイッチ" +"が左に切り替えられることです。" + +#: ../scratch/scratch_1.9_inflating_the_balloon.rst:52 +msgid "Set the size threshold of the Ballon1 sprite to 120" +msgstr "Ballon1 spriteのサイズしきい値を120に設定します" + +#: ../scratch/scratch_1.9_inflating_the_balloon.rst:57 +msgid "" +"Move the coordinates of the Balloon1 sprite to (0,0), which is the center of " +"the stage area." +msgstr "Balloon1 spriteの座標を、stage areaの中心である(0,0)に移動します。" + +#: ../scratch/scratch_1.9_inflating_the_balloon.rst:62 +msgid "Set the size of the Balloon1 sprite to 50 and show it in the stage area." +msgstr "Balloon1 spriteのサイズを50に設定し、stage areaに表示します。" + +#: ../scratch/scratch_1.9_inflating_the_balloon.rst:67 +msgid "" +"Set up a loop to inflate the balloon, this loop stops when the slider switch " +"is toggled to the right." +msgstr "" +"バルーンを膨らませるループを設定します。このループは、スライダースイッチを右に" +"切り替えると停止します。" + +#: ../scratch/scratch_1.9_inflating_the_balloon.rst:69 +msgid "" +"Within this loop, the balloon size is increased by 1 every 0.1s, and if it is " +"larger than ``maxSize``, the balloon will burst, at which point the boom " +"sound is made and the code is exited." +msgstr "" +"このループ内で、バルーンサイズは0.1秒ごとに1ずつ増加し、``maxSize`` より大きい" +"場合はバルーンが破裂し、その時点でブーム音が鳴り、コードが終了します。" + +#: ../scratch/scratch_1.9_inflating_the_balloon.rst:74 +msgid "" +"After the last loop exits (Slider toggles to the right), determine the " +"position of the Balloon1 sprite based on its size. If the size of the " +"Balloon1 sprite is greater than 90, lift off (move the coordinates to (0, " +"90), otherwise land (move the coordinates to (0, -149)." +msgstr "" +"最後のループが終了した後(スライダーが右に切り替わります)、サイズに基づいて" +"Balloon1 spriteの位置を決定します。 Balloon1 spriteのサイズが90より大きい場合" +"は、持ち上げて(座標を(0、90)に移動します)、そうでない場合は着陸します(座" +"標を(0、-149)に移動します)。" diff --git a/docs/source/locale/ja/LC_MESSAGES/scratch/scratch_project.po b/docs/source/locale/ja/LC_MESSAGES/scratch/scratch_project.po new file mode 100644 index 0000000..2259f69 --- /dev/null +++ b/docs/source/locale/ja/LC_MESSAGES/scratch/scratch_project.po @@ -0,0 +1,45 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, sunfounder +# This file is distributed under the same license as the SunFounder Da Vinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Da Vinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-07-29 17:00+0800\n" +"PO-Revision-Date: 2021-08-05 11:19+0800\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" +"Last-Translator: \n" +"Language-Team: \n" +"X-Generator: Poedit 2.4.3\n" + +#: ../scratch/scratch_project.rst:2 +msgid "Projects" +msgstr "プロジェクト" + +#: ../scratch/scratch_project.rst:4 +msgid "In this chapter, you will play with Scratch 3 through 18 projects." +msgstr "この章では、Scratch3から18のプロジェクトで遊んでいきます。" + +#: ../scratch/scratch_project.rst:6 +msgid "" +"If you are a user who has just used Scratch 3, we recommend that you try " +"the projects in order so that you can quickly get started with Scratch 3." +msgstr "" +"Scratch 3を使用したばかりのユーザーの場合は、Scratch 3をすぐに使い始める" +"ことができるように、プロジェクトを順番に試すことをお勧めします。" + +#: ../scratch/scratch_project.rst:9 +msgid "" +"Before trying the projects, you should have downloaded the relevant " +"materials and code files. Open a Terminal and enter the following " +"command to download them from github." +msgstr "" +"プロジェクトを試す前に、関連する資料とコードファイルをダウンロードしてお" +"く必要があります。 ターミナルを開き、次のコマンドを入力してgithubからダウ" +"ンロードします。" diff --git a/docs/source/locale/ja/LC_MESSAGES/set_up_your_raspberry_pi.po b/docs/source/locale/ja/LC_MESSAGES/set_up_your_raspberry_pi.po new file mode 100644 index 0000000..640996f --- /dev/null +++ b/docs/source/locale/ja/LC_MESSAGES/set_up_your_raspberry_pi.po @@ -0,0 +1,302 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, SunFounder +# This file is distributed under the same license as the SunFounder Davinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Davinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-19 18:22+0800\n" +"PO-Revision-Date: 2021-08-06 15:44+0800\n" +"Last-Translator: \n" +"Language: pi\n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../set_up_your_raspberry_pi.rst:2 +msgid "Set up Your Raspberry Pi" +msgstr "ラズベリーパイのセットアップ" + +#: ../set_up_your_raspberry_pi.rst:5 +msgid "If You Have a Screen" +msgstr "スクリーンを持っている場合" + +#: ../set_up_your_raspberry_pi.rst:7 +msgid "" +"If you have a screen, it will be easy for you to operate on the Raspberry" +" Pi." +msgstr "スクリーンを持っている場合、ラズベリーパイでの操作が簡単になります。" + +#: ../set_up_your_raspberry_pi.rst:10 +msgid "**Required Components**" +msgstr "**必要なコンポーネント**" + +#: ../set_up_your_raspberry_pi.rst:13 +msgid "Any Raspberry Pi" +msgstr "任意のラズベリーパイ" + +#: ../set_up_your_raspberry_pi.rst:13 +msgid "1 \\* Power Adapter" +msgstr "パワーアダプター*1個" + +#: ../set_up_your_raspberry_pi.rst:14 +msgid "1 \\* Micro SD card" +msgstr "マイクロSDカード*1個" + +#: ../set_up_your_raspberry_pi.rst:14 +msgid "1 \\* Screen Power Adapter" +msgstr "スクリーンパワーアダプター*1個" + +#: ../set_up_your_raspberry_pi.rst:15 +msgid "1 \\* HDMI cable" +msgstr "HDMIケーブル*1本" + +#: ../set_up_your_raspberry_pi.rst:15 +msgid "1 \\* Screen" +msgstr "スクリーン*1個" + +#: ../set_up_your_raspberry_pi.rst:16 +msgid "1 \\* Mouse" +msgstr "マウス*1個" + +#: ../set_up_your_raspberry_pi.rst:16 +msgid "1 \\* Keyboard" +msgstr "キーボード*1個" + +#: ../set_up_your_raspberry_pi.rst:19 +msgid "" +"Insert the SD card you’ve set up with Raspberry Pi OS into the micro SD " +"card slot on the underside of your Raspberry Pi." +msgstr "ラズベリーパイのオペレーティングシステムでセットアップしたSDカードを、ラズベリーパイの下面にあるマイクロSDカードスロットに挿入します。" + +#: ../set_up_your_raspberry_pi.rst:21 +msgid "Plug in the Mouse and Keyboard." +msgstr "マウスとキーボードを接続します。" + +#: ../set_up_your_raspberry_pi.rst:23 +msgid "" +"Connect the screen to Raspberry Pi’s HDMI port and make sure your screen " +"is plugged into a wall socket and switched on." +msgstr "ラズベリーパイのHDMIポートにスクリーンを接続し、スクリーンがあるウォールソケットにプラグインされ、スイッチがオンになっていることを確認します。" + +#: ../set_up_your_raspberry_pi.rst:27 +msgid "" +"If you use a Raspberry Pi 4, you need to connect the screen to the HDMI0 " +"(nearest the power in port)." +msgstr "ラズベリーパイ4をお使いの場合は、HDMI0(電源投入口に一番近いところ)にスクリーンを接続する必要があります。" + +#: ../set_up_your_raspberry_pi.rst:29 +msgid "" +"Use the power adapter to power the Raspberry Pi. After a few seconds, the" +" Raspberry Pi OS desktop will be displayed." +msgstr "電源アダプタを使ってラズベリーパイに電源を入れます。数秒後、ラズベリーパイオペレーティングシステムのデスクトップが表示されます。" + +#: ../set_up_your_raspberry_pi.rst:35 +msgid "If You Have No Screen" +msgstr "スクリーンの持っていない場合" + +#: ../set_up_your_raspberry_pi.rst:37 +msgid "" +"If you don’t have a display, you can log in to the Raspberry Pi remotely," +" but before that, you need to get the IP of the Raspberry Pi." +msgstr "ディスプレイがない場合は、リモートでラズベリーパイにログインすることができますが、その前にラズベリーパイのIPを取得する必要があります。" + +#: ../set_up_your_raspberry_pi.rst:41 +msgid "Get the IP Address" +msgstr "IPアドレスを取得する" + +#: ../set_up_your_raspberry_pi.rst:43 +msgid "" +"After the Raspberry Pi is connected to WIFI, we need to get the IP " +"address of it. There are many ways to know the IP address, and two of " +"them are listed as follows." +msgstr "" +"Raspberry " +"PiがWIFIに接続されたら、そのIPアドレスを取得する必要がある。IPアドレスを知る方法はたくさんあるが、そのうちの2つを以下のように示す。" + +#: ../set_up_your_raspberry_pi.rst:47 +msgid "**1.  Checking via the router**" +msgstr "**1. ルーター経由で確認する**" + +#: ../set_up_your_raspberry_pi.rst:49 +msgid "" +"If you have permission to log in the router(such as a home network), you " +"can check the addresses assigned to Raspberry Pi on the admin interface " +"of router." +msgstr "" +"ルーター(ホームネットワークなど)にログインする権限がある場合は、ルーターの管理インターフェイスでRaspberry " +"Piに割り当てられたアドレスを確認できる。" + +#: ../set_up_your_raspberry_pi.rst:53 +msgid "" +"The default hostname of the Raspberry Pi OS is **raspberrypi**, and you " +"need to find it. (If you are using ArchLinuxARM system, please find " +"alarmpi.)" +msgstr "" +"システムのデフォルトのホスト名-Raspberry Pi OSは **raspberrypi** " +"であり、それを見つける必要がある。(ArchLinuxARMシステムを使用している場合は、alarmpiを見つけてください。)" + +#: ../set_up_your_raspberry_pi.rst:57 +msgid "**2. Network Segment Scanning**" +msgstr "**2. ネットワークセグメントスキャン**" + +#: ../set_up_your_raspberry_pi.rst:59 +msgid "" +"You can also use network scanning to look up the IP address of Raspberry " +"Pi. You can apply the software, **Advanced IP scanner** and so on." +msgstr "" +"ネットワークスキャンを使用して、Raspberry PiのIPアドレスを検索することもできる。ソフトウェア、**アドバンスドIPスキャナ** " +"ーなどを適用可能である。" + +#: ../set_up_your_raspberry_pi.rst:62 +msgid "" +"Scan the IP range set, and the name of all connected devices will be " +"displayed. Similarly, the default hostname of the Raspberry Pi OS is " +"**raspberrypi**, if you haven't modified it." +msgstr "" +"IP範囲セットをスキャンすると、接続されているデバイスの名前がすべて表示される。同様に、Raspberry Pi " +"OSシステムのデフォルトのホスト名は **raspberrypi** であり、今ホスト名を見つけてください。" + +#: ../set_up_your_raspberry_pi.rst:67 +msgid "Use the SSH Remote Control" +msgstr "SSHリモートコントロールを使用する" + +#: ../set_up_your_raspberry_pi.rst:69 +msgid "" +"We can open the Bash Shell of Raspberry Pi by applying SSH. Bash is the " +"standard default shell of Linux. The Shell itself is a program written in" +" C that is the bridge linking the customers and Unix/Linux. Moreover, it " +"can help to complete most of the work needed." +msgstr "" +"SSHを適用することにより、Raspberry PiのBash " +"Shellを開くことができる。BashはLinuxの標準のデフォルトシェルである。シェル自体は、お客様とUnix / " +"Linuxをリンクするブリッジである「C」で書き込まれたプログラムである。さらに、必要な作業のほとんどを完了することに役立ち。" + +#: ../set_up_your_raspberry_pi.rst:74 +msgid "**For Linux or/Mac OS X Users**" +msgstr "**Linuxまたは/ Mac OS Xユーザーの場合**" + +#: ../set_up_your_raspberry_pi.rst:76 ../set_up_your_raspberry_pi.rst:125 +msgid "**Step 1**" +msgstr "**ステップ1**" + +#: ../set_up_your_raspberry_pi.rst:78 +msgid "" +"Go to **Applications**->\\ **Utilities**, find the **Terminal**, and open" +" it." +msgstr "**アプリケーション** -> **ユーティリティに入り** 、ターミナルを見つけてから開く。" + +#: ../set_up_your_raspberry_pi.rst:84 ../set_up_your_raspberry_pi.rst:129 +msgid "**Step 2**" +msgstr "**ステップ2**" + +#: ../set_up_your_raspberry_pi.rst:86 + +msgid "" +"Type in **ssh pi@ip_address** . \\\"pi\\\" is your username and " +"\\\"ip_address\\\" is your IP address. For example:" +msgstr "``ssh pi @ ip_address`` と入力する。「pi」はユーザー名で、「ip_address」はのIPアドレスである。例えば:" + +#: ../set_up_your_raspberry_pi.rst:93 ../set_up_your_raspberry_pi.rst:138 +msgid "**Step 3**" +msgstr "**ステップ3**" + +#: ../set_up_your_raspberry_pi.rst:95 + +msgid "Input \\\"yes\\\"." +msgstr "「yes」と入力する。" + +#: ../set_up_your_raspberry_pi.rst:100 ../set_up_your_raspberry_pi.rst:143 +msgid "**Step 4**" +msgstr "**ステップ4**" + +#: ../set_up_your_raspberry_pi.rst:102 +msgid "Input the passcode and the default password is **raspberry**." +msgstr "デフォルトのパスワード「**raspberry**」を入力する。" + +#: ../set_up_your_raspberry_pi.rst:107 ../set_up_your_raspberry_pi.rst:158 +msgid "**Step 5**" +msgstr "**ステップ5**" + +#: ../set_up_your_raspberry_pi.rst:109 +msgid "" +"We now get the Raspberry Pi connected and are ready to go to the next " +"step." +msgstr "これで、Raspberry Piが接続され、次のステップに進む準備ができた。" + +#: ../set_up_your_raspberry_pi.rst:116 ../set_up_your_raspberry_pi.rst:151 +msgid "" +"When you input the password, the characters do not display on window " +"accordingly, which is normal. What you need is to input the correct " +"password." +msgstr "パスワードを入力すると、ウィンドウに文字が表示されないが、これは正常である。必要なのは、正しいパスコードを入力するだけである。" + +#: ../set_up_your_raspberry_pi.rst:120 +msgid "**For Windows Users**" +msgstr "**Windowsユーザーの場合**" + +#: ../set_up_your_raspberry_pi.rst:122 +msgid "" +"If you're a Windows user, you can use SSH with the application of some " +"software. Here, we recommend **PuTTY**." +msgstr "Windowsユーザーの場合、いくつかのソフトウェアのアプリケーションでSSHを使用できる。ここでは、**PuTTY** をお勧めする。" + +#: ../set_up_your_raspberry_pi.rst:127 +msgid "Download PuTTY." +msgstr "PuTTYをダウンロードする。" + +#: ../set_up_your_raspberry_pi.rst:131 +msgid "" +"Open PuTTY and click **Session** on the left tree-alike structure. Enter " +"the IP address of the RPi in the text box under **Host Name (or IP " +"address)** and **22** under **Port** (by default it is 22)." +msgstr "" +"PuTTY を開き、左側のツリー構造にあるセッションをクリックする。「ホスト名」(または IP アドレス)の下のテキストボックスに RPi の " +"IP アドレスを入力し、ポートに 22(デフォルトでは 22)を入力する。" + +#: ../set_up_your_raspberry_pi.rst:140 +msgid "" +"Click **Open**. Note that when you first log in to the Raspberry Pi with " +"the IP address, there prompts a security reminder. Just click **Yes**." +msgstr "" +"開くをクリックする。IP アドレスを使用して Raspberry Pi " +"に初めてログインすると、安全上の指示が表示されることに注意してください。その時、はいをクリックしてください。" + +#: ../set_up_your_raspberry_pi.rst:145 + +msgid "" +"When the PuTTY window prompts \\\"**login as:**\\\", type in " +"\\\"**pi**\\\" (the user name of the RPi), and **password**: " +"\\\"raspberry\\\" (the default one, if you haven't changed it)." +msgstr "" +"PuTTY のウィンドウに「**login as:**」というプロンプトが表示されます。と表示されたら、「**pi**」と入力します。 " +"(RPiのユーザー名)とパスワードを入力します。「**raspberry**」 (と入力します。(変更していない場合はデフォルトのままです。)" + +#: ../set_up_your_raspberry_pi.rst:153 +msgid "" +"If inactive appears next to PuTTY, it means that the connection has been " +"broken and needs to be reconnected." +msgstr "PuTTYの隣にinactiveが表示されている場合は、接続が切れているので再接続する必要があります。" + +#: ../set_up_your_raspberry_pi.rst:160 +msgid "" +"Here, we get the Raspberry Pi connected and it is time to conduct the " +"next steps." +msgstr "ここで、Raspberry Piを接続し、次の手順を実行する。" + +#: ../set_up_your_raspberry_pi.rst:167 +msgid "" +"If you are not satisfied with using the command window to control the " +"Raspberry Pi, you can also use the remote desktop function, which can " +"help us manage the files in the Raspberry Pi easily." +msgstr "あなたがラズベリーパイを制御するためにコマンドウィンドウを使用することに満足していない場合は、また、簡単にラズベリーパイのファイルを簡単に管理することができますリモートデスクトップ機能を使用することができます。" + +#: ../set_up_your_raspberry_pi.rst:169 +msgid "For details on how to do this, please refer to :ref:`Remote Desktop`." +msgstr "この方法の詳細については :ref:`Remote Desktop`" + diff --git a/docs/source/locale/ja/LC_MESSAGES/spi_configuration.po b/docs/source/locale/ja/LC_MESSAGES/spi_configuration.po new file mode 100644 index 0000000..c0129af --- /dev/null +++ b/docs/source/locale/ja/LC_MESSAGES/spi_configuration.po @@ -0,0 +1,64 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, SunFounder +# This file is distributed under the same license as the SunFounder Davinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Davinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-05-20 18:20+0800\n" +"PO-Revision-Date: 2021-05-28 15:29+0800\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" +"Last-Translator: \n" +"Language-Team: \n" +"X-Generator: Poedit 2.4.3\n" + +#: ../spi_configuration.rst:2 +msgid "SPI Configuration" +msgstr "SPI 設定" + +#: ../spi_configuration.rst:4 +msgid "" +"**Step 1**: Enable the SPI port of your Raspberry Pi (If you have " +"enabled it, skip this; if you do not know whether you have done that or " +"not, please continue)." +msgstr "" +"**ステップ1**: Raspberry PiのSPIポートを作動させる(作動した場合は、これ" +"をスキップしてください。これを行ったかどうかわからない場合は、続行してく" +"ださい)。" + +#: ../spi_configuration.rst:12 +msgid "**3 Interfacing options**" +msgstr "**3 Interfacing options**" + +#: ../spi_configuration.rst:18 +msgid "**P4 SPI**" +msgstr "**P4 SPI**" + +#: ../spi_configuration.rst:24 +msgid "**, then click and .**" +msgstr "**< yes >をクリックし、< ok >と< finish >をクリックします。**" + +#: ../spi_configuration.rst:31 +msgid "**Step 2:** Check that the i2c modules are loaded and active." +msgstr "" +"**ステップ2**:i2cモジュールがロードされ作動しているかどうかを確認する。" + +#: ../spi_configuration.rst:37 +msgid "Then the following codes will appear (the number may be different)." +msgstr "その後、次のコードが表示される(数は異なる場合がある)。" + +#: ../spi_configuration.rst:43 +msgid "**Step 3:** Install Python module SPI-Py." +msgstr "**ステップ3**: PythonモジュールSPI-Pyを実装する。" + +#: ../spi_configuration.rst:52 +msgid "This step is for python users, if you use C language, please skip." +msgstr "" +"この手順はPythonユーザー向けで、C言語を使用する場合はスキップしてくださ" +"い。" diff --git a/docs/source/locale/ja/LC_MESSAGES/thank-learning.po b/docs/source/locale/ja/LC_MESSAGES/thank-learning.po new file mode 100644 index 0000000..b04e8ba --- /dev/null +++ b/docs/source/locale/ja/LC_MESSAGES/thank-learning.po @@ -0,0 +1,63 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, SunFounder +# This file is distributed under the same license as the SunFounder +# davinci-kit-for-raspberry-pi package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder davinci-kit-for-raspberry-pi\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-19 18:22+0800\n" +"PO-Revision-Date: 2021-08-20 10:27+0800\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" +"Last-Translator: \n" +"Language-Team: \n" +"Language: ja\n" +"X-Generator: Poedit 3.0\n" + +#: ../thank-learning.rst:2 +msgid "Thank You" +msgstr "ありがとうございました" + +#: ../thank-learning.rst:4 +msgid "" +"Thanks to the evaluators who evaluated our products, the veterans who " +"provided suggestions for the tutorial, and the users who have been " +"following and supporting us. Your valuable suggestions to us are our " +"motivation to provide better products!" +msgstr "" +"私たちの製品を評価してくれた評価者、チュートリアルの提案をしてくれたベテ" +"ラン、そして私たちをフォローしてサポートしてくれたユーザーに感謝します。 " +"私たちへのあなたの貴重な提案は、より良い製品を提供するという私たちの動機" +"です!" + +#: ../thank-learning.rst:7 +msgid "**Particular Thanks**" +msgstr "**特に感謝します**" + +#: ../thank-learning.rst:9 +msgid "Len Davisson" +msgstr "レン・デイヴィソン" + +#: ../thank-learning.rst:10 +msgid "Kalen Daniel" +msgstr "カレン・ダニエル" + +#: ../thank-learning.rst:11 +msgid "Juan Delacosta" +msgstr "フアン・デラコスタ" + +#: ../thank-learning.rst:14 +msgid "Now, could you spare a little time to fill out this questionnaire?" +msgstr "" +"さて、このアンケートに記入するために少し時間を割いていただけませんか?" + +#: ../thank-learning.rst:22 +msgid "" +"After submitting the questionnaire, please go back to the top to view " +"the results." +msgstr "アンケートを送信した後、トップに戻って結果を確認してください。" diff --git a/docs/source/locale/ja/LC_MESSAGES/what_do_we_need.po b/docs/source/locale/ja/LC_MESSAGES/what_do_we_need.po new file mode 100644 index 0000000..17f860a --- /dev/null +++ b/docs/source/locale/ja/LC_MESSAGES/what_do_we_need.po @@ -0,0 +1,105 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2021, SunFounder +# This file is distributed under the same license as the SunFounder Davinci +# Kit package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: SunFounder Davinci Kit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-04 15:50+0800\n" +"PO-Revision-Date: 2021-08-06 15:45+0800\n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" +"Language: ja\n" +"X-Generator: Poedit 3.0\n" + +#: ../what_do_we_need.rst:2 +msgid "What Do We Need?" +msgstr "何が必要なのか?" + +#: ../what_do_we_need.rst:5 +msgid "Required Components" +msgstr "必要な部品" + +#: ../what_do_we_need.rst:7 +msgid "**Raspberry Pi**" +msgstr "**Raspberry Pi**" + +#: ../what_do_we_need.rst:9 +msgid "The Raspberry Pi is a low cost, credit-card sized computer that plugs into a computer monitor or TV, and uses a standard keyboard and mouse. It is a capable little device that enables people of all ages to explore computing, and to learn how to program in languages like Scratch and Python." +msgstr "Raspberry Piは、コンピューターモニターまたはテレビに接続し、標準のキーボードとマウスを使用する、低価格のクレジットカードサイズのコンピューターである。これは、あらゆる年齢の人々がコンピューティングを探求させたり、ScratchやPythonなどの言語でプログラミングする方法を学習させたりする小さなデバイスである。" + +#: ../what_do_we_need.rst:15 +msgid "Our kit applies to the following versions of the product of Raspberry Pi" +msgstr "このキットはRaspberry Pi製品の以下のバージョンに適用される" + +msgid "RPi2" +msgstr "RPi2" + +#: ../what_do_we_need.rst:22 +msgid "**Power Adapter**" +msgstr "**ACアダプター**" + +#: ../what_do_we_need.rst:24 +msgid "To connect to a power socket, the Raspberry Pi has a micro USB port (the same found on many mobile phones). You will need a power supply which provides at least 2.5 amps." +msgstr "Raspberry Piには、電源ソケットに接続する用のマイクロUSBポートがある(多くの携帯電話で見られるものと同じである)。2.5A以上の電源が必要である。" + +#: ../what_do_we_need.rst:28 +msgid "**Micro SD Card**" +msgstr "**マイクロSDカード**" + +#: ../what_do_we_need.rst:30 +msgid "Your Raspberry Pi needs an Micro SD card to store all its files and the Raspberry Pi OS. You will need a micro SD card with a capacity of at least 8 GB" +msgstr "すべてのファイルとRaspberry Pi OSオペレーティングシステムを保存するため、Raspberry PiにMicro SDカードを取り付けてください。8GB以上の容量のマイクロSDカードが必要である" + +#: ../what_do_we_need.rst:35 +msgid "Optional Components" +msgstr "選択可能な部品" + +#: ../what_do_we_need.rst:37 +msgid "**Screen**" +msgstr "**画面**" + +#: ../what_do_we_need.rst:39 +msgid "To view the desktop environment of Raspberry Pi, you need to use the screen that can be a TV screen or a computer monitor. If the screen has built-in speakers, the Pi plays sounds via them." +msgstr "Raspberry Piのデスクトップ環境を表示するには、テレビ画面またはコンピューターモニターの画面を使用する必要がある。画面にスピーカーが内蔵されている場合、Piはそれらを介して音声を再生する。" + +#: ../what_do_we_need.rst:43 +msgid "**Mouse & Keyboard**" +msgstr "**マウスとキーボード**" + +#: ../what_do_we_need.rst:45 +msgid "When you use a screen , a USB keyboard and a USB mouse are also needed." +msgstr "画面を使用する場合は、USBキーボードとUSBマウスも必要である。" + +#: ../what_do_we_need.rst:47 +msgid "**HDMI**" +msgstr "**HDMI**" + +#: ../what_do_we_need.rst:49 +msgid "The Raspberry Pi has a HDMI output port that is compatible with the HDMI ports of most modern TV and computer monitors. If your screen has only DVI or VGA ports, you will need to use the appropriate conversion line." +msgstr "Raspberry Piには、ほとんどの最新のテレビおよびコンピューターモニターのHDMIポートと互換性のあるHDMI出力ポートが搭載されている。画面にDVIまたはVGAポートのみがある場合、適切な変換回線を使用してください。" + +#: ../what_do_we_need.rst:53 +msgid "**Case**" +msgstr "**保護ケース**" + +#: ../what_do_we_need.rst:55 +msgid "You can put the Raspberry Pi in a case; by this means, you can protect your device." +msgstr "デバイスを保護するために、Raspberry Piを保護ケースに入れることができる。" + +#: ../what_do_we_need.rst:58 +msgid "**Sound or Earphone**" +msgstr "**サウンドまたはイヤホン**" + +#: ../what_do_we_need.rst:60 +msgid "The Raspberry Pi is equipped with an audio port about 3.5 mm that can be used when your screen has no built-in speakers or when there is no screen operation." +msgstr "Raspberry Piには約3.5mmのオーディオポートが装備されており、画面にスピーカーが内蔵されていない場合や画面操作がない場合に使用できます。" + + diff --git a/docs/source/media/4-digit-sche.png b/docs/source/media/4-digit-sche.png new file mode 100644 index 0000000..b59f7df Binary files /dev/null and b/docs/source/media/4-digit-sche.png differ diff --git a/docs/source/media/74hc595_sche.png b/docs/source/media/74hc595_sche.png new file mode 100644 index 0000000..36009bc Binary files /dev/null and b/docs/source/media/74hc595_sche.png differ diff --git a/docs/source/media/IMG_8319.jpg b/docs/source/media/IMG_8319.jpg new file mode 100644 index 0000000..65873e3 Binary files /dev/null and b/docs/source/media/IMG_8319.jpg differ diff --git a/docs/source/media/PIR_TTE.png b/docs/source/media/PIR_TTE.png new file mode 100644 index 0000000..b1dbdae Binary files /dev/null and b/docs/source/media/PIR_TTE.png differ diff --git a/docs/source/media/Schematic_three_one1.png b/docs/source/media/Schematic_three_one1.png new file mode 100644 index 0000000..d1f85ba Binary files /dev/null and b/docs/source/media/Schematic_three_one1.png differ diff --git a/docs/source/media/Schematic_three_one10.png b/docs/source/media/Schematic_three_one10.png new file mode 100644 index 0000000..04b0c22 Binary files /dev/null and b/docs/source/media/Schematic_three_one10.png differ diff --git a/docs/source/media/Schematic_three_one11.png b/docs/source/media/Schematic_three_one11.png new file mode 100644 index 0000000..6860d8a Binary files /dev/null and b/docs/source/media/Schematic_three_one11.png differ diff --git a/docs/source/media/Schematic_three_one12.png b/docs/source/media/Schematic_three_one12.png new file mode 100644 index 0000000..19081aa Binary files /dev/null and b/docs/source/media/Schematic_three_one12.png differ diff --git a/docs/source/media/Schematic_three_one13.png b/docs/source/media/Schematic_three_one13.png new file mode 100644 index 0000000..df2d81d Binary files /dev/null and b/docs/source/media/Schematic_three_one13.png differ diff --git a/docs/source/media/Schematic_three_one14.png b/docs/source/media/Schematic_three_one14.png new file mode 100644 index 0000000..dc4000c Binary files /dev/null and b/docs/source/media/Schematic_three_one14.png differ diff --git a/docs/source/media/Schematic_three_one2.png b/docs/source/media/Schematic_three_one2.png new file mode 100644 index 0000000..d949ec9 Binary files /dev/null and b/docs/source/media/Schematic_three_one2.png differ diff --git a/docs/source/media/Schematic_three_one3.png b/docs/source/media/Schematic_three_one3.png new file mode 100644 index 0000000..5f43985 Binary files /dev/null and b/docs/source/media/Schematic_three_one3.png differ diff --git a/docs/source/media/Schematic_three_one4.png b/docs/source/media/Schematic_three_one4.png new file mode 100644 index 0000000..3033d22 Binary files /dev/null and b/docs/source/media/Schematic_three_one4.png differ diff --git a/docs/source/media/Schematic_three_one5.png b/docs/source/media/Schematic_three_one5.png new file mode 100644 index 0000000..84584a6 Binary files /dev/null and b/docs/source/media/Schematic_three_one5.png differ diff --git a/docs/source/media/Schematic_three_one6.png b/docs/source/media/Schematic_three_one6.png new file mode 100644 index 0000000..cc1ff72 Binary files /dev/null and b/docs/source/media/Schematic_three_one6.png differ diff --git a/docs/source/media/Schematic_three_one7.png b/docs/source/media/Schematic_three_one7.png new file mode 100644 index 0000000..f21589f Binary files /dev/null and b/docs/source/media/Schematic_three_one7.png differ diff --git a/docs/source/media/Schematic_three_one8.png b/docs/source/media/Schematic_three_one8.png new file mode 100644 index 0000000..d2bc560 Binary files /dev/null and b/docs/source/media/Schematic_three_one8.png differ diff --git a/docs/source/media/Schematic_three_one9.png b/docs/source/media/Schematic_three_one9.png new file mode 100644 index 0000000..d47991e Binary files /dev/null and b/docs/source/media/Schematic_three_one9.png differ diff --git a/docs/source/media/anode_table.png b/docs/source/media/anode_table.png new file mode 100644 index 0000000..e0dab79 Binary files /dev/null and b/docs/source/media/anode_table.png differ diff --git a/docs/source/media/blinking_led_list.png b/docs/source/media/blinking_led_list.png new file mode 100644 index 0000000..80f9df7 Binary files /dev/null and b/docs/source/media/blinking_led_list.png differ diff --git a/docs/source/media/common_anode.png b/docs/source/media/common_anode.png new file mode 100644 index 0000000..94f6c76 Binary files /dev/null and b/docs/source/media/common_anode.png differ diff --git a/docs/source/media/common_cathode.png b/docs/source/media/common_cathode.png new file mode 100644 index 0000000..efc7f27 Binary files /dev/null and b/docs/source/media/common_cathode.png differ diff --git a/docs/source/media/debug.log b/docs/source/media/debug.log new file mode 100644 index 0000000..6cad23a --- /dev/null +++ b/docs/source/media/debug.log @@ -0,0 +1,8 @@ +[0512/153853:WARNING:url_request_job_manager.cc(89)] Failed to map: weixin://resourceid/blank +[0512/173245:WARNING:url_request_job_manager.cc(89)] Failed to map: weixin://resourceid/blank +[0512/173710:WARNING:url_request_job_manager.cc(89)] Failed to map: weixin://resourceid/blank +[0512/180034:WARNING:url_request_job_manager.cc(89)] Failed to map: weixin://resourceid/blank +[0512/180851:WARNING:url_request_job_manager.cc(89)] Failed to map: weixin://resourceid/blank +[0512/183344:ERROR:browser_gpu_channel_host_factory.cc(119)] Failed to launch GPU process. +[0513/100113:WARNING:url_request_job_manager.cc(89)] Failed to map: weixin://resourceid/blank +[0513/102118:WARNING:url_request_job_manager.cc(89)] Failed to map: weixin://resourceid/blank diff --git a/docs/source/media/gpio_board.png b/docs/source/media/gpio_board.png new file mode 100644 index 0000000..235a638 Binary files /dev/null and b/docs/source/media/gpio_board.png differ diff --git a/docs/source/media/i2c_lcd.png b/docs/source/media/i2c_lcd.png new file mode 100644 index 0000000..6b41753 Binary files /dev/null and b/docs/source/media/i2c_lcd.png differ diff --git a/docs/source/media/image1.jpeg b/docs/source/media/image1.jpeg new file mode 100644 index 0000000..9d8acb4 Binary files /dev/null and b/docs/source/media/image1.jpeg differ diff --git a/docs/source/media/image10.jpeg b/docs/source/media/image10.jpeg new file mode 100644 index 0000000..24082c3 Binary files /dev/null and b/docs/source/media/image10.jpeg differ diff --git a/docs/source/media/image100.png b/docs/source/media/image100.png new file mode 100644 index 0000000..eccbf0a Binary files /dev/null and b/docs/source/media/image100.png differ diff --git a/docs/source/media/image101.png b/docs/source/media/image101.png new file mode 100644 index 0000000..ca50e49 Binary files /dev/null and b/docs/source/media/image101.png differ diff --git a/docs/source/media/image102.png b/docs/source/media/image102.png new file mode 100644 index 0000000..adead5e Binary files /dev/null and b/docs/source/media/image102.png differ diff --git a/docs/source/media/image104.png b/docs/source/media/image104.png new file mode 100644 index 0000000..30ab46d Binary files /dev/null and b/docs/source/media/image104.png differ diff --git a/docs/source/media/image105.jpeg b/docs/source/media/image105.jpeg new file mode 100644 index 0000000..eb4c142 Binary files /dev/null and b/docs/source/media/image105.jpeg differ diff --git a/docs/source/media/image106.png b/docs/source/media/image106.png new file mode 100644 index 0000000..eab5c72 Binary files /dev/null and b/docs/source/media/image106.png differ diff --git a/docs/source/media/image107.jpeg b/docs/source/media/image107.jpeg new file mode 100644 index 0000000..af96328 Binary files /dev/null and b/docs/source/media/image107.jpeg differ diff --git a/docs/source/media/image108.png b/docs/source/media/image108.png new file mode 100644 index 0000000..c6ae566 Binary files /dev/null and b/docs/source/media/image108.png differ diff --git a/docs/source/media/image109.png b/docs/source/media/image109.png new file mode 100644 index 0000000..8c906ec Binary files /dev/null and b/docs/source/media/image109.png differ diff --git a/docs/source/media/image11.png b/docs/source/media/image11.png new file mode 100644 index 0000000..0dac8d9 Binary files /dev/null and b/docs/source/media/image11.png differ diff --git a/docs/source/media/image110.png b/docs/source/media/image110.png new file mode 100644 index 0000000..781a1e0 Binary files /dev/null and b/docs/source/media/image110.png differ diff --git a/docs/source/media/image111.png b/docs/source/media/image111.png new file mode 100644 index 0000000..c288d3e Binary files /dev/null and b/docs/source/media/image111.png differ diff --git a/docs/source/media/image112.png b/docs/source/media/image112.png new file mode 100644 index 0000000..cd91c14 Binary files /dev/null and b/docs/source/media/image112.png differ diff --git a/docs/source/media/image113.png b/docs/source/media/image113.png new file mode 100644 index 0000000..579e587 Binary files /dev/null and b/docs/source/media/image113.png differ diff --git a/docs/source/media/image114.jpeg b/docs/source/media/image114.jpeg new file mode 100644 index 0000000..e0c1146 Binary files /dev/null and b/docs/source/media/image114.jpeg differ diff --git a/docs/source/media/image115.png b/docs/source/media/image115.png new file mode 100644 index 0000000..2d1bb9c Binary files /dev/null and b/docs/source/media/image115.png differ diff --git a/docs/source/media/image117.png b/docs/source/media/image117.png new file mode 100644 index 0000000..c10aa96 Binary files /dev/null and b/docs/source/media/image117.png differ diff --git a/docs/source/media/image118.jpeg b/docs/source/media/image118.jpeg new file mode 100644 index 0000000..a808ef5 Binary files /dev/null and b/docs/source/media/image118.jpeg differ diff --git a/docs/source/media/image119.jpeg b/docs/source/media/image119.jpeg new file mode 100644 index 0000000..bd9f2e1 Binary files /dev/null and b/docs/source/media/image119.jpeg differ diff --git a/docs/source/media/image12.png b/docs/source/media/image12.png new file mode 100644 index 0000000..8937ac9 Binary files /dev/null and b/docs/source/media/image12.png differ diff --git a/docs/source/media/image120.png b/docs/source/media/image120.png new file mode 100644 index 0000000..68c8c0c Binary files /dev/null and b/docs/source/media/image120.png differ diff --git a/docs/source/media/image121.png b/docs/source/media/image121.png new file mode 100644 index 0000000..40331b8 Binary files /dev/null and b/docs/source/media/image121.png differ diff --git a/docs/source/media/image122.png b/docs/source/media/image122.png new file mode 100644 index 0000000..d02c485 Binary files /dev/null and b/docs/source/media/image122.png differ diff --git a/docs/source/media/image123.jpeg b/docs/source/media/image123.jpeg new file mode 100644 index 0000000..14b9093 Binary files /dev/null and b/docs/source/media/image123.jpeg differ diff --git a/docs/source/media/image125.png b/docs/source/media/image125.png new file mode 100644 index 0000000..e908d2d Binary files /dev/null and b/docs/source/media/image125.png differ diff --git a/docs/source/media/image126.jpeg b/docs/source/media/image126.jpeg new file mode 100644 index 0000000..0f15b6e Binary files /dev/null and b/docs/source/media/image126.jpeg differ diff --git a/docs/source/media/image127.png b/docs/source/media/image127.png new file mode 100644 index 0000000..d45e366 Binary files /dev/null and b/docs/source/media/image127.png differ diff --git a/docs/source/media/image128.png b/docs/source/media/image128.png new file mode 100644 index 0000000..b60d61d Binary files /dev/null and b/docs/source/media/image128.png differ diff --git a/docs/source/media/image129.png b/docs/source/media/image129.png new file mode 100644 index 0000000..0c59f98 Binary files /dev/null and b/docs/source/media/image129.png differ diff --git a/docs/source/media/image13.png b/docs/source/media/image13.png new file mode 100644 index 0000000..896e0df Binary files /dev/null and b/docs/source/media/image13.png differ diff --git a/docs/source/media/image130.png b/docs/source/media/image130.png new file mode 100644 index 0000000..abaa147 Binary files /dev/null and b/docs/source/media/image130.png differ diff --git a/docs/source/media/image131.png b/docs/source/media/image131.png new file mode 100644 index 0000000..a37cd88 Binary files /dev/null and b/docs/source/media/image131.png differ diff --git a/docs/source/media/image132.png b/docs/source/media/image132.png new file mode 100644 index 0000000..6171b49 Binary files /dev/null and b/docs/source/media/image132.png differ diff --git a/docs/source/media/image134.png b/docs/source/media/image134.png new file mode 100644 index 0000000..e4b82eb Binary files /dev/null and b/docs/source/media/image134.png differ diff --git a/docs/source/media/image135.jpeg b/docs/source/media/image135.jpeg new file mode 100644 index 0000000..55a130f Binary files /dev/null and b/docs/source/media/image135.jpeg differ diff --git a/docs/source/media/image136.png b/docs/source/media/image136.png new file mode 100644 index 0000000..c034d79 Binary files /dev/null and b/docs/source/media/image136.png differ diff --git a/docs/source/media/image137.png b/docs/source/media/image137.png new file mode 100644 index 0000000..7888118 Binary files /dev/null and b/docs/source/media/image137.png differ diff --git a/docs/source/media/image138.png b/docs/source/media/image138.png new file mode 100644 index 0000000..8fecb6a Binary files /dev/null and b/docs/source/media/image138.png differ diff --git a/docs/source/media/image139.jpeg b/docs/source/media/image139.jpeg new file mode 100644 index 0000000..22fa4b0 Binary files /dev/null and b/docs/source/media/image139.jpeg differ diff --git a/docs/source/media/image14.png b/docs/source/media/image14.png new file mode 100644 index 0000000..90a658d Binary files /dev/null and b/docs/source/media/image14.png differ diff --git a/docs/source/media/image140.png b/docs/source/media/image140.png new file mode 100644 index 0000000..c89ea85 Binary files /dev/null and b/docs/source/media/image140.png differ diff --git a/docs/source/media/image141.png b/docs/source/media/image141.png new file mode 100644 index 0000000..19e04f8 Binary files /dev/null and b/docs/source/media/image141.png differ diff --git a/docs/source/media/image142.jpeg b/docs/source/media/image142.jpeg new file mode 100644 index 0000000..3b40618 Binary files /dev/null and b/docs/source/media/image142.jpeg differ diff --git a/docs/source/media/image144.png b/docs/source/media/image144.png new file mode 100644 index 0000000..bb50523 Binary files /dev/null and b/docs/source/media/image144.png differ diff --git a/docs/source/media/image145.jpeg b/docs/source/media/image145.jpeg new file mode 100644 index 0000000..ee29c7a Binary files /dev/null and b/docs/source/media/image145.jpeg differ diff --git a/docs/source/media/image146.png b/docs/source/media/image146.png new file mode 100644 index 0000000..02240ef Binary files /dev/null and b/docs/source/media/image146.png differ diff --git a/docs/source/media/image147.png b/docs/source/media/image147.png new file mode 100644 index 0000000..3105161 Binary files /dev/null and b/docs/source/media/image147.png differ diff --git a/docs/source/media/image148.png b/docs/source/media/image148.png new file mode 100644 index 0000000..3ba2c9a Binary files /dev/null and b/docs/source/media/image148.png differ diff --git a/docs/source/media/image15.png b/docs/source/media/image15.png new file mode 100644 index 0000000..8ba4313 Binary files /dev/null and b/docs/source/media/image15.png differ diff --git a/docs/source/media/image152.png b/docs/source/media/image152.png new file mode 100644 index 0000000..5bc39bc Binary files /dev/null and b/docs/source/media/image152.png differ diff --git a/docs/source/media/image153.jpeg b/docs/source/media/image153.jpeg new file mode 100644 index 0000000..e50a06d Binary files /dev/null and b/docs/source/media/image153.jpeg differ diff --git a/docs/source/media/image154.png b/docs/source/media/image154.png new file mode 100644 index 0000000..bf58143 Binary files /dev/null and b/docs/source/media/image154.png differ diff --git a/docs/source/media/image155.png b/docs/source/media/image155.png new file mode 100644 index 0000000..d79a8e6 Binary files /dev/null and b/docs/source/media/image155.png differ diff --git a/docs/source/media/image156.jpeg b/docs/source/media/image156.jpeg new file mode 100644 index 0000000..571eb03 Binary files /dev/null and b/docs/source/media/image156.jpeg differ diff --git a/docs/source/media/image157.png b/docs/source/media/image157.png new file mode 100644 index 0000000..090d313 Binary files /dev/null and b/docs/source/media/image157.png differ diff --git a/docs/source/media/image158.png b/docs/source/media/image158.png new file mode 100644 index 0000000..f91fb29 Binary files /dev/null and b/docs/source/media/image158.png differ diff --git a/docs/source/media/image159.png b/docs/source/media/image159.png new file mode 100644 index 0000000..f6d3baa Binary files /dev/null and b/docs/source/media/image159.png differ diff --git a/docs/source/media/image16.png b/docs/source/media/image16.png new file mode 100644 index 0000000..a374a2a Binary files /dev/null and b/docs/source/media/image16.png differ diff --git a/docs/source/media/image161.png b/docs/source/media/image161.png new file mode 100644 index 0000000..b76d5c9 Binary files /dev/null and b/docs/source/media/image161.png differ diff --git a/docs/source/media/image162.jpeg b/docs/source/media/image162.jpeg new file mode 100644 index 0000000..1ef7113 Binary files /dev/null and b/docs/source/media/image162.jpeg differ diff --git a/docs/source/media/image163.png b/docs/source/media/image163.png new file mode 100644 index 0000000..0ea01db Binary files /dev/null and b/docs/source/media/image163.png differ diff --git a/docs/source/media/image164.png b/docs/source/media/image164.png new file mode 100644 index 0000000..153b617 Binary files /dev/null and b/docs/source/media/image164.png differ diff --git a/docs/source/media/image165.png b/docs/source/media/image165.png new file mode 100644 index 0000000..83c5796 Binary files /dev/null and b/docs/source/media/image165.png differ diff --git a/docs/source/media/image166.png b/docs/source/media/image166.png new file mode 100644 index 0000000..be0bb5c Binary files /dev/null and b/docs/source/media/image166.png differ diff --git a/docs/source/media/image167.png b/docs/source/media/image167.png new file mode 100644 index 0000000..43fcd1f Binary files /dev/null and b/docs/source/media/image167.png differ diff --git a/docs/source/media/image169.png b/docs/source/media/image169.png new file mode 100644 index 0000000..e12012f Binary files /dev/null and b/docs/source/media/image169.png differ diff --git a/docs/source/media/image17.png b/docs/source/media/image17.png new file mode 100644 index 0000000..0db0381 Binary files /dev/null and b/docs/source/media/image17.png differ diff --git a/docs/source/media/image170.jpeg b/docs/source/media/image170.jpeg new file mode 100644 index 0000000..00df525 Binary files /dev/null and b/docs/source/media/image170.jpeg differ diff --git a/docs/source/media/image171.png b/docs/source/media/image171.png new file mode 100644 index 0000000..0199e95 Binary files /dev/null and b/docs/source/media/image171.png differ diff --git a/docs/source/media/image172.png b/docs/source/media/image172.png new file mode 100644 index 0000000..3d4bf67 Binary files /dev/null and b/docs/source/media/image172.png differ diff --git a/docs/source/media/image173.jpeg b/docs/source/media/image173.jpeg new file mode 100644 index 0000000..e8d365f Binary files /dev/null and b/docs/source/media/image173.jpeg differ diff --git a/docs/source/media/image174.png b/docs/source/media/image174.png new file mode 100644 index 0000000..b65ecf2 Binary files /dev/null and b/docs/source/media/image174.png differ diff --git a/docs/source/media/image175.png b/docs/source/media/image175.png new file mode 100644 index 0000000..1ac68b7 Binary files /dev/null and b/docs/source/media/image175.png differ diff --git a/docs/source/media/image176.png b/docs/source/media/image176.png new file mode 100644 index 0000000..078b8d1 Binary files /dev/null and b/docs/source/media/image176.png differ diff --git a/docs/source/media/image177.png b/docs/source/media/image177.png new file mode 100644 index 0000000..ca1bb2f Binary files /dev/null and b/docs/source/media/image177.png differ diff --git a/docs/source/media/image178.png b/docs/source/media/image178.png new file mode 100644 index 0000000..7b7f4bb Binary files /dev/null and b/docs/source/media/image178.png differ diff --git a/docs/source/media/image18.png b/docs/source/media/image18.png new file mode 100644 index 0000000..d2f9685 Binary files /dev/null and b/docs/source/media/image18.png differ diff --git a/docs/source/media/image180.png b/docs/source/media/image180.png new file mode 100644 index 0000000..3f2f857 Binary files /dev/null and b/docs/source/media/image180.png differ diff --git a/docs/source/media/image181.jpeg b/docs/source/media/image181.jpeg new file mode 100644 index 0000000..987faf9 Binary files /dev/null and b/docs/source/media/image181.jpeg differ diff --git a/docs/source/media/image182.png b/docs/source/media/image182.png new file mode 100644 index 0000000..fb160ec Binary files /dev/null and b/docs/source/media/image182.png differ diff --git a/docs/source/media/image183.png b/docs/source/media/image183.png new file mode 100644 index 0000000..45c39ad Binary files /dev/null and b/docs/source/media/image183.png differ diff --git a/docs/source/media/image184.png b/docs/source/media/image184.png new file mode 100644 index 0000000..82172b1 Binary files /dev/null and b/docs/source/media/image184.png differ diff --git a/docs/source/media/image186.png b/docs/source/media/image186.png new file mode 100644 index 0000000..66da1cc Binary files /dev/null and b/docs/source/media/image186.png differ diff --git a/docs/source/media/image187.png b/docs/source/media/image187.png new file mode 100644 index 0000000..2173a56 Binary files /dev/null and b/docs/source/media/image187.png differ diff --git a/docs/source/media/image188.jpeg b/docs/source/media/image188.jpeg new file mode 100644 index 0000000..fe7252f Binary files /dev/null and b/docs/source/media/image188.jpeg differ diff --git a/docs/source/media/image189.png b/docs/source/media/image189.png new file mode 100644 index 0000000..a17a03e Binary files /dev/null and b/docs/source/media/image189.png differ diff --git a/docs/source/media/image19.png b/docs/source/media/image19.png new file mode 100644 index 0000000..ee9826d Binary files /dev/null and b/docs/source/media/image19.png differ diff --git a/docs/source/media/image190.png b/docs/source/media/image190.png new file mode 100644 index 0000000..edd08ec Binary files /dev/null and b/docs/source/media/image190.png differ diff --git a/docs/source/media/image191.png b/docs/source/media/image191.png new file mode 100644 index 0000000..90ebe5b Binary files /dev/null and b/docs/source/media/image191.png differ diff --git a/docs/source/media/image193.png b/docs/source/media/image193.png new file mode 100644 index 0000000..560b27c Binary files /dev/null and b/docs/source/media/image193.png differ diff --git a/docs/source/media/image194.jpeg b/docs/source/media/image194.jpeg new file mode 100644 index 0000000..9e9a565 Binary files /dev/null and b/docs/source/media/image194.jpeg differ diff --git a/docs/source/media/image195.png b/docs/source/media/image195.png new file mode 100644 index 0000000..9c0ce4f Binary files /dev/null and b/docs/source/media/image195.png differ diff --git a/docs/source/media/image196.png b/docs/source/media/image196.png new file mode 100644 index 0000000..a34a07d Binary files /dev/null and b/docs/source/media/image196.png differ diff --git a/docs/source/media/image198.png b/docs/source/media/image198.png new file mode 100644 index 0000000..20d777e Binary files /dev/null and b/docs/source/media/image198.png differ diff --git a/docs/source/media/image199.jpeg b/docs/source/media/image199.jpeg new file mode 100644 index 0000000..f38cbed Binary files /dev/null and b/docs/source/media/image199.jpeg differ diff --git a/docs/source/media/image2.png b/docs/source/media/image2.png new file mode 100644 index 0000000..6769747 Binary files /dev/null and b/docs/source/media/image2.png differ diff --git a/docs/source/media/image20.png b/docs/source/media/image20.png new file mode 100644 index 0000000..bd4fd42 Binary files /dev/null and b/docs/source/media/image20.png differ diff --git a/docs/source/media/image200.png b/docs/source/media/image200.png new file mode 100644 index 0000000..2fc501b Binary files /dev/null and b/docs/source/media/image200.png differ diff --git a/docs/source/media/image202.png b/docs/source/media/image202.png new file mode 100644 index 0000000..d834e15 Binary files /dev/null and b/docs/source/media/image202.png differ diff --git a/docs/source/media/image203.jpeg b/docs/source/media/image203.jpeg new file mode 100644 index 0000000..2491cfa Binary files /dev/null and b/docs/source/media/image203.jpeg differ diff --git a/docs/source/media/image204.png b/docs/source/media/image204.png new file mode 100644 index 0000000..f3a9281 Binary files /dev/null and b/docs/source/media/image204.png differ diff --git a/docs/source/media/image205.png b/docs/source/media/image205.png new file mode 100644 index 0000000..550c593 Binary files /dev/null and b/docs/source/media/image205.png differ diff --git a/docs/source/media/image207.png b/docs/source/media/image207.png new file mode 100644 index 0000000..279ad12 Binary files /dev/null and b/docs/source/media/image207.png differ diff --git a/docs/source/media/image208.png b/docs/source/media/image208.png new file mode 100644 index 0000000..63497ae Binary files /dev/null and b/docs/source/media/image208.png differ diff --git a/docs/source/media/image209.jpeg b/docs/source/media/image209.jpeg new file mode 100644 index 0000000..50e23ba Binary files /dev/null and b/docs/source/media/image209.jpeg differ diff --git a/docs/source/media/image21.png b/docs/source/media/image21.png new file mode 100644 index 0000000..02c3e12 Binary files /dev/null and b/docs/source/media/image21.png differ diff --git a/docs/source/media/image210.png b/docs/source/media/image210.png new file mode 100644 index 0000000..cca36fe Binary files /dev/null and b/docs/source/media/image210.png differ diff --git a/docs/source/media/image211.png b/docs/source/media/image211.png new file mode 100644 index 0000000..aa3b252 Binary files /dev/null and b/docs/source/media/image211.png differ diff --git a/docs/source/media/image212.png b/docs/source/media/image212.png new file mode 100644 index 0000000..b0b634b Binary files /dev/null and b/docs/source/media/image212.png differ diff --git a/docs/source/media/image214.png b/docs/source/media/image214.png new file mode 100644 index 0000000..2120a63 Binary files /dev/null and b/docs/source/media/image214.png differ diff --git a/docs/source/media/image215.jpeg b/docs/source/media/image215.jpeg new file mode 100644 index 0000000..1b681fa Binary files /dev/null and b/docs/source/media/image215.jpeg differ diff --git a/docs/source/media/image216.png b/docs/source/media/image216.png new file mode 100644 index 0000000..bfa467f Binary files /dev/null and b/docs/source/media/image216.png differ diff --git a/docs/source/media/image217.png b/docs/source/media/image217.png new file mode 100644 index 0000000..6f97b11 Binary files /dev/null and b/docs/source/media/image217.png differ diff --git a/docs/source/media/image218.png b/docs/source/media/image218.png new file mode 100644 index 0000000..28df7ea Binary files /dev/null and b/docs/source/media/image218.png differ diff --git a/docs/source/media/image22.png b/docs/source/media/image22.png new file mode 100644 index 0000000..464c16d Binary files /dev/null and b/docs/source/media/image22.png differ diff --git a/docs/source/media/image220.png b/docs/source/media/image220.png new file mode 100644 index 0000000..75f1cce Binary files /dev/null and b/docs/source/media/image220.png differ diff --git a/docs/source/media/image221.jpeg b/docs/source/media/image221.jpeg new file mode 100644 index 0000000..74b1ba0 Binary files /dev/null and b/docs/source/media/image221.jpeg differ diff --git a/docs/source/media/image222.png b/docs/source/media/image222.png new file mode 100644 index 0000000..38848e2 Binary files /dev/null and b/docs/source/media/image222.png differ diff --git a/docs/source/media/image223.png b/docs/source/media/image223.png new file mode 100644 index 0000000..572f6ab Binary files /dev/null and b/docs/source/media/image223.png differ diff --git a/docs/source/media/image224.png b/docs/source/media/image224.png new file mode 100644 index 0000000..6c963a4 Binary files /dev/null and b/docs/source/media/image224.png differ diff --git a/docs/source/media/image225.png b/docs/source/media/image225.png new file mode 100644 index 0000000..187fa57 Binary files /dev/null and b/docs/source/media/image225.png differ diff --git a/docs/source/media/image227.png b/docs/source/media/image227.png new file mode 100644 index 0000000..e43fcd0 Binary files /dev/null and b/docs/source/media/image227.png differ diff --git a/docs/source/media/image228.jpeg b/docs/source/media/image228.jpeg new file mode 100644 index 0000000..a092af2 Binary files /dev/null and b/docs/source/media/image228.jpeg differ diff --git a/docs/source/media/image229.png b/docs/source/media/image229.png new file mode 100644 index 0000000..96efd82 Binary files /dev/null and b/docs/source/media/image229.png differ diff --git a/docs/source/media/image23.png b/docs/source/media/image23.png new file mode 100644 index 0000000..4e1d38c Binary files /dev/null and b/docs/source/media/image23.png differ diff --git a/docs/source/media/image230.png b/docs/source/media/image230.png new file mode 100644 index 0000000..49e95ef Binary files /dev/null and b/docs/source/media/image230.png differ diff --git a/docs/source/media/image232.png b/docs/source/media/image232.png new file mode 100644 index 0000000..15c6187 Binary files /dev/null and b/docs/source/media/image232.png differ diff --git a/docs/source/media/image233.jpeg b/docs/source/media/image233.jpeg new file mode 100644 index 0000000..df7028c Binary files /dev/null and b/docs/source/media/image233.jpeg differ diff --git a/docs/source/media/image234.png b/docs/source/media/image234.png new file mode 100644 index 0000000..8330136 Binary files /dev/null and b/docs/source/media/image234.png differ diff --git a/docs/source/media/image235.png b/docs/source/media/image235.png new file mode 100644 index 0000000..66561b3 Binary files /dev/null and b/docs/source/media/image235.png differ diff --git a/docs/source/media/image236.jpeg b/docs/source/media/image236.jpeg new file mode 100644 index 0000000..6a1335b Binary files /dev/null and b/docs/source/media/image236.jpeg differ diff --git a/docs/source/media/image237.png b/docs/source/media/image237.png new file mode 100644 index 0000000..b271aad Binary files /dev/null and b/docs/source/media/image237.png differ diff --git a/docs/source/media/image239.png b/docs/source/media/image239.png new file mode 100644 index 0000000..fdb5554 Binary files /dev/null and b/docs/source/media/image239.png differ diff --git a/docs/source/media/image24.png b/docs/source/media/image24.png new file mode 100644 index 0000000..33e3cb1 Binary files /dev/null and b/docs/source/media/image24.png differ diff --git a/docs/source/media/image240.jpeg b/docs/source/media/image240.jpeg new file mode 100644 index 0000000..aba800d Binary files /dev/null and b/docs/source/media/image240.jpeg differ diff --git a/docs/source/media/image242.png b/docs/source/media/image242.png new file mode 100644 index 0000000..b02ce2c Binary files /dev/null and b/docs/source/media/image242.png differ diff --git a/docs/source/media/image243.jpeg b/docs/source/media/image243.jpeg new file mode 100644 index 0000000..7db3245 Binary files /dev/null and b/docs/source/media/image243.jpeg differ diff --git a/docs/source/media/image245.png b/docs/source/media/image245.png new file mode 100644 index 0000000..4864c90 Binary files /dev/null and b/docs/source/media/image245.png differ diff --git a/docs/source/media/image246.jpeg b/docs/source/media/image246.jpeg new file mode 100644 index 0000000..9fdfa63 Binary files /dev/null and b/docs/source/media/image246.jpeg differ diff --git a/docs/source/media/image246.png b/docs/source/media/image246.png new file mode 100644 index 0000000..cb6f6a1 Binary files /dev/null and b/docs/source/media/image246.png differ diff --git a/docs/source/media/image248.png b/docs/source/media/image248.png new file mode 100644 index 0000000..67245a6 Binary files /dev/null and b/docs/source/media/image248.png differ diff --git a/docs/source/media/image249.jpeg b/docs/source/media/image249.jpeg new file mode 100644 index 0000000..2af7fda Binary files /dev/null and b/docs/source/media/image249.jpeg differ diff --git a/docs/source/media/image25.png b/docs/source/media/image25.png new file mode 100644 index 0000000..0d335c5 Binary files /dev/null and b/docs/source/media/image25.png differ diff --git a/docs/source/media/image251.png b/docs/source/media/image251.png new file mode 100644 index 0000000..1004dd2 Binary files /dev/null and b/docs/source/media/image251.png differ diff --git a/docs/source/media/image252.jpeg b/docs/source/media/image252.jpeg new file mode 100644 index 0000000..c703220 Binary files /dev/null and b/docs/source/media/image252.jpeg differ diff --git a/docs/source/media/image254.png b/docs/source/media/image254.png new file mode 100644 index 0000000..a94fd17 Binary files /dev/null and b/docs/source/media/image254.png differ diff --git a/docs/source/media/image256.png b/docs/source/media/image256.png new file mode 100644 index 0000000..8d4d0f8 Binary files /dev/null and b/docs/source/media/image256.png differ diff --git a/docs/source/media/image258.png b/docs/source/media/image258.png new file mode 100644 index 0000000..8b96ee5 Binary files /dev/null and b/docs/source/media/image258.png differ diff --git a/docs/source/media/image259.jpeg b/docs/source/media/image259.jpeg new file mode 100644 index 0000000..cb49ce0 Binary files /dev/null and b/docs/source/media/image259.jpeg differ diff --git a/docs/source/media/image26.png b/docs/source/media/image26.png new file mode 100644 index 0000000..e6f49b6 Binary files /dev/null and b/docs/source/media/image26.png differ diff --git a/docs/source/media/image260.png b/docs/source/media/image260.png new file mode 100644 index 0000000..fc1a8a3 Binary files /dev/null and b/docs/source/media/image260.png differ diff --git a/docs/source/media/image262.png b/docs/source/media/image262.png new file mode 100644 index 0000000..4e7fc26 Binary files /dev/null and b/docs/source/media/image262.png differ diff --git a/docs/source/media/image263.jpeg b/docs/source/media/image263.jpeg new file mode 100644 index 0000000..0df530d Binary files /dev/null and b/docs/source/media/image263.jpeg differ diff --git a/docs/source/media/image264.png b/docs/source/media/image264.png new file mode 100644 index 0000000..3eefaf5 Binary files /dev/null and b/docs/source/media/image264.png differ diff --git a/docs/source/media/image266.png b/docs/source/media/image266.png new file mode 100644 index 0000000..49b35d2 Binary files /dev/null and b/docs/source/media/image266.png differ diff --git a/docs/source/media/image267.jpeg b/docs/source/media/image267.jpeg new file mode 100644 index 0000000..5b9d063 Binary files /dev/null and b/docs/source/media/image267.jpeg differ diff --git a/docs/source/media/image269.png b/docs/source/media/image269.png new file mode 100644 index 0000000..476e10e Binary files /dev/null and b/docs/source/media/image269.png differ diff --git a/docs/source/media/image27.png b/docs/source/media/image27.png new file mode 100644 index 0000000..e6cefee Binary files /dev/null and b/docs/source/media/image27.png differ diff --git a/docs/source/media/image270.jpeg b/docs/source/media/image270.jpeg new file mode 100644 index 0000000..183d6f8 Binary files /dev/null and b/docs/source/media/image270.jpeg differ diff --git a/docs/source/media/image271.png b/docs/source/media/image271.png new file mode 100644 index 0000000..0aa1e76 Binary files /dev/null and b/docs/source/media/image271.png differ diff --git a/docs/source/media/image273.png b/docs/source/media/image273.png new file mode 100644 index 0000000..026ae45 Binary files /dev/null and b/docs/source/media/image273.png differ diff --git a/docs/source/media/image274.jpeg b/docs/source/media/image274.jpeg new file mode 100644 index 0000000..f2fe1c8 Binary files /dev/null and b/docs/source/media/image274.jpeg differ diff --git a/docs/source/media/image275.png b/docs/source/media/image275.png new file mode 100644 index 0000000..11eaf5e Binary files /dev/null and b/docs/source/media/image275.png differ diff --git a/docs/source/media/image277.png b/docs/source/media/image277.png new file mode 100644 index 0000000..939fe7c Binary files /dev/null and b/docs/source/media/image277.png differ diff --git a/docs/source/media/image278.jpeg b/docs/source/media/image278.jpeg new file mode 100644 index 0000000..66d9ea8 Binary files /dev/null and b/docs/source/media/image278.jpeg differ diff --git a/docs/source/media/image28.png b/docs/source/media/image28.png new file mode 100644 index 0000000..c15d090 Binary files /dev/null and b/docs/source/media/image28.png differ diff --git a/docs/source/media/image280.png b/docs/source/media/image280.png new file mode 100644 index 0000000..24b8141 Binary files /dev/null and b/docs/source/media/image280.png differ diff --git a/docs/source/media/image281.jpeg b/docs/source/media/image281.jpeg new file mode 100644 index 0000000..7691262 Binary files /dev/null and b/docs/source/media/image281.jpeg differ diff --git a/docs/source/media/image282.png b/docs/source/media/image282.png new file mode 100644 index 0000000..ecbebd1 Binary files /dev/null and b/docs/source/media/image282.png differ diff --git a/docs/source/media/image283.png b/docs/source/media/image283.png new file mode 100644 index 0000000..9c57841 Binary files /dev/null and b/docs/source/media/image283.png differ diff --git a/docs/source/media/image284.png b/docs/source/media/image284.png new file mode 100644 index 0000000..9166f7a Binary files /dev/null and b/docs/source/media/image284.png differ diff --git a/docs/source/media/image285.png b/docs/source/media/image285.png new file mode 100644 index 0000000..cafe445 Binary files /dev/null and b/docs/source/media/image285.png differ diff --git a/docs/source/media/image286.png b/docs/source/media/image286.png new file mode 100644 index 0000000..ce376ef Binary files /dev/null and b/docs/source/media/image286.png differ diff --git a/docs/source/media/image287.png b/docs/source/media/image287.png new file mode 100644 index 0000000..6975fa5 Binary files /dev/null and b/docs/source/media/image287.png differ diff --git a/docs/source/media/image288.png b/docs/source/media/image288.png new file mode 100644 index 0000000..e78506c Binary files /dev/null and b/docs/source/media/image288.png differ diff --git a/docs/source/media/image289.png b/docs/source/media/image289.png new file mode 100644 index 0000000..8e183fc Binary files /dev/null and b/docs/source/media/image289.png differ diff --git a/docs/source/media/image29.png b/docs/source/media/image29.png new file mode 100644 index 0000000..650d6bc Binary files /dev/null and b/docs/source/media/image29.png differ diff --git a/docs/source/media/image290.png b/docs/source/media/image290.png new file mode 100644 index 0000000..4b93615 Binary files /dev/null and b/docs/source/media/image290.png differ diff --git a/docs/source/media/image291.png b/docs/source/media/image291.png new file mode 100644 index 0000000..6565dbb Binary files /dev/null and b/docs/source/media/image291.png differ diff --git a/docs/source/media/image292.png b/docs/source/media/image292.png new file mode 100644 index 0000000..89167e0 Binary files /dev/null and b/docs/source/media/image292.png differ diff --git a/docs/source/media/image293.png b/docs/source/media/image293.png new file mode 100644 index 0000000..617385b Binary files /dev/null and b/docs/source/media/image293.png differ diff --git a/docs/source/media/image294.png b/docs/source/media/image294.png new file mode 100644 index 0000000..685a67d Binary files /dev/null and b/docs/source/media/image294.png differ diff --git a/docs/source/media/image295.png b/docs/source/media/image295.png new file mode 100644 index 0000000..b3483de Binary files /dev/null and b/docs/source/media/image295.png differ diff --git a/docs/source/media/image296.png b/docs/source/media/image296.png new file mode 100644 index 0000000..c8f05a3 Binary files /dev/null and b/docs/source/media/image296.png differ diff --git a/docs/source/media/image297.png b/docs/source/media/image297.png new file mode 100644 index 0000000..8a24413 Binary files /dev/null and b/docs/source/media/image297.png differ diff --git a/docs/source/media/image3.png b/docs/source/media/image3.png new file mode 100644 index 0000000..7cf8afb Binary files /dev/null and b/docs/source/media/image3.png differ diff --git a/docs/source/media/image30.png b/docs/source/media/image30.png new file mode 100644 index 0000000..648fd1a Binary files /dev/null and b/docs/source/media/image30.png differ diff --git a/docs/source/media/image301.png b/docs/source/media/image301.png new file mode 100644 index 0000000..f9909f8 Binary files /dev/null and b/docs/source/media/image301.png differ diff --git a/docs/source/media/image302.png b/docs/source/media/image302.png new file mode 100644 index 0000000..8833ad7 Binary files /dev/null and b/docs/source/media/image302.png differ diff --git a/docs/source/media/image303.png b/docs/source/media/image303.png new file mode 100644 index 0000000..93d989c Binary files /dev/null and b/docs/source/media/image303.png differ diff --git a/docs/source/media/image304.png b/docs/source/media/image304.png new file mode 100644 index 0000000..36b5f2d Binary files /dev/null and b/docs/source/media/image304.png differ diff --git a/docs/source/media/image305.png b/docs/source/media/image305.png new file mode 100644 index 0000000..bbdd8f9 Binary files /dev/null and b/docs/source/media/image305.png differ diff --git a/docs/source/media/image306.png b/docs/source/media/image306.png new file mode 100644 index 0000000..5a55f49 Binary files /dev/null and b/docs/source/media/image306.png differ diff --git a/docs/source/media/image307.png b/docs/source/media/image307.png new file mode 100644 index 0000000..7ee2a9e Binary files /dev/null and b/docs/source/media/image307.png differ diff --git a/docs/source/media/image308.png b/docs/source/media/image308.png new file mode 100644 index 0000000..62f1b4f Binary files /dev/null and b/docs/source/media/image308.png differ diff --git a/docs/source/media/image309.png b/docs/source/media/image309.png new file mode 100644 index 0000000..933e4f7 Binary files /dev/null and b/docs/source/media/image309.png differ diff --git a/docs/source/media/image31.png b/docs/source/media/image31.png new file mode 100644 index 0000000..f30fac8 Binary files /dev/null and b/docs/source/media/image31.png differ diff --git a/docs/source/media/image310.png b/docs/source/media/image310.png new file mode 100644 index 0000000..f739fcf Binary files /dev/null and b/docs/source/media/image310.png differ diff --git a/docs/source/media/image311.png b/docs/source/media/image311.png new file mode 100644 index 0000000..dec4774 Binary files /dev/null and b/docs/source/media/image311.png differ diff --git a/docs/source/media/image312.png b/docs/source/media/image312.png new file mode 100644 index 0000000..48d8a04 Binary files /dev/null and b/docs/source/media/image312.png differ diff --git a/docs/source/media/image313.png b/docs/source/media/image313.png new file mode 100644 index 0000000..df57425 Binary files /dev/null and b/docs/source/media/image313.png differ diff --git a/docs/source/media/image314.png b/docs/source/media/image314.png new file mode 100644 index 0000000..98e0d33 Binary files /dev/null and b/docs/source/media/image314.png differ diff --git a/docs/source/media/image315.png b/docs/source/media/image315.png new file mode 100644 index 0000000..0c81807 Binary files /dev/null and b/docs/source/media/image315.png differ diff --git a/docs/source/media/image316.png b/docs/source/media/image316.png new file mode 100644 index 0000000..fa1d7ad Binary files /dev/null and b/docs/source/media/image316.png differ diff --git a/docs/source/media/image317.png b/docs/source/media/image317.png new file mode 100644 index 0000000..365e7aa Binary files /dev/null and b/docs/source/media/image317.png differ diff --git a/docs/source/media/image318.png b/docs/source/media/image318.png new file mode 100644 index 0000000..9aad4d7 Binary files /dev/null and b/docs/source/media/image318.png differ diff --git a/docs/source/media/image319.png b/docs/source/media/image319.png new file mode 100644 index 0000000..7df94dc Binary files /dev/null and b/docs/source/media/image319.png differ diff --git a/docs/source/media/image32.png b/docs/source/media/image32.png new file mode 100644 index 0000000..532975f Binary files /dev/null and b/docs/source/media/image32.png differ diff --git a/docs/source/media/image320.png b/docs/source/media/image320.png new file mode 100644 index 0000000..8bb6dda Binary files /dev/null and b/docs/source/media/image320.png differ diff --git a/docs/source/media/image321.png b/docs/source/media/image321.png new file mode 100644 index 0000000..cc1288b Binary files /dev/null and b/docs/source/media/image321.png differ diff --git a/docs/source/media/image322.png b/docs/source/media/image322.png new file mode 100644 index 0000000..59a3c02 Binary files /dev/null and b/docs/source/media/image322.png differ diff --git a/docs/source/media/image323.png b/docs/source/media/image323.png new file mode 100644 index 0000000..9ebaac1 Binary files /dev/null and b/docs/source/media/image323.png differ diff --git a/docs/source/media/image324.png b/docs/source/media/image324.png new file mode 100644 index 0000000..61916f9 Binary files /dev/null and b/docs/source/media/image324.png differ diff --git a/docs/source/media/image325.png b/docs/source/media/image325.png new file mode 100644 index 0000000..fa84b35 Binary files /dev/null and b/docs/source/media/image325.png differ diff --git a/docs/source/media/image326.png b/docs/source/media/image326.png new file mode 100644 index 0000000..68dc865 Binary files /dev/null and b/docs/source/media/image326.png differ diff --git a/docs/source/media/image327.png b/docs/source/media/image327.png new file mode 100644 index 0000000..e01ac63 Binary files /dev/null and b/docs/source/media/image327.png differ diff --git a/docs/source/media/image328.png b/docs/source/media/image328.png new file mode 100644 index 0000000..ed262a0 Binary files /dev/null and b/docs/source/media/image328.png differ diff --git a/docs/source/media/image329.png b/docs/source/media/image329.png new file mode 100644 index 0000000..2027058 Binary files /dev/null and b/docs/source/media/image329.png differ diff --git a/docs/source/media/image33.png b/docs/source/media/image33.png new file mode 100644 index 0000000..301b12c Binary files /dev/null and b/docs/source/media/image33.png differ diff --git a/docs/source/media/image330.png b/docs/source/media/image330.png new file mode 100644 index 0000000..c331090 Binary files /dev/null and b/docs/source/media/image330.png differ diff --git a/docs/source/media/image331.png b/docs/source/media/image331.png new file mode 100644 index 0000000..77aa105 Binary files /dev/null and b/docs/source/media/image331.png differ diff --git a/docs/source/media/image332.png b/docs/source/media/image332.png new file mode 100644 index 0000000..8676de2 Binary files /dev/null and b/docs/source/media/image332.png differ diff --git a/docs/source/media/image333.png b/docs/source/media/image333.png new file mode 100644 index 0000000..c0b494e Binary files /dev/null and b/docs/source/media/image333.png differ diff --git a/docs/source/media/image334.png b/docs/source/media/image334.png new file mode 100644 index 0000000..0687510 Binary files /dev/null and b/docs/source/media/image334.png differ diff --git a/docs/source/media/image335.png b/docs/source/media/image335.png new file mode 100644 index 0000000..1c88235 Binary files /dev/null and b/docs/source/media/image335.png differ diff --git a/docs/source/media/image336.png b/docs/source/media/image336.png new file mode 100644 index 0000000..1076aff Binary files /dev/null and b/docs/source/media/image336.png differ diff --git a/docs/source/media/image337.png b/docs/source/media/image337.png new file mode 100644 index 0000000..49a0234 Binary files /dev/null and b/docs/source/media/image337.png differ diff --git a/docs/source/media/image338.png b/docs/source/media/image338.png new file mode 100644 index 0000000..8d1ac72 Binary files /dev/null and b/docs/source/media/image338.png differ diff --git a/docs/source/media/image339.png b/docs/source/media/image339.png new file mode 100644 index 0000000..d1930c1 Binary files /dev/null and b/docs/source/media/image339.png differ diff --git a/docs/source/media/image34.png b/docs/source/media/image34.png new file mode 100644 index 0000000..05fede8 Binary files /dev/null and b/docs/source/media/image34.png differ diff --git a/docs/source/media/image340.png b/docs/source/media/image340.png new file mode 100644 index 0000000..a390d5c Binary files /dev/null and b/docs/source/media/image340.png differ diff --git a/docs/source/media/image341.png b/docs/source/media/image341.png new file mode 100644 index 0000000..ed68408 Binary files /dev/null and b/docs/source/media/image341.png differ diff --git a/docs/source/media/image342.png b/docs/source/media/image342.png new file mode 100644 index 0000000..3e9b269 Binary files /dev/null and b/docs/source/media/image342.png differ diff --git a/docs/source/media/image343.png b/docs/source/media/image343.png new file mode 100644 index 0000000..f5f71c9 Binary files /dev/null and b/docs/source/media/image343.png differ diff --git a/docs/source/media/image344.png b/docs/source/media/image344.png new file mode 100644 index 0000000..a4f3fe2 Binary files /dev/null and b/docs/source/media/image344.png differ diff --git a/docs/source/media/image345.png b/docs/source/media/image345.png new file mode 100644 index 0000000..8fb6f11 Binary files /dev/null and b/docs/source/media/image345.png differ diff --git a/docs/source/media/image35.png b/docs/source/media/image35.png new file mode 100644 index 0000000..b58dd3d Binary files /dev/null and b/docs/source/media/image35.png differ diff --git a/docs/source/media/image36.jpeg b/docs/source/media/image36.jpeg new file mode 100644 index 0000000..0c0e9f3 Binary files /dev/null and b/docs/source/media/image36.jpeg differ diff --git a/docs/source/media/image37.png b/docs/source/media/image37.png new file mode 100644 index 0000000..e101d08 Binary files /dev/null and b/docs/source/media/image37.png differ diff --git a/docs/source/media/image38.png b/docs/source/media/image38.png new file mode 100644 index 0000000..d14cad9 Binary files /dev/null and b/docs/source/media/image38.png differ diff --git a/docs/source/media/image39.png b/docs/source/media/image39.png new file mode 100644 index 0000000..cb8e71d Binary files /dev/null and b/docs/source/media/image39.png differ diff --git a/docs/source/media/image4.jpeg b/docs/source/media/image4.jpeg new file mode 100644 index 0000000..da7f1f5 Binary files /dev/null and b/docs/source/media/image4.jpeg differ diff --git a/docs/source/media/image40.png b/docs/source/media/image40.png new file mode 100644 index 0000000..7c5a84b Binary files /dev/null and b/docs/source/media/image40.png differ diff --git a/docs/source/media/image41.png b/docs/source/media/image41.png new file mode 100644 index 0000000..785ef03 Binary files /dev/null and b/docs/source/media/image41.png differ diff --git a/docs/source/media/image42.png b/docs/source/media/image42.png new file mode 100644 index 0000000..3182f9a Binary files /dev/null and b/docs/source/media/image42.png differ diff --git a/docs/source/media/image43.png b/docs/source/media/image43.png new file mode 100644 index 0000000..1ac52e6 Binary files /dev/null and b/docs/source/media/image43.png differ diff --git a/docs/source/media/image44.png b/docs/source/media/image44.png new file mode 100644 index 0000000..161e5d0 Binary files /dev/null and b/docs/source/media/image44.png differ diff --git a/docs/source/media/image45.png b/docs/source/media/image45.png new file mode 100644 index 0000000..b6a0747 Binary files /dev/null and b/docs/source/media/image45.png differ diff --git a/docs/source/media/image46.png b/docs/source/media/image46.png new file mode 100644 index 0000000..26443c1 Binary files /dev/null and b/docs/source/media/image46.png differ diff --git a/docs/source/media/image47.jpeg b/docs/source/media/image47.jpeg new file mode 100644 index 0000000..be36ee6 Binary files /dev/null and b/docs/source/media/image47.jpeg differ diff --git a/docs/source/media/image48.emf b/docs/source/media/image48.emf new file mode 100644 index 0000000..ab70a26 Binary files /dev/null and b/docs/source/media/image48.emf differ diff --git a/docs/source/media/image48.png b/docs/source/media/image48.png new file mode 100644 index 0000000..45a91cd Binary files /dev/null and b/docs/source/media/image48.png differ diff --git a/docs/source/media/image49.png b/docs/source/media/image49.png new file mode 100644 index 0000000..2527c11 Binary files /dev/null and b/docs/source/media/image49.png differ diff --git a/docs/source/media/image50.png b/docs/source/media/image50.png new file mode 100644 index 0000000..c6b4f7a Binary files /dev/null and b/docs/source/media/image50.png differ diff --git a/docs/source/media/image51.png b/docs/source/media/image51.png new file mode 100644 index 0000000..a0b73d0 Binary files /dev/null and b/docs/source/media/image51.png differ diff --git a/docs/source/media/image52.png b/docs/source/media/image52.png new file mode 100644 index 0000000..c34faf5 Binary files /dev/null and b/docs/source/media/image52.png differ diff --git a/docs/source/media/image53.png b/docs/source/media/image53.png new file mode 100644 index 0000000..8fed6fd Binary files /dev/null and b/docs/source/media/image53.png differ diff --git a/docs/source/media/image54.jpeg b/docs/source/media/image54.jpeg new file mode 100644 index 0000000..950a2e4 Binary files /dev/null and b/docs/source/media/image54.jpeg differ diff --git a/docs/source/media/image55.png b/docs/source/media/image55.png new file mode 100644 index 0000000..00accec Binary files /dev/null and b/docs/source/media/image55.png differ diff --git a/docs/source/media/image56.png b/docs/source/media/image56.png new file mode 100644 index 0000000..9b14fcc Binary files /dev/null and b/docs/source/media/image56.png differ diff --git a/docs/source/media/image57.jpeg b/docs/source/media/image57.jpeg new file mode 100644 index 0000000..df497e9 Binary files /dev/null and b/docs/source/media/image57.jpeg differ diff --git a/docs/source/media/image58.png b/docs/source/media/image58.png new file mode 100644 index 0000000..a7b8df8 Binary files /dev/null and b/docs/source/media/image58.png differ diff --git a/docs/source/media/image59.png b/docs/source/media/image59.png new file mode 100644 index 0000000..72b645b Binary files /dev/null and b/docs/source/media/image59.png differ diff --git a/docs/source/media/image6.png b/docs/source/media/image6.png new file mode 100644 index 0000000..6c6ba4b Binary files /dev/null and b/docs/source/media/image6.png differ diff --git a/docs/source/media/image60.emf b/docs/source/media/image60.emf new file mode 100644 index 0000000..6c447c1 Binary files /dev/null and b/docs/source/media/image60.emf differ diff --git a/docs/source/media/image61.png b/docs/source/media/image61.png new file mode 100644 index 0000000..a4edab4 Binary files /dev/null and b/docs/source/media/image61.png differ diff --git a/docs/source/media/image62.jpeg b/docs/source/media/image62.jpeg new file mode 100644 index 0000000..032e415 Binary files /dev/null and b/docs/source/media/image62.jpeg differ diff --git a/docs/source/media/image63.png b/docs/source/media/image63.png new file mode 100644 index 0000000..fd21fdf Binary files /dev/null and b/docs/source/media/image63.png differ diff --git a/docs/source/media/image66.png b/docs/source/media/image66.png new file mode 100644 index 0000000..9e924d8 Binary files /dev/null and b/docs/source/media/image66.png differ diff --git a/docs/source/media/image67.jpeg b/docs/source/media/image67.jpeg new file mode 100644 index 0000000..a2d4303 Binary files /dev/null and b/docs/source/media/image67.jpeg differ diff --git a/docs/source/media/image68.jpeg b/docs/source/media/image68.jpeg new file mode 100644 index 0000000..6e4cfbf Binary files /dev/null and b/docs/source/media/image68.jpeg differ diff --git a/docs/source/media/image69.png b/docs/source/media/image69.png new file mode 100644 index 0000000..896de28 Binary files /dev/null and b/docs/source/media/image69.png differ diff --git a/docs/source/media/image70.jpeg b/docs/source/media/image70.jpeg new file mode 100644 index 0000000..73e590e Binary files /dev/null and b/docs/source/media/image70.jpeg differ diff --git a/docs/source/media/image73.png b/docs/source/media/image73.png new file mode 100644 index 0000000..914d1fe Binary files /dev/null and b/docs/source/media/image73.png differ diff --git a/docs/source/media/image74.jpeg b/docs/source/media/image74.jpeg new file mode 100644 index 0000000..2b2f47e Binary files /dev/null and b/docs/source/media/image74.jpeg differ diff --git a/docs/source/media/image75.png b/docs/source/media/image75.png new file mode 100644 index 0000000..efdc50f Binary files /dev/null and b/docs/source/media/image75.png differ diff --git a/docs/source/media/image76.jpeg b/docs/source/media/image76.jpeg new file mode 100644 index 0000000..9aaf4e1 Binary files /dev/null and b/docs/source/media/image76.jpeg differ diff --git a/docs/source/media/image78.png b/docs/source/media/image78.png new file mode 100644 index 0000000..e8f1959 Binary files /dev/null and b/docs/source/media/image78.png differ diff --git a/docs/source/media/image8.jpeg b/docs/source/media/image8.jpeg new file mode 100644 index 0000000..e8fc243 Binary files /dev/null and b/docs/source/media/image8.jpeg differ diff --git a/docs/source/media/image80.png b/docs/source/media/image80.png new file mode 100644 index 0000000..257e049 Binary files /dev/null and b/docs/source/media/image80.png differ diff --git a/docs/source/media/image81.jpeg b/docs/source/media/image81.jpeg new file mode 100644 index 0000000..52330ec Binary files /dev/null and b/docs/source/media/image81.jpeg differ diff --git a/docs/source/media/image83.png b/docs/source/media/image83.png new file mode 100644 index 0000000..025cc94 Binary files /dev/null and b/docs/source/media/image83.png differ diff --git a/docs/source/media/image84.png b/docs/source/media/image84.png new file mode 100644 index 0000000..9038d9a Binary files /dev/null and b/docs/source/media/image84.png differ diff --git a/docs/source/media/image85.png b/docs/source/media/image85.png new file mode 100644 index 0000000..bb3dc59 Binary files /dev/null and b/docs/source/media/image85.png differ diff --git a/docs/source/media/image87.png b/docs/source/media/image87.png new file mode 100644 index 0000000..b887ff4 Binary files /dev/null and b/docs/source/media/image87.png differ diff --git a/docs/source/media/image88.png b/docs/source/media/image88.png new file mode 100644 index 0000000..cf50b5b Binary files /dev/null and b/docs/source/media/image88.png differ diff --git a/docs/source/media/image89.png b/docs/source/media/image89.png new file mode 100644 index 0000000..1e91c6c Binary files /dev/null and b/docs/source/media/image89.png differ diff --git a/docs/source/media/image9.jpeg b/docs/source/media/image9.jpeg new file mode 100644 index 0000000..208c4c1 Binary files /dev/null and b/docs/source/media/image9.jpeg differ diff --git a/docs/source/media/image90.png b/docs/source/media/image90.png new file mode 100644 index 0000000..72a719e Binary files /dev/null and b/docs/source/media/image90.png differ diff --git a/docs/source/media/image91.jpeg b/docs/source/media/image91.jpeg new file mode 100644 index 0000000..0b388e0 Binary files /dev/null and b/docs/source/media/image91.jpeg differ diff --git a/docs/source/media/image92.png b/docs/source/media/image92.png new file mode 100644 index 0000000..1c24755 Binary files /dev/null and b/docs/source/media/image92.png differ diff --git a/docs/source/media/image93.png b/docs/source/media/image93.png new file mode 100644 index 0000000..06a6c21 Binary files /dev/null and b/docs/source/media/image93.png differ diff --git a/docs/source/media/image94.png b/docs/source/media/image94.png new file mode 100644 index 0000000..9d57bfe Binary files /dev/null and b/docs/source/media/image94.png differ diff --git a/docs/source/media/image96.png b/docs/source/media/image96.png new file mode 100644 index 0000000..d2790c8 Binary files /dev/null and b/docs/source/media/image96.png differ diff --git a/docs/source/media/image97.jpeg b/docs/source/media/image97.jpeg new file mode 100644 index 0000000..bdfca44 Binary files /dev/null and b/docs/source/media/image97.jpeg differ diff --git a/docs/source/media/image98.png b/docs/source/media/image98.png new file mode 100644 index 0000000..7c2d83a Binary files /dev/null and b/docs/source/media/image98.png differ diff --git a/docs/source/media/image99.png b/docs/source/media/image99.png new file mode 100644 index 0000000..44da8d0 Binary files /dev/null and b/docs/source/media/image99.png differ diff --git a/docs/source/media/led_bar_sche.png b/docs/source/media/led_bar_sche.png new file mode 100644 index 0000000..b8f3bde Binary files /dev/null and b/docs/source/media/led_bar_sche.png differ diff --git a/docs/source/media/list_1.2.1.png b/docs/source/media/list_1.2.1.png new file mode 100644 index 0000000..33a45d3 Binary files /dev/null and b/docs/source/media/list_1.2.1.png differ diff --git a/docs/source/media/list_1.2.2.png b/docs/source/media/list_1.2.2.png new file mode 100644 index 0000000..4af2562 Binary files /dev/null and b/docs/source/media/list_1.2.2.png differ diff --git a/docs/source/media/list_1.3.1.png b/docs/source/media/list_1.3.1.png new file mode 100644 index 0000000..6fa2160 Binary files /dev/null and b/docs/source/media/list_1.3.1.png differ diff --git a/docs/source/media/list_1.3.2.png b/docs/source/media/list_1.3.2.png new file mode 100644 index 0000000..1e39eac Binary files /dev/null and b/docs/source/media/list_1.3.2.png differ diff --git a/docs/source/media/list_1.3.3.png b/docs/source/media/list_1.3.3.png new file mode 100644 index 0000000..4af8360 Binary files /dev/null and b/docs/source/media/list_1.3.3.png differ diff --git a/docs/source/media/list_1.3.4.png b/docs/source/media/list_1.3.4.png new file mode 100644 index 0000000..571d884 Binary files /dev/null and b/docs/source/media/list_1.3.4.png differ diff --git a/docs/source/media/list_2.1.1_Button.png b/docs/source/media/list_2.1.1_Button.png new file mode 100644 index 0000000..da91d49 Binary files /dev/null and b/docs/source/media/list_2.1.1_Button.png differ diff --git a/docs/source/media/list_2.1.2_slide_switch.png b/docs/source/media/list_2.1.2_slide_switch.png new file mode 100644 index 0000000..75efb0c Binary files /dev/null and b/docs/source/media/list_2.1.2_slide_switch.png differ diff --git a/docs/source/media/list_2.1.3_tilt_switch.png b/docs/source/media/list_2.1.3_tilt_switch.png new file mode 100644 index 0000000..32b6ca0 Binary files /dev/null and b/docs/source/media/list_2.1.3_tilt_switch.png differ diff --git a/docs/source/media/list_2.1.4_potentiometer.png b/docs/source/media/list_2.1.4_potentiometer.png new file mode 100644 index 0000000..6fa094c Binary files /dev/null and b/docs/source/media/list_2.1.4_potentiometer.png differ diff --git a/docs/source/media/list_2.1.5_keypad.png b/docs/source/media/list_2.1.5_keypad.png new file mode 100644 index 0000000..312e385 Binary files /dev/null and b/docs/source/media/list_2.1.5_keypad.png differ diff --git a/docs/source/media/list_2.2.1_photoresistor.png b/docs/source/media/list_2.2.1_photoresistor.png new file mode 100644 index 0000000..9dc71dd Binary files /dev/null and b/docs/source/media/list_2.2.1_photoresistor.png differ diff --git a/docs/source/media/list_2.2.2_thermistor.png b/docs/source/media/list_2.2.2_thermistor.png new file mode 100644 index 0000000..c341df6 Binary files /dev/null and b/docs/source/media/list_2.2.2_thermistor.png differ diff --git a/docs/source/media/list_2.2.3_dht-11.png b/docs/source/media/list_2.2.3_dht-11.png new file mode 100644 index 0000000..7e8e13c Binary files /dev/null and b/docs/source/media/list_2.2.3_dht-11.png differ diff --git a/docs/source/media/list_2.2.4_pir.png b/docs/source/media/list_2.2.4_pir.png new file mode 100644 index 0000000..30e1544 Binary files /dev/null and b/docs/source/media/list_2.2.4_pir.png differ diff --git a/docs/source/media/list_2.2.4_pir2.png b/docs/source/media/list_2.2.4_pir2.png new file mode 100644 index 0000000..1dee4e7 Binary files /dev/null and b/docs/source/media/list_2.2.4_pir2.png differ diff --git a/docs/source/media/list_2.2.5.png b/docs/source/media/list_2.2.5.png new file mode 100644 index 0000000..f1e8898 Binary files /dev/null and b/docs/source/media/list_2.2.5.png differ diff --git a/docs/source/media/list_2.2.6.png b/docs/source/media/list_2.2.6.png new file mode 100644 index 0000000..c77ce53 Binary files /dev/null and b/docs/source/media/list_2.2.6.png differ diff --git a/docs/source/media/list_2.2.7.png b/docs/source/media/list_2.2.7.png new file mode 100644 index 0000000..3b29c30 Binary files /dev/null and b/docs/source/media/list_2.2.7.png differ diff --git a/docs/source/media/list_4_digit.png b/docs/source/media/list_4_digit.png new file mode 100644 index 0000000..a9240f0 Binary files /dev/null and b/docs/source/media/list_4_digit.png differ diff --git a/docs/source/media/list_7_segment.png b/docs/source/media/list_7_segment.png new file mode 100644 index 0000000..d47e6e0 Binary files /dev/null and b/docs/source/media/list_7_segment.png differ diff --git a/docs/source/media/list_Alarm_Bell.png b/docs/source/media/list_Alarm_Bell.png new file mode 100644 index 0000000..3597b8f Binary files /dev/null and b/docs/source/media/list_Alarm_Bell.png differ diff --git a/docs/source/media/list_Battery_Indicator.png b/docs/source/media/list_Battery_Indicator.png new file mode 100644 index 0000000..350b3ea Binary files /dev/null and b/docs/source/media/list_Battery_Indicator.png differ diff --git a/docs/source/media/list_Counting_Device1.png b/docs/source/media/list_Counting_Device1.png new file mode 100644 index 0000000..5055d39 Binary files /dev/null and b/docs/source/media/list_Counting_Device1.png differ diff --git a/docs/source/media/list_Counting_Device2.png b/docs/source/media/list_Counting_Device2.png new file mode 100644 index 0000000..16c4361 Binary files /dev/null and b/docs/source/media/list_Counting_Device2.png differ diff --git a/docs/source/media/list_GAME_10_Second.png b/docs/source/media/list_GAME_10_Second.png new file mode 100644 index 0000000..58a396b Binary files /dev/null and b/docs/source/media/list_GAME_10_Second.png differ diff --git a/docs/source/media/list_GAME_Guess_Number.png b/docs/source/media/list_GAME_Guess_Number.png new file mode 100644 index 0000000..e693512 Binary files /dev/null and b/docs/source/media/list_GAME_Guess_Number.png differ diff --git a/docs/source/media/list_GAME_Not_Not.png b/docs/source/media/list_GAME_Not_Not.png new file mode 100644 index 0000000..774a74b Binary files /dev/null and b/docs/source/media/list_GAME_Not_Not.png differ diff --git a/docs/source/media/list_Morse_Code_Generator.png b/docs/source/media/list_Morse_Code_Generator.png new file mode 100644 index 0000000..9cc8364 Binary files /dev/null and b/docs/source/media/list_Morse_Code_Generator.png differ diff --git a/docs/source/media/list_Motion_Control.png b/docs/source/media/list_Motion_Control.png new file mode 100644 index 0000000..6b4a7b3 Binary files /dev/null and b/docs/source/media/list_Motion_Control.png differ diff --git a/docs/source/media/list_Overheat_Monitor.png b/docs/source/media/list_Overheat_Monitor.png new file mode 100644 index 0000000..5bf2078 Binary files /dev/null and b/docs/source/media/list_Overheat_Monitor.png differ diff --git a/docs/source/media/list_Overheat_Monitor2.png b/docs/source/media/list_Overheat_Monitor2.png new file mode 100644 index 0000000..4de8815 Binary files /dev/null and b/docs/source/media/list_Overheat_Monitor2.png differ diff --git a/docs/source/media/list_Password_Lock.png b/docs/source/media/list_Password_Lock.png new file mode 100644 index 0000000..1a785e8 Binary files /dev/null and b/docs/source/media/list_Password_Lock.png differ diff --git a/docs/source/media/list_Reversing_Alarm.png b/docs/source/media/list_Reversing_Alarm.png new file mode 100644 index 0000000..11187b6 Binary files /dev/null and b/docs/source/media/list_Reversing_Alarm.png differ diff --git a/docs/source/media/list_Smart_Fan.png b/docs/source/media/list_Smart_Fan.png new file mode 100644 index 0000000..20f7894 Binary files /dev/null and b/docs/source/media/list_Smart_Fan.png differ diff --git a/docs/source/media/list_Traffic_Light.png b/docs/source/media/list_Traffic_Light.png new file mode 100644 index 0000000..363ba78 Binary files /dev/null and b/docs/source/media/list_Traffic_Light.png differ diff --git a/docs/source/media/list_Welcome.png b/docs/source/media/list_Welcome.png new file mode 100644 index 0000000..91fa8b0 Binary files /dev/null and b/docs/source/media/list_Welcome.png differ diff --git a/docs/source/media/list_dot.png b/docs/source/media/list_dot.png new file mode 100644 index 0000000..2962faa Binary files /dev/null and b/docs/source/media/list_dot.png differ diff --git a/docs/source/media/list_i2c_lcd.png b/docs/source/media/list_i2c_lcd.png new file mode 100644 index 0000000..19172ba Binary files /dev/null and b/docs/source/media/list_i2c_lcd.png differ diff --git a/docs/source/media/list_led_bar.png b/docs/source/media/list_led_bar.png new file mode 100644 index 0000000..44ecfd9 Binary files /dev/null and b/docs/source/media/list_led_bar.png differ diff --git a/docs/source/media/list_rgb_led.png b/docs/source/media/list_rgb_led.png new file mode 100644 index 0000000..fdbdc4e Binary files /dev/null and b/docs/source/media/list_rgb_led.png differ diff --git a/docs/source/media/notnot1.png b/docs/source/media/notnot1.png new file mode 100644 index 0000000..b4a9bda Binary files /dev/null and b/docs/source/media/notnot1.png differ diff --git a/docs/source/media/notnot2.png b/docs/source/media/notnot2.png new file mode 100644 index 0000000..4856c30 Binary files /dev/null and b/docs/source/media/notnot2.png differ diff --git a/docs/source/media/notnot3.png b/docs/source/media/notnot3.png new file mode 100644 index 0000000..8c45904 Binary files /dev/null and b/docs/source/media/notnot3.png differ diff --git a/docs/source/media/rgb_led_sch.png b/docs/source/media/rgb_led_sch.png new file mode 100644 index 0000000..fa42f2e Binary files /dev/null and b/docs/source/media/rgb_led_sch.png differ diff --git a/docs/source/media/rgb_led_schematic.png b/docs/source/media/rgb_led_schematic.png new file mode 100644 index 0000000..214d5ce Binary files /dev/null and b/docs/source/media/rgb_led_schematic.png differ diff --git a/docs/source/media/schematic_7_segment.png b/docs/source/media/schematic_7_segment.png new file mode 100644 index 0000000..d58c2d2 Binary files /dev/null and b/docs/source/media/schematic_7_segment.png differ diff --git a/docs/source/media/schematic_dot.png b/docs/source/media/schematic_dot.png new file mode 100644 index 0000000..d880afb Binary files /dev/null and b/docs/source/media/schematic_dot.png differ diff --git a/docs/source/media/schematic_i2c_lcd.png b/docs/source/media/schematic_i2c_lcd.png new file mode 100644 index 0000000..821a4fb Binary files /dev/null and b/docs/source/media/schematic_i2c_lcd.png differ diff --git a/docs/source/media/schematic_led_bar.png b/docs/source/media/schematic_led_bar.png new file mode 100644 index 0000000..064168d Binary files /dev/null and b/docs/source/media/schematic_led_bar.png differ diff --git a/docs/source/media/schmatic_4_digit.png b/docs/source/media/schmatic_4_digit.png new file mode 100644 index 0000000..506142a Binary files /dev/null and b/docs/source/media/schmatic_4_digit.png differ diff --git a/docs/source/media/translate1.png b/docs/source/media/translate1.png new file mode 100644 index 0000000..acbc5ce Binary files /dev/null and b/docs/source/media/translate1.png differ diff --git a/docs/source/media/translate2.png b/docs/source/media/translate2.png new file mode 100644 index 0000000..ca376c9 Binary files /dev/null and b/docs/source/media/translate2.png differ diff --git a/docs/source/media/translate3.png b/docs/source/media/translate3.png new file mode 100644 index 0000000..ac20e02 Binary files /dev/null and b/docs/source/media/translate3.png differ diff --git a/docs/source/preparation.rst b/docs/source/preparation.rst new file mode 100644 index 0000000..1546c1d --- /dev/null +++ b/docs/source/preparation.rst @@ -0,0 +1,17 @@ +準備 +=========== + +この章では、まずラズベリーパイの起動方法を学びます。内容には、オペレーティングシステム、ラズベリーパイネットワークをインストールする方法とターミナルの開き方が含まれます。 + +.. note:: + + 完全なチュートリアルは、ラズベリーパイの公式サイト: `raspberry-pi-setting-up `_. + + ラズベリーパイがセットアップされている場合は、この部分をスキップして次の章に進むことができます。 + +.. toctree:: + :maxdepth: 2 + + what_do_we_need + installing_the_os + set_up_your_raspberry_pi \ No newline at end of file diff --git a/docs/source/preparation/img/3d33.png b/docs/source/preparation/img/3d33.png new file mode 100644 index 0000000..e99e8a3 Binary files /dev/null and b/docs/source/preparation/img/3d33.png differ diff --git a/docs/source/preparation/img/3d34.png b/docs/source/preparation/img/3d34.png new file mode 100644 index 0000000..7ce9048 Binary files /dev/null and b/docs/source/preparation/img/3d34.png differ diff --git a/docs/source/preparation/img/camera_enable.png b/docs/source/preparation/img/camera_enable.png new file mode 100644 index 0000000..3b13363 Binary files /dev/null and b/docs/source/preparation/img/camera_enable.png differ diff --git a/docs/source/preparation/img/camera_enable1.png b/docs/source/preparation/img/camera_enable1.png new file mode 100644 index 0000000..cbaa2d5 Binary files /dev/null and b/docs/source/preparation/img/camera_enable1.png differ diff --git a/docs/source/preparation/img/camera_enable2.png b/docs/source/preparation/img/camera_enable2.png new file mode 100644 index 0000000..7c17b8a Binary files /dev/null and b/docs/source/preparation/img/camera_enable2.png differ diff --git a/docs/source/preparation/img/dowload_code.png b/docs/source/preparation/img/dowload_code.png new file mode 100644 index 0000000..edffde0 Binary files /dev/null and b/docs/source/preparation/img/dowload_code.png differ diff --git a/docs/source/preparation/img/i2s.png b/docs/source/preparation/img/i2s.png new file mode 100644 index 0000000..d1f5ee1 Binary files /dev/null and b/docs/source/preparation/img/i2s.png differ diff --git a/docs/source/preparation/img/i2s2.png b/docs/source/preparation/img/i2s2.png new file mode 100644 index 0000000..f268807 Binary files /dev/null and b/docs/source/preparation/img/i2s2.png differ diff --git a/docs/source/preparation/img/i2s3.png b/docs/source/preparation/img/i2s3.png new file mode 100644 index 0000000..c7e6c6e Binary files /dev/null and b/docs/source/preparation/img/i2s3.png differ diff --git a/docs/source/preparation/img/image10.jpeg b/docs/source/preparation/img/image10.jpeg new file mode 100644 index 0000000..9c91e2e Binary files /dev/null and b/docs/source/preparation/img/image10.jpeg differ diff --git a/docs/source/preparation/img/image11.png b/docs/source/preparation/img/image11.png new file mode 100644 index 0000000..0dac8d9 Binary files /dev/null and b/docs/source/preparation/img/image11.png differ diff --git a/docs/source/preparation/img/image12.png b/docs/source/preparation/img/image12.png new file mode 100644 index 0000000..8937ac9 Binary files /dev/null and b/docs/source/preparation/img/image12.png differ diff --git a/docs/source/preparation/img/image14.png b/docs/source/preparation/img/image14.png new file mode 100644 index 0000000..e183c0a Binary files /dev/null and b/docs/source/preparation/img/image14.png differ diff --git a/docs/source/preparation/img/image15.png b/docs/source/preparation/img/image15.png new file mode 100644 index 0000000..de1fa27 Binary files /dev/null and b/docs/source/preparation/img/image15.png differ diff --git a/docs/source/preparation/img/image16.png b/docs/source/preparation/img/image16.png new file mode 100644 index 0000000..fb11b97 Binary files /dev/null and b/docs/source/preparation/img/image16.png differ diff --git a/docs/source/preparation/img/image17.png b/docs/source/preparation/img/image17.png new file mode 100644 index 0000000..278609f Binary files /dev/null and b/docs/source/preparation/img/image17.png differ diff --git a/docs/source/preparation/img/image18.png b/docs/source/preparation/img/image18.png new file mode 100644 index 0000000..fd802b4 Binary files /dev/null and b/docs/source/preparation/img/image18.png differ diff --git a/docs/source/preparation/img/image19.png b/docs/source/preparation/img/image19.png new file mode 100644 index 0000000..c92d81b Binary files /dev/null and b/docs/source/preparation/img/image19.png differ diff --git a/docs/source/preparation/img/image20.png b/docs/source/preparation/img/image20.png new file mode 100644 index 0000000..bd4fd42 Binary files /dev/null and b/docs/source/preparation/img/image20.png differ diff --git a/docs/source/preparation/img/image21.png b/docs/source/preparation/img/image21.png new file mode 100644 index 0000000..02c3e12 Binary files /dev/null and b/docs/source/preparation/img/image21.png differ diff --git a/docs/source/preparation/img/image22.png b/docs/source/preparation/img/image22.png new file mode 100644 index 0000000..464c16d Binary files /dev/null and b/docs/source/preparation/img/image22.png differ diff --git a/docs/source/preparation/img/image23.png b/docs/source/preparation/img/image23.png new file mode 100644 index 0000000..4e1d38c Binary files /dev/null and b/docs/source/preparation/img/image23.png differ diff --git a/docs/source/preparation/img/image24.png b/docs/source/preparation/img/image24.png new file mode 100644 index 0000000..33e3cb1 Binary files /dev/null and b/docs/source/preparation/img/image24.png differ diff --git a/docs/source/preparation/img/image25.png b/docs/source/preparation/img/image25.png new file mode 100644 index 0000000..0d335c5 Binary files /dev/null and b/docs/source/preparation/img/image25.png differ diff --git a/docs/source/preparation/img/image26.png b/docs/source/preparation/img/image26.png new file mode 100644 index 0000000..e6f49b6 Binary files /dev/null and b/docs/source/preparation/img/image26.png differ diff --git a/docs/source/preparation/img/image282.png b/docs/source/preparation/img/image282.png new file mode 100644 index 0000000..ecbebd1 Binary files /dev/null and b/docs/source/preparation/img/image282.png differ diff --git a/docs/source/preparation/img/image283.png b/docs/source/preparation/img/image283.png new file mode 100644 index 0000000..9c57841 Binary files /dev/null and b/docs/source/preparation/img/image283.png differ diff --git a/docs/source/preparation/img/image284.png b/docs/source/preparation/img/image284.png new file mode 100644 index 0000000..9166f7a Binary files /dev/null and b/docs/source/preparation/img/image284.png differ diff --git a/docs/source/preparation/img/image287.png b/docs/source/preparation/img/image287.png new file mode 100644 index 0000000..6975fa5 Binary files /dev/null and b/docs/source/preparation/img/image287.png differ diff --git a/docs/source/preparation/img/image288.png b/docs/source/preparation/img/image288.png new file mode 100644 index 0000000..e78506c Binary files /dev/null and b/docs/source/preparation/img/image288.png differ diff --git a/docs/source/preparation/img/image289.png b/docs/source/preparation/img/image289.png new file mode 100644 index 0000000..f265c81 Binary files /dev/null and b/docs/source/preparation/img/image289.png differ diff --git a/docs/source/preparation/img/image290.png b/docs/source/preparation/img/image290.png new file mode 100644 index 0000000..4b93615 Binary files /dev/null and b/docs/source/preparation/img/image290.png differ diff --git a/docs/source/preparation/img/image291.png b/docs/source/preparation/img/image291.png new file mode 100644 index 0000000..6565dbb Binary files /dev/null and b/docs/source/preparation/img/image291.png differ diff --git a/docs/source/preparation/img/image292.png b/docs/source/preparation/img/image292.png new file mode 100644 index 0000000..89167e0 Binary files /dev/null and b/docs/source/preparation/img/image292.png differ diff --git a/docs/source/preparation/img/image293.png b/docs/source/preparation/img/image293.png new file mode 100644 index 0000000..617385b Binary files /dev/null and b/docs/source/preparation/img/image293.png differ diff --git a/docs/source/preparation/img/image294.png b/docs/source/preparation/img/image294.png new file mode 100644 index 0000000..3834673 Binary files /dev/null and b/docs/source/preparation/img/image294.png differ diff --git a/docs/source/preparation/img/install_py.png b/docs/source/preparation/img/install_py.png new file mode 100644 index 0000000..fffffd2 Binary files /dev/null and b/docs/source/preparation/img/install_py.png differ diff --git a/docs/source/preparation/img/mac-ping.png b/docs/source/preparation/img/mac-ping.png new file mode 100644 index 0000000..27a4e68 Binary files /dev/null and b/docs/source/preparation/img/mac-ping.png differ diff --git a/docs/source/preparation/img/mac-ssh-login.png b/docs/source/preparation/img/mac-ssh-login.png new file mode 100644 index 0000000..a0f795e Binary files /dev/null and b/docs/source/preparation/img/mac-ssh-login.png differ diff --git a/docs/source/preparation/img/mac-ssh-terminal.png b/docs/source/preparation/img/mac-ssh-terminal.png new file mode 100644 index 0000000..8c25659 Binary files /dev/null and b/docs/source/preparation/img/mac-ssh-terminal.png differ diff --git a/docs/source/preparation/img/mac_vnc1.png b/docs/source/preparation/img/mac_vnc1.png new file mode 100644 index 0000000..5f1a934 Binary files /dev/null and b/docs/source/preparation/img/mac_vnc1.png differ diff --git a/docs/source/preparation/img/mac_vnc10.png b/docs/source/preparation/img/mac_vnc10.png new file mode 100644 index 0000000..dd88a23 Binary files /dev/null and b/docs/source/preparation/img/mac_vnc10.png differ diff --git a/docs/source/preparation/img/mac_vnc11.png b/docs/source/preparation/img/mac_vnc11.png new file mode 100644 index 0000000..e42af78 Binary files /dev/null and b/docs/source/preparation/img/mac_vnc11.png differ diff --git a/docs/source/preparation/img/mac_vnc12.png b/docs/source/preparation/img/mac_vnc12.png new file mode 100644 index 0000000..1725cda Binary files /dev/null and b/docs/source/preparation/img/mac_vnc12.png differ diff --git a/docs/source/preparation/img/mac_vnc13.png b/docs/source/preparation/img/mac_vnc13.png new file mode 100644 index 0000000..58fa045 Binary files /dev/null and b/docs/source/preparation/img/mac_vnc13.png differ diff --git a/docs/source/preparation/img/mac_vnc14.png b/docs/source/preparation/img/mac_vnc14.png new file mode 100644 index 0000000..6a063e3 Binary files /dev/null and b/docs/source/preparation/img/mac_vnc14.png differ diff --git a/docs/source/preparation/img/mac_vnc15.png b/docs/source/preparation/img/mac_vnc15.png new file mode 100644 index 0000000..65a27ff Binary files /dev/null and b/docs/source/preparation/img/mac_vnc15.png differ diff --git a/docs/source/preparation/img/mac_vnc2.png b/docs/source/preparation/img/mac_vnc2.png new file mode 100644 index 0000000..5273669 Binary files /dev/null and b/docs/source/preparation/img/mac_vnc2.png differ diff --git a/docs/source/preparation/img/mac_vnc3.png b/docs/source/preparation/img/mac_vnc3.png new file mode 100644 index 0000000..bace388 Binary files /dev/null and b/docs/source/preparation/img/mac_vnc3.png differ diff --git a/docs/source/preparation/img/mac_vnc4.png b/docs/source/preparation/img/mac_vnc4.png new file mode 100644 index 0000000..b0c889a Binary files /dev/null and b/docs/source/preparation/img/mac_vnc4.png differ diff --git a/docs/source/preparation/img/mac_vnc5.png b/docs/source/preparation/img/mac_vnc5.png new file mode 100644 index 0000000..cc6690b Binary files /dev/null and b/docs/source/preparation/img/mac_vnc5.png differ diff --git a/docs/source/preparation/img/mac_vnc6.png b/docs/source/preparation/img/mac_vnc6.png new file mode 100644 index 0000000..514bbe3 Binary files /dev/null and b/docs/source/preparation/img/mac_vnc6.png differ diff --git a/docs/source/preparation/img/mac_vnc7.png b/docs/source/preparation/img/mac_vnc7.png new file mode 100644 index 0000000..39893ef Binary files /dev/null and b/docs/source/preparation/img/mac_vnc7.png differ diff --git a/docs/source/preparation/img/mac_vnc8.png b/docs/source/preparation/img/mac_vnc8.png new file mode 100644 index 0000000..8273ed4 Binary files /dev/null and b/docs/source/preparation/img/mac_vnc8.png differ diff --git a/docs/source/preparation/img/mac_vnc9.png b/docs/source/preparation/img/mac_vnc9.png new file mode 100644 index 0000000..b9d1b64 Binary files /dev/null and b/docs/source/preparation/img/mac_vnc9.png differ diff --git a/docs/source/preparation/img/otherOS.png b/docs/source/preparation/img/otherOS.png new file mode 100644 index 0000000..886bc92 Binary files /dev/null and b/docs/source/preparation/img/otherOS.png differ diff --git a/docs/source/preparation/img/pin11_connect.png b/docs/source/preparation/img/pin11_connect.png new file mode 100644 index 0000000..40c482e Binary files /dev/null and b/docs/source/preparation/img/pin11_connect.png differ diff --git a/docs/source/preparation/img/servo_arm.png b/docs/source/preparation/img/servo_arm.png new file mode 100644 index 0000000..fd00051 Binary files /dev/null and b/docs/source/preparation/img/servo_arm.png differ diff --git a/docs/source/preparation/img/slide_to_power.png b/docs/source/preparation/img/slide_to_power.png new file mode 100644 index 0000000..1da4de0 Binary files /dev/null and b/docs/source/preparation/img/slide_to_power.png differ diff --git a/docs/source/preparation/img/sp221221_135900.png b/docs/source/preparation/img/sp221221_135900.png new file mode 100644 index 0000000..774b18d Binary files /dev/null and b/docs/source/preparation/img/sp221221_135900.png differ diff --git a/docs/source/preparation/img/sp221221_140628.png b/docs/source/preparation/img/sp221221_140628.png new file mode 100644 index 0000000..0afa32c Binary files /dev/null and b/docs/source/preparation/img/sp221221_140628.png differ diff --git a/docs/source/preparation/img/sp221221_145225.png b/docs/source/preparation/img/sp221221_145225.png new file mode 100644 index 0000000..0f92df1 Binary files /dev/null and b/docs/source/preparation/img/sp221221_145225.png differ diff --git a/docs/source/preparation/installing_the_os.rst b/docs/source/preparation/installing_the_os.rst new file mode 100644 index 0000000..697815b --- /dev/null +++ b/docs/source/preparation/installing_the_os.rst @@ -0,0 +1,127 @@ +.. _install_os: + + +Raspberry pi OSのインストール +==================================== + +**必要なもの** + +* Raspberry Pi 本体 +* PC(Windows Mac Linux/UNIX) +* マイクロSDカード 8GB以上のもの + + +**ステップ1** + +Raspberry Pi専用にSDカード書き込みツールが用意されました。Mac、WindowsならびにUbuntu 18.04で動作しますので、ほとんどの方にとって最も簡単なRaspberry pi用のSDカードの作成方法です。 + +ダウンロードページにアクセスしてください: +https://www.raspberrypi.org/software/ + +お使いのパソコン用のRaspberry Pi Imagerのリンクをクリックしダウンロードし、完了したらそれをクリックしてインストーラーを起動します。 + +.. image:: img/image11.png + :align: center + + +**ステップ2** + +インストーラーを起動するとOSがインストーラーの実行を禁止しようとする場合があります。 たとえば、Windows では次のメッセージが表示されます。 + +このポップアップが表示された場合は、[**More info**] をクリックしてから [**Run anyway**] をクリックし指示に従ってRaspberry Pi Imagerをインストールします。 + +.. image:: img/image12.png + :align: center + +**ステップ3** + +SDカードをパソコンのSDカード スロットに挿入します。(SDカードスロットが無いパソコンの場合USBマイクロSDカードアダプターを使用してください) +SDカードのフォーマットなどのメニュー画面が表示された場合、それらは無視して閉じてください。 + +**ステップ4** + +.. Raspberry Pi ImagerでインストールするOSを選択します。 +.. インストール先のSDカードを選択します。 + +.. .. image:: img/image13.png +.. :align: center + +.. .. note::  + +.. 1) 作業を行っているパソコンがインターネットに接続されていることを確認してください。 + +.. 2) その選択されたOSは将来オフラインで使用するために保存されます (lastdownload.cache、C:/Users/yourname/AppData/Local/Raspberry Pi/Imager/cache)。そのため、次にソフトウェアを開くと、「リリース日: コンピューターにキャッシュされた日付」と表示されます。 + +.. ダウンロードされたRaspberry pi OS `raspios_armhf-2020-05-28 `_ のイメージファイルをRaspberry Pi Imagerで選択します。 + +.. .. image:: img/otherOS.png +.. :align: center + +.. .. warning:: +.. Raspberry Pi OS は 2021-05-28 バージョン以降に大きな変更があり、一部の機能が利用できなくなる可能性があります。 現時点では最新バージョンを使用しないでください。 + + +.. warning:: + + Raspberry Pi OS を **Debian Bullseye** にアップグレードすると、一部の機能が動作しなくなるため、**Debian Buster** バージョンを引き続き使用することをお勧めします。 + +Raspberry Pi Imagerで、 **CHOOSE OS** から **Raspberry Pi OS(other)** を選択してクリックします。 + +.. image:: img/3d33.png + :align: center + +新しく開いたページの最後までスクロールすると **Raspberry Pi OS(Legacy)** と **Raspberry Pi OS Lite(Legacy)** が表示されます。これらの違いはデスクトップ(GUI環境:普段から馴染みのあるマウスで操作できる画面)の有る/無しの違いです。 +**Raspberry Pi OS(Legacy)** をインストールすることをお勧めします。これによりRaspberry Piデスクトップにアクセスしてカメラで捉えている映像をリアルタイムで見ることができるようになります。 + +.. image:: img/3d34.png + :align: center + +**ステップ5** + +使用するSDカードを選択します。 + +.. image:: img/image14.png + :align: center + +**ステップ6** + + **設定** ボタン(画面右下のギアマーク:OSを選択すると表示される)をクリックして **詳細オプション** ページを開き、SSHを有効にしてWi-Fiを設定します。 + 最低これら2つの項目を設定する必要があり他の項目は選択に応じて異なりますがパスワードはここで設定しておくと楽です。 + このカスタマイズ オプションを常に使用するように選択できます(次回利用時のデフォルトになる)。 + +.. image:: img/image15.png + :align: center + +下にスクロールしてWi-Fiの設定を完了し **SAVE** をクリックします。 + +.. note:: + + **wifi country** には、2 文字の `ISO/IEC alpha2 コード `_ を設定する必要があります。 + + 日本国内で使用しているならば「JP」と設定してください。 + +.. image:: img/image16.png + :align: center + +**ステップ7** + +**書き込む** ボタンをクリックしてください。 + +.. image:: img/image17.png + :align: center + +**ステップ8** + +現在SDカードにファイルが保存されている場合はそれらのファイルを削除してしまわないように、事前にファイルをバックアップすることをお勧めします。 +バックアップするファイルがない場合は、[**はい**] をクリックします。 + +.. image:: img/image18.png + :align: center + +**ステップ9** + +しばらく待つと、次のウィンドウが表示され、書き込みが完了したことを示します。 +そのままSDカードを取り出してRaspberry Pi Imagerを終了させます。 + +.. image:: img/image19.png + :align: center \ No newline at end of file diff --git a/docs/source/preparation/preparation.rst b/docs/source/preparation/preparation.rst new file mode 100644 index 0000000..1eb6243 --- /dev/null +++ b/docs/source/preparation/preparation.rst @@ -0,0 +1,19 @@ +準備 +====================================== + + +この章では、まずラズベリーパイの起動方法を学びます。内容には、オペレーティングシステム、ラズベリーパイネットワークをインストールする方法とターミナルの開き方が含まれます。 + +.. note:: + + 完全なチュートリアルは、ラズベリーパイの公式サイト: `raspberry-pi-setting-up `_. + + ラズベリーパイがセットアップされている場合は、この部分をスキップして次の章に進むことができます。 + +.. toctree:: + :maxdepth: 1 + + what_do_we_need + installing_the_os + set_up_your_raspberry_pi + diff --git a/docs/source/preparation/remote_linux.rst b/docs/source/preparation/remote_linux.rst new file mode 100644 index 0000000..fd4a44c --- /dev/null +++ b/docs/source/preparation/remote_linux.rst @@ -0,0 +1,40 @@ + +Linux / UNIX ユーザー +=========================== + + +#. ターミナルを開いて ``ssh @.local`` と入力してください。 + + .. code-block:: + + ssh pi@raspberrypi.local + +#. 以下のメッセージが表示されます。 + + .. code-block:: + + The authenticity of host 'raspberrypi.local (192.168.6.116)' can't be established. + ECDSA key fingerprint is SHA256:7ggckKZ2EEgS76a557cddfxFNDOBBuzcJsgaqA/igz4. + Are you sure you want to continue connecting (yes/no/[fingerprint])? + +#. \"yes\" と入力してください。 + + .. image:: img/mac-ssh-login.png + :width: 550 + :align: center + + +#. パスワードを入力してください。 (デフォルトの場合は ``raspberry`` です。) + + .. .. image:: img/image23.png + .. :align: center + + .. note:: + パスワードは入力しても表示されませんので入力を間違えないように注意してください。 + + +#. これでRaspberry piに正常にログインできましたので、OSのアップデートを行います。 + + .. image:: img/mac-ssh-terminal.png + :width: 550 + :align: center \ No newline at end of file diff --git a/docs/source/preparation/remote_macosx.rst b/docs/source/preparation/remote_macosx.rst new file mode 100644 index 0000000..9d24d4c --- /dev/null +++ b/docs/source/preparation/remote_macosx.rst @@ -0,0 +1,209 @@ + +Mac OS X ユーザ +========================== + +しかしMacユーザーの場合は可能であれば一時的にでもモニター、キーボード、マウスをセットしてRspberry pi側のVNCの設定を行った方が楽です。 +まずはその方法から説明いたします。 + +なお予め断っておきますが、この方法の場合MacとRaspberry piの間の通信は暗号化による保護がなされません。 +実際の利用に際しては個人宅もしくは社内のネットワーク内での通信となるので保護がなくても問題にはならないでしょう。 +しかし気になる方は別途記述するVNCアプリを導入してご利用ください。 + +Mac OS X ユーザーで一時的にモニター(あるいはTV)を利用できる方 +--------------------------------------------------------------------- + +#. Raspberry Piにディスプレイ、マウス、キーボードを接続し、電源を入れる。図の番号に従ってメニューを選択します。 + + + .. image:: img/mac_vnc1.png + :align: center + +#. 以下の画面が表示されるので **Interfaces** タブをクリックし、さらに **VNC** を **Enabled** に設定してから画面右下の **OK** ボタンをクリックします。 + + .. image:: img/mac_vnc2.png + :align: center + + +#. 画面右上に **VNC** のアイコンが表示されVNCサーバーが起動します。 + + .. image:: img/mac_vnc3.png + :align: center + + +#. 表示された **VNC** アイコンをクリックしてVNC Serverウィンドウを表示し、さらに右上のメニューボタンをクリック、続いて **Options** をクリックします + + .. image:: img/mac_vnc4.png + :align: center + +#. 以下の画面が表示されるのでオプションを変更します。 + + .. image:: img/mac_vnc5.png + :align: center + + Encryptionを **Prefer offon** に、Authenticationを **VNC password** に設定してください。 + **OK** ボタンをクリックするとパスワードの入力画面が表示されるのでRaspberry piのパスワードと同じでも、別のパスワードでも構わないので入力して **OK** をクリックしてください。これでMacから接続できる準備が整いました。もうモニターなどは接続を外しても大丈夫です。 + +**ここからはMac側での操作になります。** + +#. ファインダーの移動メニューからサーバーへ接続を選択します。 + + .. image:: img/mac_vnc10.png + :align: center + +#. Raspberry pi のアドレスを入力します。以下のように **Raspberri piの名前** + **.local** でアドレスを指定します。 + + .. image:: img/mac_vnc11.png + :align: center + + **接続** ボタンをクリックします。 + +#. パスワードを聞いてくるので入力してください。 + + .. image:: img/mac_vnc12.png + :align: center + +#. Raspberry pi のデスクトップが表示され、Mac上からそのまま操作ができるようになります。 + + .. image:: img/mac_vnc13.png + :align: center + + +Mac OS X ユーザーで一時的であってもモニター(あるいはTV)を利用できない方 +--------------------------------------------------------------------------- + + * SSHコマンドを適用してRaspberry PiのBash Shellを開くことができます。 + * BashはLinuxの標準のデフォルト・シェルです。 + * シェル自体はユーザーがUnix/Linuxを利用する際のコマンド(命令)です。 + * シェルを通して必要な作業のほとんどが行えます。 + * Raspberry pi 側の設定が終われば前述の **Mac** からファインダーを使ってRaspberry piのデスクトップにアクセスできます。 + + +#. Raspberry Pi への **SSH** 接続 ``ssh @.local`` と入力して ``リターンキー`` を押します。 + + + .. code-block:: + + ssh pi@raspberrypi.local + + + .. image:: img/mac_vnc14.png + + +#. 最初にログインするときだけ以下のメッセージが表示されるので **yes** と入力してください。 + + .. code-block:: + + The authenticity of host 'raspberrypi.local (2400:2410:2101:5800:635b:f0b6:2662:8cba)' can't be established. + ED25519 key fingerprint is SHA256:oo7x3ZSgAo032wD1tE8eW0fFM/kmewIvRwkBys6XRwg. + This key is not known by any other names + Are you sure you want to continue connecting (yes/no/[fingerprint])? + + +#. Raspberry pi の **パスワード** を入力します。パスワードは入力しても表示されませんので入力を間違えないように注意してください。 + + .. code-block:: + + pi@raspberrypi.local's password: + Linux raspberrypi 5.15.61-v8+ #1579 SMP PREEMPT Fri Aug 26 11:16:44 BST 2022 aarch64 + + The programs included with the Debian GNU/Linux system are free software; + the exact distribution terms for each program are described in the + individual files in /usr/share/doc/*/copyright. + + Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent + permitted by applicable law. + Last login: Thu Sep 22 12:18:22 2022 + pi@raspberrypi:~ $ + + + + +#. これでRaspberry piに正常にログインできましたので、MacからVNCでログイン出来るように設定します。まずはOSのアップデートを行います。以下のコマンドを入力します。 + + .. code-block:: + + sudo apt update + sudo apt upgrade + + + ``Do you want to continue? [Y/n]`` が表示されたら **Y** を入力します。 + + アップデートが終わるまでしばし時間がかかりることがあります。(その時のアップデート量によります。) + + +#. VNC を有効化して VNC サーバーを起動します。以下のコマンドを入力します。 + + .. code-block:: + + sudo raspi-config + +#. 以下の画面が表示されますので、キーボードの矢印キーで **3 Interface Options** を選択してリターンキーを押します。 + + .. image:: img/image282.png + :align: center + +#. 以下の画面が表示されますので、キーボードの矢印キーで **P3 VNC** を選択してリターンキーを押します。 + + .. image:: img/image288.png + :align: center + +#. 以下の画面が表示されますので、キーボードの矢印キーで **** を選択してリターンキーを押します。 + + .. image:: img/mac_vnc8.png + :align: center + +#. 以下の画面が表示されますので、キーボードの矢印キーで **** を選択してリターンキーを押します。 + + .. image:: img/mac_vnc7.png + :align: center + +#. 最後にキーボードの矢印キーで **** を選択してリターンキーを押します。 + + .. image:: img/mac_vnc6.png + :align: center + +#. VNCサーバーが起動するようになったので、今度はMacからの接続様の設定を変更します。 + + .. code-block:: + + sudo nano /etc/vnc/config.d/common.custom + + 以下のような画面になるので ``Authentication=VncAuth`` と入力し、 ``Ctl + o`` を押し、リターンキーを押し、さらに ``Ctl + x`` を押します。 + + .. image:: img/mac_vnc15.png + :align: center + +#. さらにMacからVNCでログインするときのパスワードを設定します。Raspberry pi のパスワードと同じで問題はないはずです。 + + .. code-block:: + + sudo vncpasswd -service + password: (パスワードを入力) + +#. これで設定が出来ましたので設定を反映させるためにRaspberry piを再起動します。 + + .. code-block:: + + sudo sudo reboot + +#. ファインダーの移動メニューからサーバーへ接続を選択します。 + + .. image:: img/mac_vnc10.png + :align: center + +#. Raspberry pi のアドレスを入力します。以下のように **Raspberri piの名前** + **.local** でアドレスを指定します。 + + .. image:: img/mac_vnc11.png + :align: center + + **Connect** ボタンをクリックします。 + +#. パスワードを聞いてくるので入力してください。 + + .. image:: img/mac_vnc12.png + :align: center + +#. Raspberry pi のデスクトップが表示され、Mac上からそのまま操作ができるようになります。 + + .. image:: img/mac_vnc13.png + :align: center diff --git a/docs/source/preparation/remote_windows.rst b/docs/source/preparation/remote_windows.rst new file mode 100644 index 0000000..5680200 --- /dev/null +++ b/docs/source/preparation/remote_windows.rst @@ -0,0 +1,169 @@ +Windows ユーザ +===================== + +Windowsユーザーの場合は **Windows PowerShell** を利用できます。 + +#. ``windows`` + ``R`` キーを押し入力ウィンドウに **powershell** と入力してPowerShellを起動してください。 + + .. image:: img/sp221221_135900.png + :align: center + +#. 後は Mac や Linux のターミナル操作と同じで開かれたPowerShellの画面で ``ssh @.local`` と入力します。 + + .. code-block:: + + ssh pi@raspberrypi.local + + +#. 以下のメッセージが表示されます. + + .. code-block:: + + The authenticity of host 'raspberrypi.local (192.168.6.116)' can't be established. + ECDSA key fingerprint is SHA256:7ggckKZ2EEgS76a557cddfxFNDOBBuzcJsgaqA/igz4. + Are you sure you want to continue connecting (yes/no/[fingerprint])? + + \"yes\" と入力してください。 + +#. パスワードを入力してください。 (デフォルトの場合は ``raspberry`` です。) + + .. note:: + When you input the password, the characters do not display on + window accordingly, which is normal. What you need is to input the + correct password. + +#. これでRaspberry piに正常にログインできましたので、OSのアップデートを行います。 + + .. image:: img/sp221221_140628.png + :width: 550 + :align: center + + +リモート・デスクトップ +----------------------------- + +VNCでリモート・デスクトップを利用できます。 + + **VNCサービスの有効化** + +VNCは標準でインストールされておりますが、デフォルトでは無効化されていますので、有効化する必要があります。 + +#. 以下のコマンドを入力します: + + .. raw:: html + + + + .. code-block:: + + $ sudo raspi-config + + .. image:: img/image287.png + :align: center + +#. **3** の **Interfacing Options** を下矢印で選択してリターン機を押します。 + + .. image:: img/image282.png + :align: center + +#. **P3 VNC** を矢印キーで選択してリターンキーを押します。 + + .. image:: img/image288.png + :align: center + +#. **Yes → OK -> Finish** と順番に選択して設定を終了させます。 + + .. image:: img/image289.png + :align: center + +**VNCによるログイン** + +#. 先ず `VNC Viewer `_ をダウンロードしてファイルを開き、指示に従いインストールします。インストールしたら起動します。 + +#. メニューのファイルから **New connection** を選択します。 + + .. image:: img/image290.png + :align: center + +#. Raspberry piのIPアドレスを入力します。 **Name** には好きな名前を付けます。(Raspberry piの名前と同じが良いかもしれません) 「OK」をクリックします。 + + .. image:: img/image291.png + :align: center + +#. 作成した **接続先** をダブルクリックします。: + + .. image:: img/image292.png + :align: center + +#. ログイン・ユーザー名 ( **pi** ) とSDカードを作成した際に指定したパスワード (デフォルトでは **raspberry** )を入力します。 + + .. image:: img/image293.png + :align: center + +#. Raspberry Piのデスクトップ画面が表示されるはずです。: + + .. image:: img/image294.png + :align: center + + + + + +.. XRDP +.. ^^^^^^^^^^^^^^^^^^^^^^^ + +.. **XRDPのインストール** + +.. もう一つの手法はXRDPを使うことです。これはマイクロソフトが提供するRDPというプロトコルを使用する方法です。 + +.. #. SSHを利用してRaspberry piにログインします。 + +.. #. 以下の手順に従いXRDPをインストールします。 + +.. .. raw:: html + +.. + +.. .. code-block:: + +.. sudo apt-get update +.. sudo apt-get install xrdp + +.. #. 以下の表示が表示されるので、「Y」と入力して「Enterキーを押します。 + +.. .. image:: img/image295.png +.. :align: center + +.. #. インストールが完了したら、Windows リモート デスクトップ アプリケーションを使用して Raspberry Pi にログインしてください。 + +.. **XRDPでのログイン** + + +.. Windows ユーザーの場合は、Windows に付属のリモート デスクトップ機能を使用できます。 +.. Macユーザーの場合は、APP Store から Microsoftリモート デスクトップをダウンロードして使用できます。 +.. この 2 つの間に大きな違いはありません。 +.. 次の例は、Windows リモート デスクトップです。 + +.. **ステップ2** + +.. ファイル名を指定して実行 (WIN+R) に「 ``mstsc`` 」と入力してリモート デスクトップ接続を開き、Raspberry Pi の IP アドレスを入力して、「Connect」をクリックします。 + + +.. .. image:: img/image296.png +.. :align: center + +.. **ステップ3** + +.. 次にxrdp ログイン ページが表示されます。 +.. ユーザー名とパスワードを入力して「OK」をクリックしてください。 +.. ユーザー名は ( **pi** ) とSDカードを作成した際に指定したパスワード (デフォルトでは **raspberry** )になります。 + +.. .. image:: img/image297.png +.. :align: center + +.. **Step 4** + +.. Raspberry Piのデスクトップ画面が表示されるはずです。 + +.. .. image:: img/image20.png +.. :align: center \ No newline at end of file diff --git a/docs/source/preparation/set_up_your_raspberry_pi.rst b/docs/source/preparation/set_up_your_raspberry_pi.rst new file mode 100644 index 0000000..0319509 --- /dev/null +++ b/docs/source/preparation/set_up_your_raspberry_pi.rst @@ -0,0 +1,57 @@ +.. _set_up_raspberrypi: + +Raspberry Piの設定 +============================ + +モニターに接続できる場合 +------------------------- + +PC用のモニター画面(あるいはHDMI入力のあるテレビ)があればRaspberry Piの操作は簡単です。 + +**必要なもの** + + +* Raspberry Pi 3または4 +* 1 \* 電源アダプター +* 1 \* マイクロSDカード +* 1 \* モニター用電源アダプター(必要ならば) +* 1 \* HDMIケーブル +* 1 \* モニター(もしくはTV) +* 1 \* マウス +* 1 \* キーボード + + +1. Raspberry Pi OSをインストールしたSDカードを、Raspberry Piの底面にあるマイクロSDカード・スロットに挿入します。 + +#. マウスとキーボードを接続します。 + +#. モニターをRaspberry PiのHDMIポートに接続し、モニターの電源が壁のコンセントに差し込まれ電源が入っていることを確認します。 + + .. note:: + + Raspberry Pi 4を使用する場合はモニターをHDMI0(電源ポートに最も近い方)に接続する必要があります。 + +#. 電源アダプターを使用してRaspberry Piに電源を供給します。 少し待つとにRaspberry Pi OSデスクトップが表示されます。なおRaspberry piには電源スイッチがありませんので電源アダプターを接続するとそのまま起動します。 + + .. image:: img/image20.png + :align: center + + + +モニターがない場合 +-------------------------- + +モニターがない場合はRaspberry Piにリモートでログインできます。 + +SSHコマンドを適用してRaspberry PiのBash Shellを開くことができます。BashはLinuxの標準のデフォルト・シェルです。シェル自体はユーザーがUnix/Linuxを利用する際のコマンドラインインタプリタ(CLI)です。シェルを通して必要な作業のほとんどが行えます。 + +コマンド・ウィンドウを使用してRaspberry Piを利用するすることに満足できない場合はリモートデスクトップ機能を使用してGUIを利用してRaspberry Pi内のファイルを簡単に管理することもできます。 + +各システムの詳しいチュートリアルは下記をご覧ください。 + +.. toctree:: + :maxdepth: 1 + + remote_macosx + remote_windows + remote_linux diff --git a/docs/source/preparation/what_do_we_need.rst b/docs/source/preparation/what_do_we_need.rst new file mode 100644 index 0000000..3d77419 --- /dev/null +++ b/docs/source/preparation/what_do_we_need.rst @@ -0,0 +1,45 @@ +何が必要? +================ + +必要なものなど +----------------------- + +**Raspberry Pi** + +Raspberry Piは低価格のクレジットカード サイズのコンピューターで、コンピューターのモニターまたはテレビに接続し、標準のキーボードとマウスを使用します。 +Raspberry Piはあらゆる年齢の人々がコンピュータを利用し、Scratch や Python などの言語でプログラミングする方法を学ぶことを可能にする、有能な小さなデバイスです。 + + +.. image:: img/image10.jpeg + +**電源アダプター** + +電源コンセントに接続するためにRaspberry Piには(スマホなどと同じ)マイクロUSBポートがあります。 電源容量は少なくとも2.5A/h以上の製品が必要です。 + +**マイクロSDカード** + +Raspberry PiではRaspberry Pi OSとユーザーのデータを保存するためのマイクロSDカードが必要です。 通常のパソコンのSSDに当たります。最低でも8GB以上の容量のマイクロSDカードが必要です。 + +その他 +------------------------- + +**ディスプレイ** + +Raspberry Piのデスクトップを表示するにはHDMI端子付きのテレビ画面かパソコン用のディスプレイが必要になります。 画面側にスピーカーが内蔵されている場合は音もそこから再生する事ができます。 + +**マウスとキーボード** + +Raspberry Pi本体の操作のためにはUSBキーボードとUSBマウスも必要です。なおUSBアダプタ付きの無線マウスとキーボードも利用可能です。 + +**HDMIケーブル** + +Raspberry Piには最新のテレビやディスプレイ用のHDMI出力ポートがあります。モデルによって使えるケーブルが異なるので確認してください。 またモニターが古くDVIまたはVGAポートしかない場合は適切な変換器を使用する必要があります。 + +**ケース** + +Raspberry Piは専用ケースに入れることができます。 これによりデバイスを保護できますが、利用するロボットキットなどにはケースが付属していたりしますので必要かどうか確認してください。 + +**イヤフォン出力** + +Raspberry Piには3.5mmのイヤフォン。ジャックが装備されておりモニターにスピーカーが内蔵されていない場合にイヤフォンやPC用外付けスピーカーなどが利用可能です。 +こちらもロボットハットなどにはスピーカーを内蔵しておりますのでキットの内容をご確認ください。 \ No newline at end of file diff --git a/docs/source/processing/blinking_dot.rst b/docs/source/processing/blinking_dot.rst new file mode 100644 index 0000000..59868d8 --- /dev/null +++ b/docs/source/processing/blinking_dot.rst @@ -0,0 +1,62 @@ +.. _processing_blink: + +ドットの点滅 +=========================== + +このプロジェクトでは、LEDと同期して点滅するProcessingにドットを描画します。図に示すように回路を構築し、スケッチを実行してください。 + +.. image:: img/blinking_dot.png +.. image:: img/clickable_dot_on.png + + +**回路** + +.. image:: img/image49.png + +**スケッチ** + +.. code-block:: arduino + + import processing.io.*; + int ledPin = 17; + boolean state = true; + + void setup() { + size(100, 100); + frameRate(2); //set frame rate + GPIO.pinMode(ledPin, GPIO.OUTPUT); //set the ledPin to output mode + } + + void draw() { + state = !state; + if (state==true) { + GPIO.digitalWrite(ledPin, GPIO.LOW); //led on + fill(255, 0, 0); //set the fill color of led on + } else { + GPIO.digitalWrite(ledPin, GPIO.HIGH); //led off + fill(155); //set the fill color of led off + } + ellipse(width/2, height/2, width*0.75, height*0.75); + } + +**原理** + +スケッチの最初に、回路実験に不可欠な ``importprocessing.io.*;`` を使用してProcessingのGPIO関数ライブラリを埋め込む必要があります。 + +**フレームレート** は、ボードに表示されるビットマップの周波数であり、 +ヘルツ(Hz)で表されます。つまり、 ``draw()`` 関数が呼び出される頻度でもあります。 ``setup()`` で、 **フレームレート** を2に設定すると、0.5秒ごとに ``draw()`` が呼び出されます。 + +``draw()`` 関数の各呼び出しは、 ``state`` の逆を取り、その後それを決定します。 +値が ``true`` の場合、LEDが点灯し、ブラシが赤で塗りつぶされます。 +そうでない場合は、LEDがオフになり、ブラシが灰色で塗りつぶされます。 + +判定が終わったら、 ``ellipse()`` 関数を使って円を描きます。 ``width`` と ``height`` は、表示ウィンドウの幅と高さを格納するために使用されるシステム変数であることに注意してください。 + +注意すべき他の2つのポイントがあります。 GPIOを使用する場合は、 ``GPIO.pinMode()`` 関数を使用してピンのINPUT / OUTPUT状態を設定してから、 ``GPIO.digitalWrite()`` 関数を使用して値(HIGH/LOW)をピンに割り当てる必要があります。 + + +.. note:: + + ``draw()`` で ``delay()`` を使用しないようにしてください。これは、表示ウィンドウの更新に影響します。 + +詳細については、 `Processing Reference `_ を参照してください。 \ No newline at end of file diff --git a/docs/source/processing/clickable_color_blocks.rst b/docs/source/processing/clickable_color_blocks.rst new file mode 100644 index 0000000..2ad52d7 --- /dev/null +++ b/docs/source/processing/clickable_color_blocks.rst @@ -0,0 +1,65 @@ +クリック可能なカラーブロック +============================ + + +クリック可能なドットを描画してLEDを制御しようとしたので、さらに一歩進んで3色の正方形を描画してRGBカラーを調整しましょう! + +.. image:: img/colorful_square.png + +**回路** + +.. image:: img/image61.png + + +**スケッチ** + +.. code-block:: arduino + + import processing.io.*; // use the GPIO library + + int[] pins = { 17, 18, 27 }; + + void setup() { + for (int i = 0; i < pins.length; i++) { + GPIO.pinMode(pins[i], GPIO.OUTPUT); + } + size(300, 100); + background(255); + } + + void draw() { + fill(255, 0, 0); + rect(0, 0, width/3, height); + + fill(0,255,0); + rect(width/3, 0, 2*width/3, height); + + fill(0,0,255); + rect(2*width/3, 0, width, height); + } + + void mouseClicked() { + for (int i = 0; i < pins.length; i++) { + GPIO.digitalWrite(pins[i],GPIO.LOW); + } + if (mouseXwidth/3&&mouseX<2*width/3){ + GPIO.digitalWrite(pins[1],GPIO.HIGH); + }else if (mouseX>2*width/3){ + GPIO.digitalWrite(pins[2],GPIO.HIGH); + } + } + + +**原理** + +このプロジェクトは、マウスクリックイベントを決定するための条件を改善することを除いて、 :ref:`processing_click_dot` と多くの共通点があります。 + +最初に ``draw()`` で3つのカラーブロックを描画し、次にmouseX(マウスのX軸座標)の値に基づいてクリックされたカラーブロックを取得し、最後にRGBに対応する色を点灯させます。 + +**それと?** + +光の追加に基づいて、RGBLEDディスプレイを7色にすることができます。緑に赤を追加すると黄色になります。 3つの原色すべてを足し合わせると白になります。 今、それを自分で試すことができます。 + +詳細については `Processing Reference `_ を参照してください。 \ No newline at end of file diff --git a/docs/source/processing/clickable_dot.rst b/docs/source/processing/clickable_dot.rst new file mode 100644 index 0000000..2615c4a --- /dev/null +++ b/docs/source/processing/clickable_dot.rst @@ -0,0 +1,50 @@ +.. _processing_click_dot: + +クリック可能なドット +==================== + +このプロジェクトでは、LEDと同期して点滅するProcessingにドットを描画します。図に示すように回路を構築し、スケッチを実行してください。 + +.. image:: img/clickable_dot_on.png + +**回路** + +.. image:: img/image49.png + +**スケッチ** + +.. code-block:: arduino + + import processing.io.*; + boolean state = false; + int ledPin = 17; + + void setup() { + GPIO.pinMode(ledPin, GPIO.OUTPUT); + background(255); + } + + void draw() { + if (state == true) { + GPIO.digitalWrite(ledPin, GPIO.LOW); + fill(255, 0, 0); + }else { + GPIO.digitalWrite(ledPin, GPIO.HIGH); + fill(155); + } + ellipse(width/2, height/2, width*0.75, height*0.75); + } + + void mouseClicked() { + // toggles state: + if (2*dist(mouseX,mouseY,width/2, height/2)<=width*0.75) + {state = !state;} + } + +**原理** + +このプロジェクトには :ref:`processing_blink` と多くの共通点がありますが、違いは、マウスイベントにトグル状態を設定することです。 これにより、LEDは自動的に点滅しませんが、マウスをクリックすると点灯および消灯します。 + +また、 ``mouseClicked()`` イベントでは、 ``dist()`` 関数を使用してクリック時のマウスの位置を決定します、マウスとドットの中心との距離が半径より小さい場合にのみ、ドットがクリックされたと見なされます。 + +詳細については、 `Processing Reference `_ を参照してください。 \ No newline at end of file diff --git a/docs/source/processing/dot_on_the_swing.rst b/docs/source/processing/dot_on_the_swing.rst new file mode 100644 index 0000000..82b9f88 --- /dev/null +++ b/docs/source/processing/dot_on_the_swing.rst @@ -0,0 +1,188 @@ +スイングのドット +============================== + +このプロジェクトでは、ドットのサイズを変更するためのボタン、 +位置を変更するためのボタン、色を変更するためのボタンの3つのボタンが接続されています。 +3つのボタンすべてを同時に押すと、揺れるドットが表示され、色が変化します。 + +.. image:: img/dancing_dot.png + +**回路** + +.. image:: img/circuit_dancing_dot.png + +**スケッチ** + +.. code-block:: arduino + + import processing.io.*; + + // Define an instance of the Dot object + Dot myDot; + + // Define the pins that will be reading button presses + int[] pins = { 18, 23, 24 }; + + void setup() { + size(400, 400); + // Change the color mode of the sketch to HSB + colorMode(HSB, 360, 100, 100); + noStroke(); + + for (int i = 0; i < pins.length; i++) { + GPIO.pinMode(pins[i], GPIO.INPUT_PULLUP); + } + + // Create a Dot in the middle of the screen + myDot = new Dot(width / 2, height / 2, 100, 255); + } + + void draw() { + background(0); + + // Modify attributes of the Dot depending on which buttons are pressed + if (GPIO.digitalRead(pins[0]) == GPIO.LOW) {myDot.setSize();} + if (GPIO.digitalRead(pins[1]) == GPIO.LOW) {myDot.setPosition();} + if (GPIO.digitalRead(pins[2]) == GPIO.LOW) {myDot.setColor();} + + // Update the Dot state + myDot.update(); + // And draw it to the screen + myDot.show(); + } + + class Dot { + + float initX; + float initY; + float currentX; + float currentY; + int positionRange = 60; + + float initSize; + float currentSize; + int sizeRange = 50; + + int initColor; + int currentColor; + int ColorRange = 80; + + float timer = 0.0; + float speed = 0.06; + + Dot(float x, float y, float s, int c) { + initX = x; + initY = y; + currentX = x; + currentY = y; + + initSize = s; + currentSize = s; + + initColor = c; + currentColor = c; + } + + void setSize() { + currentSize = initSize + sizeRange * sin( timer ); + } + + void setPosition() { + currentY = initY + positionRange * cos( timer *2); + } + + void setColor() { + currentColor = int(initColor + ColorRange * sin( timer )); + } + + void update() { + timer += speed; + } + + void show() { + fill(currentColor, 100, 100); + ellipse(currentX, currentY, currentSize, currentSize); + } + } + +**原理** + +ドットを直接描画する代わりに、ここで ``Dot`` クラスを作成します。 次に、オブジェクトを宣言します。(この場合は ``myDot`` ) + +これは、複数の同一のプロパティを持つドットを描画する簡単な方法です。 たとえば、このプロジェクトのドットに3つの関数(サイズの変更、位置の変更、色の変更)を追加すると、宣言する各ドットは同じ関数になります。 同じボタンを使用して同じことを実行することも、異なるボタンを使用して各ドットを個別に制御することもできます。 + +`Class (computer programming) - Wikipedia `_ を使用すると、スケッチが美しく、強力で柔軟になります。 + + + +次に、 ``Dot`` クラスを詳しく見てみましょう。 + + +.. code-block:: arduino + + Dot(float x, float y, float s, int c) + +宣言では、位置のX座標値とY座標値、サイズ、および色(ここでは、 `HSB color mode `_ )に設定されています)の4つのパラメーターを渡す必要があります。 + +各パラメータは、2セットの値(初期値と現在の値)に割り当てられます。 + + +.. code-block:: arduino + + float initX; + float initY; + float currentX; + float currentY; + int positionRange = 60; + + float initSize; + float currentSize; + int sizeRange = 50; + + int initColor; + int currentColor; + int ColorRange = 80; + +初期値と現在の値に加えて、範囲値のセットもあります。 初期値がドットの初期状態(入力パラメータによって決定される)を決定するために使用され、現在の値が範囲内で変化してドットを移動させることを意味します。 + +したがって、X座標値を除いて、他の3つのパラメーターの現在の値は次のように計算されます: + +.. code-block:: arduino + + void setSize() { + currentSize = initSize + sizeRange * sin( timer ); + } + + void setPosition() { + currentY = initY + positionRange * cos( timer *2); + } + + void setColor() { + currentColor = int(initColor + ColorRange * sin( timer )); + } + + +三角関数に精通している場合は、正弦と余弦 `sine & cosine `_ を理解するのは難しくありません。これにより、ドットの現在の値が滑らかに周期的に変化します(-1から1)。 + +また、周期的な変動のためにシード、 ``timer`` を追加する必要があります。 これは、メソッド ``update()`` に固定値を追加し、 ``draw()`` で呼び出されます。 + +.. code-block:: arduino + + void update() { + timer += speed; + } + +最後に、 ``draw()`` でも呼び出される ``show()`` メソッドを使用して、現在の値に従ってドットが表示されます。 + +.. code-block:: arduino + + void show() { + fill(currentColor, 100, 100); + ellipse(currentX, currentY, currentSize, currentSize); + } + +**それと?** + +クラスの使い方をマスターすれば、同じプロパティで複数のドットを描くことができるので、もっとクールなことをしてみませんか。 たとえば、安定した連星系を描いたり、'DUET'ゲームを作ったりするのはどうですか? + +詳細については、 `Processing Reference `_ を参照してください。 \ No newline at end of file diff --git a/docs/source/processing/drag_number.rst b/docs/source/processing/drag_number.rst new file mode 100644 index 0000000..99b0967 --- /dev/null +++ b/docs/source/processing/drag_number.rst @@ -0,0 +1,125 @@ +ドラッグ番号 +================================================ + +7セグメントディスプレイを制御するためのスライダーバーを描いてみましょう。 + +.. image:: img/drag_servo.png + + +**回路** + +.. image:: img/image125.png + +**スケッチ** + +.. code-block:: arduino + + import processing.io.*; + + int number = 0; + int levelRange=9; + Slider mySlider; + + int SDI=17; //serial data input + int RCLK=18; //memory clock input(STCP) + int SRCLK =27; //shift register clock input(SHCP) + + + int[] SegCode= {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71}; + + void hc595_shift(int dat){ + int i; + + for(i=0;i<8;i++){ + int n=(0x80 & (dat << i)); + if ( n==0){ + GPIO.digitalWrite(SDI, 0); + } else { + GPIO.digitalWrite(SDI, 1); + } + GPIO.digitalWrite(SRCLK, 1); + delay(1); + GPIO.digitalWrite(SRCLK, 0); + } + + GPIO.digitalWrite(RCLK, 1); + delay(1); + GPIO.digitalWrite(RCLK, 0); + } + + void setup() { + size(400, 200); + frameRate(50); + mySlider = new Slider(width * 0.2,height * 0.4,width * 0.8,height * 0.6,0,levelRange,number); + GPIO.pinMode(SDI, GPIO.OUTPUT); + GPIO.pinMode(RCLK, GPIO.OUTPUT); + GPIO.pinMode(SRCLK, GPIO.OUTPUT); + + GPIO.digitalWrite(SDI, 0); + GPIO.digitalWrite(RCLK, 0); + GPIO.digitalWrite(SRCLK, 0); + } + + void draw() { + + background(255); + mySlider.show(); + hc595_shift(SegCode[number]); + } + + void mouseDragged(){ + number = mySlider.dragPoint(mouseX,mouseY); + } + + + + class Slider{ + float slotPointAX; + float slotPointBX; + float slotPointAY; + float slotPointBY; + float linePoint; + float depth; + int maxRange; + int minRange; + int value; + + Slider(float ax, float ay, float bx, float by, int min, int max, int v){ + slotPointAX = ax; + slotPointAY = ay; + slotPointBX = bx; + slotPointBY = by; + maxRange = max; + minRange = min; + value = v; + linePoint = slotPointAX;// + map(value, minRange, maxRange, slotPointAX, slotPointBX); + depth = (slotPointBY - slotPointAY)*0.75; + } + + void show(){ + rectMode(CORNERS); + fill(200); + stroke(255,0,0); + rect(slotPointAX, slotPointAY, slotPointBX, slotPointBY); + fill(255,0,0); + rect(slotPointAX, slotPointAY, linePoint, slotPointBY); + fill(200); + textSize(depth); + text(minRange, slotPointAX, slotPointBY+depth); + text(maxRange, slotPointBX, slotPointBY+depth); + text(value, linePoint, slotPointAY); + } + + int dragPoint(float mx, float my){ + if(mx>=slotPointAX && mx<=slotPointBX && my>=slotPointAY && my<=slotPointBY){ + value = int(map(mx,slotPointAX,slotPointBX,minRange,maxRange)); + linePoint = map(value,minRange,maxRange,slotPointAX,slotPointBX); + } + return value; + } + } + +**原理** + +このプロジェクトは、前のコースの「スライダー」と「7セグメントディスプレイ」を統合します。 具体的な知識のポイントについては、 +:ref:`processing_show_num` および :ref:`processing_metronome` を参照してください。 \ No newline at end of file diff --git a/docs/source/processing/draw_a_matchmaker.rst b/docs/source/processing/draw_a_matchmaker.rst new file mode 100644 index 0000000..9cf031a --- /dev/null +++ b/docs/source/processing/draw_a_matchmaker.rst @@ -0,0 +1,66 @@ +棒人間を描く +======================== + +これで、Processing Development Environment(PDE)を実行しています。 +それほど多くはありません。 広い領域はテキストエディタで、上部にボタンの列があります。 +これがツールバーです。 エディタの下にはメッセージエリアがあり、その下にはコンソールがあります。 +メッセージエリアは1行のメッセージに使用され、コンソールはより技術的な詳細に使用されます。 + +Processing を使って棒線画を描くことに慣れましょう。 + +**スケッチ** + +以下のスケッチをProcessingにコピーして実行します。 新しい表示ウィンドウが表示され、応援の仲人が描かれます。 + +.. code-block:: arduino + + size(200,200); + background(92, 168, 0); + rectMode(CENTER); + rect(100,120,20,60); + ellipse(100,80,45,45); + line(90,150,80,170); + line(110,150,120,170); + line(90,110,70,100); + line(110,110,130,100); + +.. image:: img/draw_one1.png + +.. note:: + + それを実行し、メッセージ領域が赤くなり、いくつかのエラーが報告された場合は、スケッチに問題があります。 サンプルスケッチを正確にコピーするようにしてください。数字は括弧で囲み、各数字の間にコンマを入れ、行はセミコロンで終了する必要があります。 + + +**原理** + +ここで重要なのは、表示ウィンドウを正方形の紙として扱うことができることを理解することです。 + +表示ウィンドウの各ピクセルは、空間内のポイントの位置を決定する座標(x、y)です。 座標の原点(0,0)は左上隅にあり、X軸の正の方向は水平方向に右、Y軸の正の方向は垂直方向に下向きです。 + +重要なのは、これらのピクセル座標にどのような形と色を表示するかを指定することです。 + +たとえば、座標(100,120)を中点として、幅20、高さ60の長方形を描画します。 + +.. code-block:: arduino + + rectMode(CENTER); + rect(100,120,20,60); + +.. image:: img/draw_one_coodinate.png + +表示ウィンドウと軸の関係を理解したら、このスケッチは難しくありません。いくつかの簡単なグラフィック描画ステートメントを理解する必要があります。 + + * ``size(width, height)``: 表示ウィンドウの幅と高さの寸法をピクセル単位で定義します。 + * ``background(red, green, blue)``: 表示ウィンドウの背景色を設定します。 + * ``rectMode(mode)``: ``rect()`` に指定されたパラメーターの解釈方法を変更することにより、長方形が描画される場所を変更します。 + * ``rect(x, y, width, height)``: 画面に長方形を描画します。 + * ``ellipse(x, y, width, height)``: 画面に楕円(楕円)を描画します。 + * ``line(x1, y1, x2, y2)``: 画面に線(2点間の直接パス)を描画します。 + +詳細については、 `Processing Reference `_ を参照してください。 + + + + + + diff --git a/docs/source/processing/hello_mouse.rst b/docs/source/processing/hello_mouse.rst new file mode 100644 index 0000000..1655930 --- /dev/null +++ b/docs/source/processing/hello_mouse.rst @@ -0,0 +1,82 @@ +こんにちはマウス +================== + +このプロジェクトでは、マウスはポイントに向かって線を描き続けます。マウスを動かすと、ユニークな星の線が描画されます。マウスを押して、描画を再開します。 + +.. image:: img/hello_mouse1.png + +**スケッチ** + +.. code-block:: arduino + + int pointX = 172; + int pointY = 88; + + void setup() { + size(400, 400); + stroke(255); + background(192, 16, 18); + } + + void draw() { + line(pointX, pointY, mouseX, mouseY); + } + + void mousePressed() { + pointX=mouseX; + pointY=mouseY; + background(192, 16, 18); + } + +**原理** + +前のプロジェクトは、アニメーションやインタラクションなしで単一の画像を描画していました。 + +インタラクティブなスケッチを作成する場合は、 ``setup()`` 関数と ``draw()`` 関数(これらは自動的に呼び出される組み込み関数)を追加してフレームを作成する必要があります。 + +* ``setup()`` : スケッチの開始時に1回だけ実行されます。 +* ``draw()`` :繰り返し実行されます。通常、アニメーションを描画するためのスケッチを追加します。 + +.. code-block:: arduino + + int pointX = 172; + int pointY = 88; + + void setup() { + size(400, 400); + stroke(255); + background(192, 16, 18); + } + + void draw() { + line(pointX, pointY, mouseX, mouseY); + } + +上記のこのスケッチは、インタラクティブなスケッチとしてすでにスムーズに機能します。 + +次に、マウスクリックイベントを追加できます。 このイベントは、 ``mousePressed()`` 関数を使用して実装できます。この関数では、ステートメントを追加して、ターゲットポイントを更新し、画面をクリアします。 + +.. code-block:: arduino + + int pointX = 172; + int pointY = 88; + + void setup() { + size(400, 400); + stroke(255); + background(192, 16, 18); + } + + void draw() { + line(pointX, pointY, mouseX, mouseY); + } + + void mousePressed() { + pointX=mouseX; + pointY=mouseY; + background(192, 16, 18); + } + + +詳細については `Processing Reference `_ を参照してください。 + diff --git a/docs/source/processing/img/blinking_dot.png b/docs/source/processing/img/blinking_dot.png new file mode 100644 index 0000000..0a26879 Binary files /dev/null and b/docs/source/processing/img/blinking_dot.png differ diff --git a/docs/source/processing/img/button_pressed.png b/docs/source/processing/img/button_pressed.png new file mode 100644 index 0000000..4caf59e Binary files /dev/null and b/docs/source/processing/img/button_pressed.png differ diff --git a/docs/source/processing/img/circuit_dancing_dot.png b/docs/source/processing/img/circuit_dancing_dot.png new file mode 100644 index 0000000..f297a50 Binary files /dev/null and b/docs/source/processing/img/circuit_dancing_dot.png differ diff --git a/docs/source/processing/img/clickable_dot_on.png b/docs/source/processing/img/clickable_dot_on.png new file mode 100644 index 0000000..ca159eb Binary files /dev/null and b/docs/source/processing/img/clickable_dot_on.png differ diff --git a/docs/source/processing/img/colorful_square.png b/docs/source/processing/img/colorful_square.png new file mode 100644 index 0000000..17d86ed Binary files /dev/null and b/docs/source/processing/img/colorful_square.png differ diff --git a/docs/source/processing/img/courgette.log b/docs/source/processing/img/courgette.log new file mode 100644 index 0000000..e69de29 diff --git a/docs/source/processing/img/dancing_dot.png b/docs/source/processing/img/dancing_dot.png new file mode 100644 index 0000000..65a2296 Binary files /dev/null and b/docs/source/processing/img/dancing_dot.png differ diff --git a/docs/source/processing/img/dot_size.png b/docs/source/processing/img/dot_size.png new file mode 100644 index 0000000..6c10980 Binary files /dev/null and b/docs/source/processing/img/dot_size.png differ diff --git a/docs/source/processing/img/drag_servo.png b/docs/source/processing/img/drag_servo.png new file mode 100644 index 0000000..817464b Binary files /dev/null and b/docs/source/processing/img/drag_servo.png differ diff --git a/docs/source/processing/img/draw_one1.png b/docs/source/processing/img/draw_one1.png new file mode 100644 index 0000000..9605627 Binary files /dev/null and b/docs/source/processing/img/draw_one1.png differ diff --git a/docs/source/processing/img/draw_one_coodinate.png b/docs/source/processing/img/draw_one_coodinate.png new file mode 100644 index 0000000..9427caf Binary files /dev/null and b/docs/source/processing/img/draw_one_coodinate.png differ diff --git a/docs/source/processing/img/draw_one_coodinate.psd b/docs/source/processing/img/draw_one_coodinate.psd new file mode 100644 index 0000000..dc91d76 Binary files /dev/null and b/docs/source/processing/img/draw_one_coodinate.psd differ diff --git a/docs/source/processing/img/hello_mouse1.png b/docs/source/processing/img/hello_mouse1.png new file mode 100644 index 0000000..883b0e6 Binary files /dev/null and b/docs/source/processing/img/hello_mouse1.png differ diff --git a/docs/source/processing/img/image106.png b/docs/source/processing/img/image106.png new file mode 100644 index 0000000..eab5c72 Binary files /dev/null and b/docs/source/processing/img/image106.png differ diff --git a/docs/source/processing/img/image125.png b/docs/source/processing/img/image125.png new file mode 100644 index 0000000..914d1fe Binary files /dev/null and b/docs/source/processing/img/image125.png differ diff --git a/docs/source/processing/img/image49.png b/docs/source/processing/img/image49.png new file mode 100644 index 0000000..2527c11 Binary files /dev/null and b/docs/source/processing/img/image49.png differ diff --git a/docs/source/processing/img/image61.png b/docs/source/processing/img/image61.png new file mode 100644 index 0000000..a4edab4 Binary files /dev/null and b/docs/source/processing/img/image61.png differ diff --git a/docs/source/processing/img/import-00.png b/docs/source/processing/img/import-00.png new file mode 100644 index 0000000..a0d6093 Binary files /dev/null and b/docs/source/processing/img/import-00.png differ diff --git a/docs/source/processing/img/import-01.png b/docs/source/processing/img/import-01.png new file mode 100644 index 0000000..defc09c Binary files /dev/null and b/docs/source/processing/img/import-01.png differ diff --git a/docs/source/processing/img/import-02.png b/docs/source/processing/img/import-02.png new file mode 100644 index 0000000..ff4c072 Binary files /dev/null and b/docs/source/processing/img/import-02.png differ diff --git a/docs/source/processing/img/metronome.png b/docs/source/processing/img/metronome.png new file mode 100644 index 0000000..79c1b1a Binary files /dev/null and b/docs/source/processing/img/metronome.png differ diff --git a/docs/source/processing/img/processing1.png b/docs/source/processing/img/processing1.png new file mode 100644 index 0000000..029dd77 Binary files /dev/null and b/docs/source/processing/img/processing1.png differ diff --git a/docs/source/processing/img/processing2.png b/docs/source/processing/img/processing2.png new file mode 100644 index 0000000..dc221fb Binary files /dev/null and b/docs/source/processing/img/processing2.png differ diff --git a/docs/source/processing/inflating_the_dot.rst b/docs/source/processing/inflating_the_dot.rst new file mode 100644 index 0000000..4316b1d --- /dev/null +++ b/docs/source/processing/inflating_the_dot.rst @@ -0,0 +1,47 @@ +ドットを膨らませる +=========================== + +次に、ボタンでドットのサイズを制御できる回路を作成しましょう。 +ボタンを押すと、ドットがすぐに大きくなります。 ボタンを離すと、ドットが徐々に小さくなり、風船が膨らんでいるように見えます。 + +.. image:: img/dot_size.png + +**回路** + +.. image:: img/button_pressed.png + +**スケッチ** + +.. code-block:: arduino + + import processing.io.*; + int buttonPin = 18; + + float diameter; + + void setup() { + size(200, 200); + frameRate(64); //set frame rate + GPIO.pinMode(buttonPin, GPIO.INPUT_PULLUP); + diameter = width*0.5; + } + + void draw() { + if (GPIO.digitalRead(buttonPin)==GPIO.LOW) { + if(diameter=width*0.2) {diameter--;} + } + background(192, 16, 18); + ellipse(width/2, height/2,diameter, diameter); + } + +**原理** + +このプロジェクトは、GPIOの出力機能を使用していた前の2つのプロジェクトと比較して、入力機能を使用しています。 + +``GPIO.pinMode()`` 関数は、 ``buttonPin`` をプルアップ入力モードに設定するために使用されます。これにより、ピンはデフォルト状態で自動的にHIGHになります。 + +次に、 ``GPIO.digitalRead()`` 関数を使用して ``buttonPin`` の値を読み取ります。 値がLOWの場合、ボタンが押されていることを意味します。その時点で、ドットの直径が5増加します。 ボタンを離すと、ドットの直径が1つ小さくなります。 + +詳細については、 `Processing Reference `_ を参照してください。 \ No newline at end of file diff --git a/docs/source/processing/metronome.rst b/docs/source/processing/metronome.rst new file mode 100644 index 0000000..b51dc60 --- /dev/null +++ b/docs/source/processing/metronome.rst @@ -0,0 +1,146 @@ +.. _processing_metronome: + +メトロノーム +==================== + +ここではメトロノームを作成します。 +メトロノームは5つのレベルに分けられ、レベルが高いほどブザーの呼び出しが緊急になります。 + +.. image:: img/metronome.png + + +**回路** + +.. image:: img/image106.png + +.. note:: + + ここではアクティブブザーが使用されており、白いステッカーが貼られています。 + +**スケッチ** + +.. code-block:: Arduino + + import processing.io.*; + + int level = 0; + int buzzerPin = 17; + int levelRange=5; + Slider mySlider; + + void setup() { + size(400, 200); + frameRate(50); + mySlider = new Slider(width * 0.2,height * 0.4,width * 0.8,height * 0.6,0,levelRange,level); + GPIO.pinMode(buzzerPin, GPIO.OUTPUT); + } + + void draw() { + + background(255); + mySlider.show(); + if(level==0){ + GPIO.digitalWrite(buzzerPin, GPIO.HIGH); + }else if((frameCount/5) % (levelRange-level+1) ==0){ + GPIO.digitalWrite(buzzerPin, GPIO.LOW); + }else{ + GPIO.digitalWrite(buzzerPin, GPIO.HIGH); + } + } + + void mouseDragged(){ + level = mySlider.dragPoint(mouseX,mouseY); + } + + class Slider{ + float slotPointAX; + float slotPointBX; + float slotPointAY; + float slotPointBY; + float linePoint; + float depth; + int maxRange; + int minRange; + int value; + + Slider(float ax, float ay, float bx, float by, int min, int max, int v){ + slotPointAX = ax; + slotPointAY = ay; + slotPointBX = bx; + slotPointBY = by; + maxRange = max; + minRange = min; + value = v; + linePoint = slotPointAX;// + map(value, minRange, maxRange, slotPointAX, slotPointBX); + depth = (slotPointBY - slotPointAY)*0.75; + } + + void show(){ + rectMode(CORNERS); + fill(200); + stroke(255,0,0); + rect(slotPointAX, slotPointAY, slotPointBX, slotPointBY); + fill(255,0,0); + rect(slotPointAX, slotPointAY, linePoint, slotPointBY); + fill(200); + textSize(depth); + text(minRange, slotPointAX, slotPointBY+depth); + text(maxRange, slotPointBX, slotPointBY+depth); + text(value, linePoint, slotPointAY); + } + + int dragPoint(float mx, float my){ + if(mx>=slotPointAX && mx<=slotPointBX && my>=slotPointAY && my<=slotPointBY){ + value = int(map(mx,slotPointAX,slotPointBX,minRange,maxRange)); + linePoint = map(value,minRange,maxRange,slotPointAX,slotPointBX); + } + return value; + } + } + +**原理** + + +ここでは、 ``Slider`` クラスを作成し、それを widget として機能させました。 + +.. code-block:: arduino + + Slider(ax, ay, bx, by, min, max, v) + +宣言では、7つのパラメーターで渡す必要があります。 + +最初の4つのパラメーターはwidgetのサイズを決定し、その後に左上隅の開始点の座標(x1、y1)と右下隅の(x2、y2)が続きます。 + +最後の3つのパラメーターは、その数値範囲(最小から最大)と初期値を決定します。 + +これには2つのメソッドがあります。 ``dragPoint()`` の効果は、スライダーをドラッグ可能にして、スライダーの現在の位置の値を返すことです。 + +.. code-block:: arduino + + int dragPoint(float mx, float my){ + if(mx>=slotPointAX && mx<=slotPointBX && my>=slotPointAY && my<=slotPointBY){ + value = int(map(mx,slotPointAX,slotPointBX,minRange,maxRange)); + linePoint = map(value,minRange,maxRange,slotPointAX,slotPointBX); + } + return value; + } + +別のメソッド ``show()`` は、スライダーを表示することです。 同時に、範囲値と現在値が対応する位置に表示されます。 + +.. code-block:: arduino + + void show(){ + rectMode(CORNERS); + fill(200); + stroke(255,0,0); + rect(slotPointAX, slotPointAY, slotPointBX, slotPointBY); + fill(255,0,0); + rect(slotPointAX, slotPointAY, linePoint, slotPointBY); + fill(200); + textSize(depth); + text(minRange, slotPointAX, slotPointBY+depth); + text(maxRange, slotPointBX, slotPointBY+depth); + text(value, linePoint, slotPointAY); + } + +詳細については、 `Processing Reference `_ を参照してください。 \ No newline at end of file diff --git a/docs/source/processing/play_with_processing.rst b/docs/source/processing/play_with_processing.rst new file mode 100644 index 0000000..c6dd28c --- /dev/null +++ b/docs/source/processing/play_with_processing.rst @@ -0,0 +1,73 @@ +Processingで遊ぶ +========================== + +Processingとは? +--------------------------- + +Processingは、アニメーションに重点を置いた視覚指向のアプリケーションの開発を容易にし、対話を通じてユーザーに即時のフィードバックを提供するために作成された単純なプログラミング環境です。 開発者は、コードでアイデアを「スケッチ」する手段を望んでいました。 その機能が過去10年間で拡大するにつれて、Processingは、スケッチの役割に加えて、より高度な本番レベルの作業に使用されるようになりました。 もともとアーティストやデザイナーを対象としたJavaのドメイン固有の拡張機能として構築されたProcessingは、大規模なインストール作業、モーショングラフィックス、複雑なデータの視覚化に使用される本格的なデザインおよびプロトタイピングツールに進化しました。 + +ProcessingはJavaに基づいていますが、Processingのプログラム要素は非常に単純であるため、Javaを知らなくても使用方法を学ぶことができます。 Javaに精通している場合は、APIがどのように機能するかを理解するまで、Processingはしばらくの間Javaと関係があることを忘れておくのが最善です。 + +このテキストは、チュートリアル `Processing Overview `_ からのものです。 + +Processingをインストールする +------------------------------ + +.. note:: + + Processingを使用する前に、Raspberry Piデスクトップにリモートでアクセスするか( :ref:`set_up_raspberrypi` ) 、RaspberryPiのディスプレイを接続する必要があります。 + + +最初に https://processing.org/download にアクセスし、``Linux ARM32-bit`` バージョンを選択します。 + +次に、ほとんどの Linux ユーザーになじみのある ``.tar.gz`` ファイルにダウンロードします。 +ファイルをホーム ディレクトリにダウンロードし、ターミナル ウィンドウを開いて次のように入力します。 + +.. code-block:: + + tar xvfz processing-xxxx.tgz + +(xxxx をファイル名の残りの部分 (バージョン番号) に置き換えます。) これにより、processing-2.0 などの名前のフォルダーが作成されます。次に、そのディレクトリに移動します。 + +.. code-block:: + + cd processing-xxxx + +そしてそれを実行します: + +.. code-block:: + + ./processing + +運が良ければ、メインの Processing ウィンドウが表示されます。 + +.. image:: img/processing2.png + + +安装硬件 I/O +-------------------- + +Raspberry Pi の GPIO を使用するには、 `ハードウェア I/O ライブラリ `_ を手動で追加する必要があります。 + +``Sketch`` -> ``Import Library`` -> ``Add Library...`` をクリックします。 + +.. image:: img/import-00.png + +ハードウェア I/O を見つけて選択し、[インストール] をクリックします。完了すると、チェックマーク アイコンが表示されます。 + +.. image:: img/import-02.png + +プロジェクト +--------------- + +.. toctree:: + draw_a_matchmaker + hello_mouse + blinking_dot + clickable_dot + clickable_color_blocks + inflating_the_dot + dot_on_the_swing + metronome + show_number + drag_number diff --git a/docs/source/processing/show_number.rst b/docs/source/processing/show_number.rst new file mode 100644 index 0000000..64ebed3 --- /dev/null +++ b/docs/source/processing/show_number.rst @@ -0,0 +1,143 @@ +.. _processing_show_num: + +番号を表示 +============================================= + +このレッスンでは、processingを使用して7セグメントディスプレイを駆動し、0から9およびAからFの数値を表示します + + +**回路** + +.. image:: img/image125.png + + +**スケッチ** + +.. code-block:: arduino + + import processing.io.*; + + int SDI=17; //serial data input + int RCLK=18; //memory clock input(STCP) + int SRCLK =27; //shift register clock input(SHCP) + + + int[] SegCode= {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71}; + + void hc595_shift(int dat){ + int i; + + for(i=0;i<8;i++){ + int n=(0x80 & (dat << i)); + if ( n==0){ + GPIO.digitalWrite(SDI, 0); + } else { + GPIO.digitalWrite(SDI, 1); + } + GPIO.digitalWrite(SRCLK, 1); + delay(1); + GPIO.digitalWrite(SRCLK, 0); + } + + GPIO.digitalWrite(RCLK, 1); + delay(1); + GPIO.digitalWrite(RCLK, 0); + } + + void setup() { + size(400, 200); + frameRate(10); + + GPIO.pinMode(SDI, GPIO.OUTPUT); + GPIO.pinMode(RCLK, GPIO.OUTPUT); + GPIO.pinMode(SRCLK, GPIO.OUTPUT); + + GPIO.digitalWrite(SDI, 0); + GPIO.digitalWrite(RCLK, 0); + GPIO.digitalWrite(SRCLK, 0); + + fill(0,25,88); + textAlign(CENTER,CENTER); + textSize(height*0.8); + } + + void draw() { + + background(255); + int number = (frameCount%100)/10; + text(number, width/2, height/2); + hc595_shift(SegCode[number]); + } + +**原理** + +``processing.io.*`` をインポートし、GPIO関数ライブラリを使用してdigital tube pinsを制御します。 + +配列を定義する ``SegCode = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71}`` 16進数中で、0からFまでのセグメントコード配列を表す(共通カソード) + +``setup()`` 関数は、3つのピンSDI、RCLK、SRCLKを出力として設定し、初期データを0として設定します。 + +``hc595_shift(int dat)`` 関数は、 ``SegCode`` を74HC595にシフトするために使用されます。 + +.. code:: + + void hc595_shift(int dat){ + int i; + + for(i=0;i<8;i++){ + int n=(0x80 & (dat << i)); + if ( n==0){ + GPIO.digitalWrite(SDI, 0); + } else { + GPIO.digitalWrite(SDI, 1); + } + GPIO.digitalWrite(SRCLK, 1); + delay(1); + GPIO.digitalWrite(SRCLK, 0); + } + + GPIO.digitalWrite(RCLK, 1); + delay(1); + GPIO.digitalWrite(RCLK, 0); + } + +``n=(0x80 & (dat << i))`` は、 ``dat`` を ``i`` ビット左にシフトしてから、0x80と ``&`` 操作を実行することを意味します。 + +``&`` 演算のルールは、 ``&`` の両側が1の場合、結果は1であり、それ以外の場合、結果は0です。 + +たとえば、 ``dat=0x3f,i=2`` ( ``0011 1111 << 2`` shift to ``1111 1100`` ) , then ``1111 1100 & 1000 0000 (0x80)`` = ``1000 0000`` 。 + +最後に、 ``dat`` データをビット単位でSDI(DS)に割り当てます。 + +``digitalWrite(SRCLK, 1)`` SRCLKが0から1までの立ち上がりエッジパルスを生成すると、データはDSレジスタからシフトレジスタに転送されます。 + +``digitalWrite(RCLK, 1)`` RCLKが0から1までの立ち上がりエッジパルスを生成すると、データはシフトレジスタからストレージレジスタに転送されます。 + + +.. code:: + + fill(0,25,88); + textAlign(CENTER,CENTER); + textSize(height*0.8); + +* ``fill()``: 図形の塗りつぶしに使用する色を設定します。 +* ``textAlign(CENTER,CENTER)``: テキストを描画するための現在の配置を設定します。 パラメータ ``LEFT`` 、 ``CENTER`` 、および ``RIGHT`` は、 ``text()`` 関数のxおよびyパラメータの値に関連して文字の表示特性を設定します。 +* ``textSize()``: 現在のフォントサイズを設定します。 このサイズは、以降の ``text()`` 関数のすべての呼び出しで使用されます。 フォントサイズはピクセル単位で測定されます。 + +これらの関数は、processingで表示されるテキストスタイルをカスタマイズできます。 + +.. code:: + + void draw() { + + background(255); + int number = (frameCount%100)/10; + text(number, width/2, height/2); + hc595_shift(SegCode[number]); + } + +``frameCount`` はシードであり、 ``frameRate`` に関連しています。 デフォルトでは、 ``frameRate`` は60です。これは、 ``frameCount`` が1秒間に60回累積することを意味します。 + +次に、processingと7セグメントディスプレイを使用して、0から9までの数字とAからFまでの数字を同時に表示できます。 + +詳細については `Processing Reference `_ を参照してください。 \ No newline at end of file diff --git a/docs/source/scratch/media/1.10_camera.png b/docs/source/scratch/media/1.10_camera.png new file mode 100644 index 0000000..437969b Binary files /dev/null and b/docs/source/scratch/media/1.10_camera.png differ diff --git a/docs/source/scratch/media/1.10_camera1.png b/docs/source/scratch/media/1.10_camera1.png new file mode 100644 index 0000000..a7578a6 Binary files /dev/null and b/docs/source/scratch/media/1.10_camera1.png differ diff --git a/docs/source/scratch/media/1.10_camera2.jpg b/docs/source/scratch/media/1.10_camera2.jpg new file mode 100644 index 0000000..df5ccb2 Binary files /dev/null and b/docs/source/scratch/media/1.10_camera2.jpg differ diff --git a/docs/source/scratch/media/1.10_camera3.png b/docs/source/scratch/media/1.10_camera3.png new file mode 100644 index 0000000..725b639 Binary files /dev/null and b/docs/source/scratch/media/1.10_camera3.png differ diff --git a/docs/source/scratch/media/1.10_camera4.png b/docs/source/scratch/media/1.10_camera4.png new file mode 100644 index 0000000..6391f8d Binary files /dev/null and b/docs/source/scratch/media/1.10_camera4.png differ diff --git a/docs/source/scratch/media/1.10_code1.png b/docs/source/scratch/media/1.10_code1.png new file mode 100644 index 0000000..f5034a7 Binary files /dev/null and b/docs/source/scratch/media/1.10_code1.png differ diff --git a/docs/source/scratch/media/1.10_fritzing_speaker.png b/docs/source/scratch/media/1.10_fritzing_speaker.png new file mode 100644 index 0000000..fad2c1c Binary files /dev/null and b/docs/source/scratch/media/1.10_fritzing_speaker.png differ diff --git a/docs/source/scratch/media/1.10_header.png b/docs/source/scratch/media/1.10_header.png new file mode 100644 index 0000000..62e22b4 Binary files /dev/null and b/docs/source/scratch/media/1.10_header.png differ diff --git a/docs/source/scratch/media/1.10_list.png b/docs/source/scratch/media/1.10_list.png new file mode 100644 index 0000000..d5b01be Binary files /dev/null and b/docs/source/scratch/media/1.10_list.png differ diff --git a/docs/source/scratch/media/1.10_scratch.png b/docs/source/scratch/media/1.10_scratch.png new file mode 100644 index 0000000..f1a2dc7 Binary files /dev/null and b/docs/source/scratch/media/1.10_scratch.png differ diff --git a/docs/source/scratch/media/1.10_scratch2.png b/docs/source/scratch/media/1.10_scratch2.png new file mode 100644 index 0000000..cd0a620 Binary files /dev/null and b/docs/source/scratch/media/1.10_scratch2.png differ diff --git a/docs/source/scratch/media/1.11_component.png b/docs/source/scratch/media/1.11_component.png new file mode 100644 index 0000000..c71ebbe Binary files /dev/null and b/docs/source/scratch/media/1.11_component.png differ diff --git a/docs/source/scratch/media/1.11_fritzing.png b/docs/source/scratch/media/1.11_fritzing.png new file mode 100644 index 0000000..7afb404 Binary files /dev/null and b/docs/source/scratch/media/1.11_fritzing.png differ diff --git a/docs/source/scratch/media/1.11_header.png b/docs/source/scratch/media/1.11_header.png new file mode 100644 index 0000000..9ed19cb Binary files /dev/null and b/docs/source/scratch/media/1.11_header.png differ diff --git a/docs/source/scratch/media/1.11_ir1.png b/docs/source/scratch/media/1.11_ir1.png new file mode 100644 index 0000000..f0bbd81 Binary files /dev/null and b/docs/source/scratch/media/1.11_ir1.png differ diff --git a/docs/source/scratch/media/1.11_ir2.png b/docs/source/scratch/media/1.11_ir2.png new file mode 100644 index 0000000..58e23da Binary files /dev/null and b/docs/source/scratch/media/1.11_ir2.png differ diff --git a/docs/source/scratch/media/1.11_ir3.png b/docs/source/scratch/media/1.11_ir3.png new file mode 100644 index 0000000..6bc1e21 Binary files /dev/null and b/docs/source/scratch/media/1.11_ir3.png differ diff --git a/docs/source/scratch/media/1.12_graph1.png b/docs/source/scratch/media/1.12_graph1.png new file mode 100644 index 0000000..addff5e Binary files /dev/null and b/docs/source/scratch/media/1.12_graph1.png differ diff --git a/docs/source/scratch/media/1.12_graph10.png b/docs/source/scratch/media/1.12_graph10.png new file mode 100644 index 0000000..8490af4 Binary files /dev/null and b/docs/source/scratch/media/1.12_graph10.png differ diff --git a/docs/source/scratch/media/1.12_graph2.png b/docs/source/scratch/media/1.12_graph2.png new file mode 100644 index 0000000..28fe344 Binary files /dev/null and b/docs/source/scratch/media/1.12_graph2.png differ diff --git a/docs/source/scratch/media/1.12_graph3.png b/docs/source/scratch/media/1.12_graph3.png new file mode 100644 index 0000000..4d51fa7 Binary files /dev/null and b/docs/source/scratch/media/1.12_graph3.png differ diff --git a/docs/source/scratch/media/1.12_graph4.png b/docs/source/scratch/media/1.12_graph4.png new file mode 100644 index 0000000..4c9b0c5 Binary files /dev/null and b/docs/source/scratch/media/1.12_graph4.png differ diff --git a/docs/source/scratch/media/1.12_graph6.png b/docs/source/scratch/media/1.12_graph6.png new file mode 100644 index 0000000..fb1cbcd Binary files /dev/null and b/docs/source/scratch/media/1.12_graph6.png differ diff --git a/docs/source/scratch/media/1.12_graph7.png b/docs/source/scratch/media/1.12_graph7.png new file mode 100644 index 0000000..6b83c66 Binary files /dev/null and b/docs/source/scratch/media/1.12_graph7.png differ diff --git a/docs/source/scratch/media/1.12_graph8.png b/docs/source/scratch/media/1.12_graph8.png new file mode 100644 index 0000000..6bb4633 Binary files /dev/null and b/docs/source/scratch/media/1.12_graph8.png differ diff --git a/docs/source/scratch/media/1.12_graph9.png b/docs/source/scratch/media/1.12_graph9.png new file mode 100644 index 0000000..997eb0f Binary files /dev/null and b/docs/source/scratch/media/1.12_graph9.png differ diff --git a/docs/source/scratch/media/1.12_header.png b/docs/source/scratch/media/1.12_header.png new file mode 100644 index 0000000..3cf182d Binary files /dev/null and b/docs/source/scratch/media/1.12_header.png differ diff --git a/docs/source/scratch/media/1.12_image66.png b/docs/source/scratch/media/1.12_image66.png new file mode 100644 index 0000000..9e924d8 Binary files /dev/null and b/docs/source/scratch/media/1.12_image66.png differ diff --git a/docs/source/scratch/media/1.12_list.png b/docs/source/scratch/media/1.12_list.png new file mode 100644 index 0000000..44ecfd9 Binary files /dev/null and b/docs/source/scratch/media/1.12_list.png differ diff --git a/docs/source/scratch/media/1.12_scratch_duplicate.png b/docs/source/scratch/media/1.12_scratch_duplicate.png new file mode 100644 index 0000000..365e122 Binary files /dev/null and b/docs/source/scratch/media/1.12_scratch_duplicate.png differ diff --git a/docs/source/scratch/media/1.13_buzzer4.png b/docs/source/scratch/media/1.13_buzzer4.png new file mode 100644 index 0000000..e506cf1 Binary files /dev/null and b/docs/source/scratch/media/1.13_buzzer4.png differ diff --git a/docs/source/scratch/media/1.13_buzzer5.png b/docs/source/scratch/media/1.13_buzzer5.png new file mode 100644 index 0000000..277ab8b Binary files /dev/null and b/docs/source/scratch/media/1.13_buzzer5.png differ diff --git a/docs/source/scratch/media/1.13_header.png b/docs/source/scratch/media/1.13_header.png new file mode 100644 index 0000000..c97d519 Binary files /dev/null and b/docs/source/scratch/media/1.13_header.png differ diff --git a/docs/source/scratch/media/1.13_image106.png b/docs/source/scratch/media/1.13_image106.png new file mode 100644 index 0000000..eab5c72 Binary files /dev/null and b/docs/source/scratch/media/1.13_image106.png differ diff --git a/docs/source/scratch/media/1.13_list.png b/docs/source/scratch/media/1.13_list.png new file mode 100644 index 0000000..33a45d3 Binary files /dev/null and b/docs/source/scratch/media/1.13_list.png differ diff --git a/docs/source/scratch/media/1.13_scratch_button3.png b/docs/source/scratch/media/1.13_scratch_button3.png new file mode 100644 index 0000000..3ab0f85 Binary files /dev/null and b/docs/source/scratch/media/1.13_scratch_button3.png differ diff --git a/docs/source/scratch/media/1.13_scratch_button3_size.png b/docs/source/scratch/media/1.13_scratch_button3_size.png new file mode 100644 index 0000000..4133a07 Binary files /dev/null and b/docs/source/scratch/media/1.13_scratch_button3_size.png differ diff --git a/docs/source/scratch/media/1.13_scratch_code.png b/docs/source/scratch/media/1.13_scratch_code.png new file mode 100644 index 0000000..94ad133 Binary files /dev/null and b/docs/source/scratch/media/1.13_scratch_code.png differ diff --git a/docs/source/scratch/media/1.14_component.png b/docs/source/scratch/media/1.14_component.png new file mode 100644 index 0000000..423b4c4 Binary files /dev/null and b/docs/source/scratch/media/1.14_component.png differ diff --git a/docs/source/scratch/media/1.14_fritzing.png b/docs/source/scratch/media/1.14_fritzing.png new file mode 100644 index 0000000..df4ce9e Binary files /dev/null and b/docs/source/scratch/media/1.14_fritzing.png differ diff --git a/docs/source/scratch/media/1.14_header.png b/docs/source/scratch/media/1.14_header.png new file mode 100644 index 0000000..dee779a Binary files /dev/null and b/docs/source/scratch/media/1.14_header.png differ diff --git a/docs/source/scratch/media/1.14_wooden1.png b/docs/source/scratch/media/1.14_wooden1.png new file mode 100644 index 0000000..4a86566 Binary files /dev/null and b/docs/source/scratch/media/1.14_wooden1.png differ diff --git a/docs/source/scratch/media/1.14_wooden2.png b/docs/source/scratch/media/1.14_wooden2.png new file mode 100644 index 0000000..4228635 Binary files /dev/null and b/docs/source/scratch/media/1.14_wooden2.png differ diff --git a/docs/source/scratch/media/1.14_wooden3.png b/docs/source/scratch/media/1.14_wooden3.png new file mode 100644 index 0000000..35172d9 Binary files /dev/null and b/docs/source/scratch/media/1.14_wooden3.png differ diff --git a/docs/source/scratch/media/1.14_wooden4.png b/docs/source/scratch/media/1.14_wooden4.png new file mode 100644 index 0000000..ad5f995 Binary files /dev/null and b/docs/source/scratch/media/1.14_wooden4.png differ diff --git a/docs/source/scratch/media/1.14_wooden5.png b/docs/source/scratch/media/1.14_wooden5.png new file mode 100644 index 0000000..4f5411a Binary files /dev/null and b/docs/source/scratch/media/1.14_wooden5.png differ diff --git a/docs/source/scratch/media/1.14_wooden6.png b/docs/source/scratch/media/1.14_wooden6.png new file mode 100644 index 0000000..6b9d9b5 Binary files /dev/null and b/docs/source/scratch/media/1.14_wooden6.png differ diff --git a/docs/source/scratch/media/1.15_component.png b/docs/source/scratch/media/1.15_component.png new file mode 100644 index 0000000..c0982fe Binary files /dev/null and b/docs/source/scratch/media/1.15_component.png differ diff --git a/docs/source/scratch/media/1.15_header.png b/docs/source/scratch/media/1.15_header.png new file mode 100644 index 0000000..85c1512 Binary files /dev/null and b/docs/source/scratch/media/1.15_header.png differ diff --git a/docs/source/scratch/media/1.15_scratch_fritzing.png b/docs/source/scratch/media/1.15_scratch_fritzing.png new file mode 100644 index 0000000..6cbd9f8 Binary files /dev/null and b/docs/source/scratch/media/1.15_scratch_fritzing.png differ diff --git a/docs/source/scratch/media/1.15_slide1.png b/docs/source/scratch/media/1.15_slide1.png new file mode 100644 index 0000000..ec1f55f Binary files /dev/null and b/docs/source/scratch/media/1.15_slide1.png differ diff --git a/docs/source/scratch/media/1.15_slide2.png b/docs/source/scratch/media/1.15_slide2.png new file mode 100644 index 0000000..2193f25 Binary files /dev/null and b/docs/source/scratch/media/1.15_slide2.png differ diff --git a/docs/source/scratch/media/1.15_slide3.png b/docs/source/scratch/media/1.15_slide3.png new file mode 100644 index 0000000..05e82e9 Binary files /dev/null and b/docs/source/scratch/media/1.15_slide3.png differ diff --git a/docs/source/scratch/media/1.15_slide4.png b/docs/source/scratch/media/1.15_slide4.png new file mode 100644 index 0000000..6290fd8 Binary files /dev/null and b/docs/source/scratch/media/1.15_slide4.png differ diff --git a/docs/source/scratch/media/1.15_slide5.png b/docs/source/scratch/media/1.15_slide5.png new file mode 100644 index 0000000..fa91fbf Binary files /dev/null and b/docs/source/scratch/media/1.15_slide5.png differ diff --git a/docs/source/scratch/media/1.15_slide6.png b/docs/source/scratch/media/1.15_slide6.png new file mode 100644 index 0000000..8111eba Binary files /dev/null and b/docs/source/scratch/media/1.15_slide6.png differ diff --git a/docs/source/scratch/media/1.15_slide7.png b/docs/source/scratch/media/1.15_slide7.png new file mode 100644 index 0000000..7ceab5c Binary files /dev/null and b/docs/source/scratch/media/1.15_slide7.png differ diff --git a/docs/source/scratch/media/1.15_slide8.png b/docs/source/scratch/media/1.15_slide8.png new file mode 100644 index 0000000..49ece43 Binary files /dev/null and b/docs/source/scratch/media/1.15_slide8.png differ diff --git a/docs/source/scratch/media/1.16_component.png b/docs/source/scratch/media/1.16_component.png new file mode 100644 index 0000000..282b4dc Binary files /dev/null and b/docs/source/scratch/media/1.16_component.png differ diff --git a/docs/source/scratch/media/1.16_fish2.png b/docs/source/scratch/media/1.16_fish2.png new file mode 100644 index 0000000..6aa7e67 Binary files /dev/null and b/docs/source/scratch/media/1.16_fish2.png differ diff --git a/docs/source/scratch/media/1.16_fish3.png b/docs/source/scratch/media/1.16_fish3.png new file mode 100644 index 0000000..fed27f9 Binary files /dev/null and b/docs/source/scratch/media/1.16_fish3.png differ diff --git a/docs/source/scratch/media/1.16_fish4.png b/docs/source/scratch/media/1.16_fish4.png new file mode 100644 index 0000000..d2e746f Binary files /dev/null and b/docs/source/scratch/media/1.16_fish4.png differ diff --git a/docs/source/scratch/media/1.16_fish5.png b/docs/source/scratch/media/1.16_fish5.png new file mode 100644 index 0000000..20df3c7 Binary files /dev/null and b/docs/source/scratch/media/1.16_fish5.png differ diff --git a/docs/source/scratch/media/1.16_fish6.png b/docs/source/scratch/media/1.16_fish6.png new file mode 100644 index 0000000..0cfc7fe Binary files /dev/null and b/docs/source/scratch/media/1.16_fish6.png differ diff --git a/docs/source/scratch/media/1.16_fritzing.png b/docs/source/scratch/media/1.16_fritzing.png new file mode 100644 index 0000000..3640f6d Binary files /dev/null and b/docs/source/scratch/media/1.16_fritzing.png differ diff --git a/docs/source/scratch/media/1.16_header.png b/docs/source/scratch/media/1.16_header.png new file mode 100644 index 0000000..4d91ac7 Binary files /dev/null and b/docs/source/scratch/media/1.16_header.png differ diff --git a/docs/source/scratch/media/1.16_upload_fish.png b/docs/source/scratch/media/1.16_upload_fish.png new file mode 100644 index 0000000..c44d6aa Binary files /dev/null and b/docs/source/scratch/media/1.16_upload_fish.png differ diff --git a/docs/source/scratch/media/1.17_header.png b/docs/source/scratch/media/1.17_header.png new file mode 100644 index 0000000..03bd460 Binary files /dev/null and b/docs/source/scratch/media/1.17_header.png differ diff --git a/docs/source/scratch/media/1.17_image117.png b/docs/source/scratch/media/1.17_image117.png new file mode 100644 index 0000000..c10aa96 Binary files /dev/null and b/docs/source/scratch/media/1.17_image117.png differ diff --git a/docs/source/scratch/media/1.17_list.png b/docs/source/scratch/media/1.17_list.png new file mode 100644 index 0000000..6fa2160 Binary files /dev/null and b/docs/source/scratch/media/1.17_list.png differ diff --git a/docs/source/scratch/media/1.17_motor1.png b/docs/source/scratch/media/1.17_motor1.png new file mode 100644 index 0000000..97c5483 Binary files /dev/null and b/docs/source/scratch/media/1.17_motor1.png differ diff --git a/docs/source/scratch/media/1.17_motor11.png b/docs/source/scratch/media/1.17_motor11.png new file mode 100644 index 0000000..86998a1 Binary files /dev/null and b/docs/source/scratch/media/1.17_motor11.png differ diff --git a/docs/source/scratch/media/1.17_motor12.png b/docs/source/scratch/media/1.17_motor12.png new file mode 100644 index 0000000..9bce346 Binary files /dev/null and b/docs/source/scratch/media/1.17_motor12.png differ diff --git a/docs/source/scratch/media/1.17_motor2.png b/docs/source/scratch/media/1.17_motor2.png new file mode 100644 index 0000000..28fe344 Binary files /dev/null and b/docs/source/scratch/media/1.17_motor2.png differ diff --git a/docs/source/scratch/media/1.17_motor3.png b/docs/source/scratch/media/1.17_motor3.png new file mode 100644 index 0000000..38290d7 Binary files /dev/null and b/docs/source/scratch/media/1.17_motor3.png differ diff --git a/docs/source/scratch/media/1.17_motor4.png b/docs/source/scratch/media/1.17_motor4.png new file mode 100644 index 0000000..4f60ea2 Binary files /dev/null and b/docs/source/scratch/media/1.17_motor4.png differ diff --git a/docs/source/scratch/media/1.17_motor5.png b/docs/source/scratch/media/1.17_motor5.png new file mode 100644 index 0000000..4ce8a0e Binary files /dev/null and b/docs/source/scratch/media/1.17_motor5.png differ diff --git a/docs/source/scratch/media/1.17_motor6.png b/docs/source/scratch/media/1.17_motor6.png new file mode 100644 index 0000000..2711e26 Binary files /dev/null and b/docs/source/scratch/media/1.17_motor6.png differ diff --git a/docs/source/scratch/media/1.17_new_block.png b/docs/source/scratch/media/1.17_new_block.png new file mode 100644 index 0000000..6c72195 Binary files /dev/null and b/docs/source/scratch/media/1.17_new_block.png differ diff --git a/docs/source/scratch/media/1.17_scratch.png b/docs/source/scratch/media/1.17_scratch.png new file mode 100644 index 0000000..bbc9a93 Binary files /dev/null and b/docs/source/scratch/media/1.17_scratch.png differ diff --git a/docs/source/scratch/media/1.18_code1.png b/docs/source/scratch/media/1.18_code1.png new file mode 100644 index 0000000..efc779c Binary files /dev/null and b/docs/source/scratch/media/1.18_code1.png differ diff --git a/docs/source/scratch/media/1.18_code2.png b/docs/source/scratch/media/1.18_code2.png new file mode 100644 index 0000000..74202d3 Binary files /dev/null and b/docs/source/scratch/media/1.18_code2.png differ diff --git a/docs/source/scratch/media/1.18_code3.png b/docs/source/scratch/media/1.18_code3.png new file mode 100644 index 0000000..d75b715 Binary files /dev/null and b/docs/source/scratch/media/1.18_code3.png differ diff --git a/docs/source/scratch/media/1.18_code4.png b/docs/source/scratch/media/1.18_code4.png new file mode 100644 index 0000000..f8e1053 Binary files /dev/null and b/docs/source/scratch/media/1.18_code4.png differ diff --git a/docs/source/scratch/media/1.18_header.png b/docs/source/scratch/media/1.18_header.png new file mode 100644 index 0000000..a750eb3 Binary files /dev/null and b/docs/source/scratch/media/1.18_header.png differ diff --git a/docs/source/scratch/media/1.18_photo1.png b/docs/source/scratch/media/1.18_photo1.png new file mode 100644 index 0000000..f486734 Binary files /dev/null and b/docs/source/scratch/media/1.18_photo1.png differ diff --git a/docs/source/scratch/media/1.1_LED1.png b/docs/source/scratch/media/1.1_LED1.png new file mode 100644 index 0000000..8e098c0 Binary files /dev/null and b/docs/source/scratch/media/1.1_LED1.png differ diff --git a/docs/source/scratch/media/1.1_LED2.png b/docs/source/scratch/media/1.1_LED2.png new file mode 100644 index 0000000..72eb410 Binary files /dev/null and b/docs/source/scratch/media/1.1_LED2.png differ diff --git a/docs/source/scratch/media/1.1_LED3.png b/docs/source/scratch/media/1.1_LED3.png new file mode 100644 index 0000000..6bef471 Binary files /dev/null and b/docs/source/scratch/media/1.1_LED3.png differ diff --git a/docs/source/scratch/media/1.1_LED4.png b/docs/source/scratch/media/1.1_LED4.png new file mode 100644 index 0000000..9cc95f5 Binary files /dev/null and b/docs/source/scratch/media/1.1_LED4.png differ diff --git a/docs/source/scratch/media/1.1_delete.png b/docs/source/scratch/media/1.1_delete.png new file mode 100644 index 0000000..9d4e519 Binary files /dev/null and b/docs/source/scratch/media/1.1_delete.png differ diff --git a/docs/source/scratch/media/1.1_events.png b/docs/source/scratch/media/1.1_events.png new file mode 100644 index 0000000..137bcc1 Binary files /dev/null and b/docs/source/scratch/media/1.1_events.png differ diff --git a/docs/source/scratch/media/1.1_header.png b/docs/source/scratch/media/1.1_header.png new file mode 100644 index 0000000..5b30382 Binary files /dev/null and b/docs/source/scratch/media/1.1_header.png differ diff --git a/docs/source/scratch/media/1.1_image49.png b/docs/source/scratch/media/1.1_image49.png new file mode 100644 index 0000000..2527c11 Binary files /dev/null and b/docs/source/scratch/media/1.1_image49.png differ diff --git a/docs/source/scratch/media/1.1_list.png b/docs/source/scratch/media/1.1_list.png new file mode 100644 index 0000000..80f9df7 Binary files /dev/null and b/docs/source/scratch/media/1.1_list.png differ diff --git a/docs/source/scratch/media/1.1_scratch_step1.png b/docs/source/scratch/media/1.1_scratch_step1.png new file mode 100644 index 0000000..c1bc4a0 Binary files /dev/null and b/docs/source/scratch/media/1.1_scratch_step1.png differ diff --git a/docs/source/scratch/media/1.1_scratch_step2.png b/docs/source/scratch/media/1.1_scratch_step2.png new file mode 100644 index 0000000..654ec1f Binary files /dev/null and b/docs/source/scratch/media/1.1_scratch_step2.png differ diff --git a/docs/source/scratch/media/1.1_scratchled1.png b/docs/source/scratch/media/1.1_scratchled1.png new file mode 100644 index 0000000..9dc4bc6 Binary files /dev/null and b/docs/source/scratch/media/1.1_scratchled1.png differ diff --git a/docs/source/scratch/media/1.1_scratchled2.png b/docs/source/scratch/media/1.1_scratchled2.png new file mode 100644 index 0000000..bd3af13 Binary files /dev/null and b/docs/source/scratch/media/1.1_scratchled2.png differ diff --git a/docs/source/scratch/media/1.1_scratchled3.png b/docs/source/scratch/media/1.1_scratchled3.png new file mode 100644 index 0000000..bc2269e Binary files /dev/null and b/docs/source/scratch/media/1.1_scratchled3.png differ diff --git a/docs/source/scratch/media/1.1_step3.png b/docs/source/scratch/media/1.1_step3.png new file mode 100644 index 0000000..01f59d8 Binary files /dev/null and b/docs/source/scratch/media/1.1_step3.png differ diff --git a/docs/source/scratch/media/1.1_upload.png b/docs/source/scratch/media/1.1_upload.png new file mode 100644 index 0000000..9ffda55 Binary files /dev/null and b/docs/source/scratch/media/1.1_upload.png differ diff --git a/docs/source/scratch/media/1.1_upload_sprite.png b/docs/source/scratch/media/1.1_upload_sprite.png new file mode 100644 index 0000000..179a06e Binary files /dev/null and b/docs/source/scratch/media/1.1_upload_sprite.png differ diff --git a/docs/source/scratch/media/1.2_ball.png b/docs/source/scratch/media/1.2_ball.png new file mode 100644 index 0000000..30818f3 Binary files /dev/null and b/docs/source/scratch/media/1.2_ball.png differ diff --git a/docs/source/scratch/media/1.2_duplicate_ball.png b/docs/source/scratch/media/1.2_duplicate_ball.png new file mode 100644 index 0000000..afcaf61 Binary files /dev/null and b/docs/source/scratch/media/1.2_duplicate_ball.png differ diff --git a/docs/source/scratch/media/1.2_header.png b/docs/source/scratch/media/1.2_header.png new file mode 100644 index 0000000..2cc6b80 Binary files /dev/null and b/docs/source/scratch/media/1.2_header.png differ diff --git a/docs/source/scratch/media/1.2_image61.png b/docs/source/scratch/media/1.2_image61.png new file mode 100644 index 0000000..a4edab4 Binary files /dev/null and b/docs/source/scratch/media/1.2_image61.png differ diff --git a/docs/source/scratch/media/1.2_list.png b/docs/source/scratch/media/1.2_list.png new file mode 100644 index 0000000..fdbdc4e Binary files /dev/null and b/docs/source/scratch/media/1.2_list.png differ diff --git a/docs/source/scratch/media/1.2_rgb1.png b/docs/source/scratch/media/1.2_rgb1.png new file mode 100644 index 0000000..fb64564 Binary files /dev/null and b/docs/source/scratch/media/1.2_rgb1.png differ diff --git a/docs/source/scratch/media/1.2_rgb3.png b/docs/source/scratch/media/1.2_rgb3.png new file mode 100644 index 0000000..6ae7726 Binary files /dev/null and b/docs/source/scratch/media/1.2_rgb3.png differ diff --git a/docs/source/scratch/media/1.2_rgb_addition.png b/docs/source/scratch/media/1.2_rgb_addition.png new file mode 100644 index 0000000..0f02b67 Binary files /dev/null and b/docs/source/scratch/media/1.2_rgb_addition.png differ diff --git a/docs/source/scratch/media/1.3_add_tumbler.png b/docs/source/scratch/media/1.3_add_tumbler.png new file mode 100644 index 0000000..09ce5c7 Binary files /dev/null and b/docs/source/scratch/media/1.3_add_tumbler.png differ diff --git a/docs/source/scratch/media/1.3_component.png b/docs/source/scratch/media/1.3_component.png new file mode 100644 index 0000000..282b4dc Binary files /dev/null and b/docs/source/scratch/media/1.3_component.png differ diff --git a/docs/source/scratch/media/1.3_fritzing.png b/docs/source/scratch/media/1.3_fritzing.png new file mode 100644 index 0000000..3640f6d Binary files /dev/null and b/docs/source/scratch/media/1.3_fritzing.png differ diff --git a/docs/source/scratch/media/1.3_header.png b/docs/source/scratch/media/1.3_header.png new file mode 100644 index 0000000..9d9a1ea Binary files /dev/null and b/docs/source/scratch/media/1.3_header.png differ diff --git a/docs/source/scratch/media/1.3_title2.png b/docs/source/scratch/media/1.3_title2.png new file mode 100644 index 0000000..1e22de1 Binary files /dev/null and b/docs/source/scratch/media/1.3_title2.png differ diff --git a/docs/source/scratch/media/1.3_title3.png b/docs/source/scratch/media/1.3_title3.png new file mode 100644 index 0000000..86c1010 Binary files /dev/null and b/docs/source/scratch/media/1.3_title3.png differ diff --git a/docs/source/scratch/media/1.3_title4.png b/docs/source/scratch/media/1.3_title4.png new file mode 100644 index 0000000..87f90f7 Binary files /dev/null and b/docs/source/scratch/media/1.3_title4.png differ diff --git a/docs/source/scratch/media/1.4_button1.png b/docs/source/scratch/media/1.4_button1.png new file mode 100644 index 0000000..633240b Binary files /dev/null and b/docs/source/scratch/media/1.4_button1.png differ diff --git a/docs/source/scratch/media/1.4_button2.png b/docs/source/scratch/media/1.4_button2.png new file mode 100644 index 0000000..8df5770 Binary files /dev/null and b/docs/source/scratch/media/1.4_button2.png differ diff --git a/docs/source/scratch/media/1.4_button3.png b/docs/source/scratch/media/1.4_button3.png new file mode 100644 index 0000000..e6749a8 Binary files /dev/null and b/docs/source/scratch/media/1.4_button3.png differ diff --git a/docs/source/scratch/media/1.4_button4.png b/docs/source/scratch/media/1.4_button4.png new file mode 100644 index 0000000..4770c81 Binary files /dev/null and b/docs/source/scratch/media/1.4_button4.png differ diff --git a/docs/source/scratch/media/1.4_button5.png b/docs/source/scratch/media/1.4_button5.png new file mode 100644 index 0000000..cc00437 Binary files /dev/null and b/docs/source/scratch/media/1.4_button5.png differ diff --git a/docs/source/scratch/media/1.4_button6.png b/docs/source/scratch/media/1.4_button6.png new file mode 100644 index 0000000..4c153d9 Binary files /dev/null and b/docs/source/scratch/media/1.4_button6.png differ diff --git a/docs/source/scratch/media/1.4_header.png b/docs/source/scratch/media/1.4_header.png new file mode 100644 index 0000000..2edd8cf Binary files /dev/null and b/docs/source/scratch/media/1.4_header.png differ diff --git a/docs/source/scratch/media/1.4_list.png b/docs/source/scratch/media/1.4_list.png new file mode 100644 index 0000000..b7c0b00 Binary files /dev/null and b/docs/source/scratch/media/1.4_list.png differ diff --git a/docs/source/scratch/media/1.4_scratch_button.png b/docs/source/scratch/media/1.4_scratch_button.png new file mode 100644 index 0000000..ef59eb8 Binary files /dev/null and b/docs/source/scratch/media/1.4_scratch_button.png differ diff --git a/docs/source/scratch/media/1.5_component.png b/docs/source/scratch/media/1.5_component.png new file mode 100644 index 0000000..19b6304 Binary files /dev/null and b/docs/source/scratch/media/1.5_component.png differ diff --git a/docs/source/scratch/media/1.5_fritzing.png b/docs/source/scratch/media/1.5_fritzing.png new file mode 100644 index 0000000..26d239b Binary files /dev/null and b/docs/source/scratch/media/1.5_fritzing.png differ diff --git a/docs/source/scratch/media/1.5_header.png b/docs/source/scratch/media/1.5_header.png new file mode 100644 index 0000000..955f724 Binary files /dev/null and b/docs/source/scratch/media/1.5_header.png differ diff --git a/docs/source/scratch/media/1.5_owl1.png b/docs/source/scratch/media/1.5_owl1.png new file mode 100644 index 0000000..9a1be32 Binary files /dev/null and b/docs/source/scratch/media/1.5_owl1.png differ diff --git a/docs/source/scratch/media/1.5_owl2.png b/docs/source/scratch/media/1.5_owl2.png new file mode 100644 index 0000000..d8a1460 Binary files /dev/null and b/docs/source/scratch/media/1.5_owl2.png differ diff --git a/docs/source/scratch/media/1.5_pir1.png b/docs/source/scratch/media/1.5_pir1.png new file mode 100644 index 0000000..cef4705 Binary files /dev/null and b/docs/source/scratch/media/1.5_pir1.png differ diff --git a/docs/source/scratch/media/1.6_component.png b/docs/source/scratch/media/1.6_component.png new file mode 100644 index 0000000..c91f61a Binary files /dev/null and b/docs/source/scratch/media/1.6_component.png differ diff --git a/docs/source/scratch/media/1.6_fritzing.png b/docs/source/scratch/media/1.6_fritzing.png new file mode 100644 index 0000000..d604cbf Binary files /dev/null and b/docs/source/scratch/media/1.6_fritzing.png differ diff --git a/docs/source/scratch/media/1.6_header.png b/docs/source/scratch/media/1.6_header.png new file mode 100644 index 0000000..fd61003 Binary files /dev/null and b/docs/source/scratch/media/1.6_header.png differ diff --git a/docs/source/scratch/media/1.6_reed2.png b/docs/source/scratch/media/1.6_reed2.png new file mode 100644 index 0000000..3c3e20c Binary files /dev/null and b/docs/source/scratch/media/1.6_reed2.png differ diff --git a/docs/source/scratch/media/1.6_reed3.png b/docs/source/scratch/media/1.6_reed3.png new file mode 100644 index 0000000..0296148 Binary files /dev/null and b/docs/source/scratch/media/1.6_reed3.png differ diff --git a/docs/source/scratch/media/1.6_vase.png b/docs/source/scratch/media/1.6_vase.png new file mode 100644 index 0000000..79f4aa7 Binary files /dev/null and b/docs/source/scratch/media/1.6_vase.png differ diff --git a/docs/source/scratch/media/1.7_code2.png b/docs/source/scratch/media/1.7_code2.png new file mode 100644 index 0000000..efa393c Binary files /dev/null and b/docs/source/scratch/media/1.7_code2.png differ diff --git a/docs/source/scratch/media/1.7_code3.png b/docs/source/scratch/media/1.7_code3.png new file mode 100644 index 0000000..8b81abb Binary files /dev/null and b/docs/source/scratch/media/1.7_code3.png differ diff --git a/docs/source/scratch/media/1.7_component.png b/docs/source/scratch/media/1.7_component.png new file mode 100644 index 0000000..f975977 Binary files /dev/null and b/docs/source/scratch/media/1.7_component.png differ diff --git a/docs/source/scratch/media/1.7_fritzing.png b/docs/source/scratch/media/1.7_fritzing.png new file mode 100644 index 0000000..a6bc377 Binary files /dev/null and b/docs/source/scratch/media/1.7_fritzing.png differ diff --git a/docs/source/scratch/media/1.7_header.png b/docs/source/scratch/media/1.7_header.png new file mode 100644 index 0000000..1cde6df Binary files /dev/null and b/docs/source/scratch/media/1.7_header.png differ diff --git a/docs/source/scratch/media/1.7_photoInterrupter1.png b/docs/source/scratch/media/1.7_photoInterrupter1.png new file mode 100644 index 0000000..e0fe15a Binary files /dev/null and b/docs/source/scratch/media/1.7_photoInterrupter1.png differ diff --git a/docs/source/scratch/media/1.8_component.png b/docs/source/scratch/media/1.8_component.png new file mode 100644 index 0000000..1e0b70a Binary files /dev/null and b/docs/source/scratch/media/1.8_component.png differ diff --git a/docs/source/scratch/media/1.8_fritzing.png b/docs/source/scratch/media/1.8_fritzing.png new file mode 100644 index 0000000..46671fb Binary files /dev/null and b/docs/source/scratch/media/1.8_fritzing.png differ diff --git a/docs/source/scratch/media/1.8_header.png b/docs/source/scratch/media/1.8_header.png new file mode 100644 index 0000000..98031f2 Binary files /dev/null and b/docs/source/scratch/media/1.8_header.png differ diff --git a/docs/source/scratch/media/1.8_travel1.png b/docs/source/scratch/media/1.8_travel1.png new file mode 100644 index 0000000..2d7160d Binary files /dev/null and b/docs/source/scratch/media/1.8_travel1.png differ diff --git a/docs/source/scratch/media/1.8_travel2.png b/docs/source/scratch/media/1.8_travel2.png new file mode 100644 index 0000000..2f55360 Binary files /dev/null and b/docs/source/scratch/media/1.8_travel2.png differ diff --git a/docs/source/scratch/media/1.8_travel3.png b/docs/source/scratch/media/1.8_travel3.png new file mode 100644 index 0000000..e810a71 Binary files /dev/null and b/docs/source/scratch/media/1.8_travel3.png differ diff --git a/docs/source/scratch/media/1.8_travel4.png b/docs/source/scratch/media/1.8_travel4.png new file mode 100644 index 0000000..0da8653 Binary files /dev/null and b/docs/source/scratch/media/1.8_travel4.png differ diff --git a/docs/source/scratch/media/1.9_component.png b/docs/source/scratch/media/1.9_component.png new file mode 100644 index 0000000..929efeb Binary files /dev/null and b/docs/source/scratch/media/1.9_component.png differ diff --git a/docs/source/scratch/media/1.9_fritzing.png b/docs/source/scratch/media/1.9_fritzing.png new file mode 100644 index 0000000..cd3aab9 Binary files /dev/null and b/docs/source/scratch/media/1.9_fritzing.png differ diff --git a/docs/source/scratch/media/1.9_header.png b/docs/source/scratch/media/1.9_header.png new file mode 100644 index 0000000..194d7d9 Binary files /dev/null and b/docs/source/scratch/media/1.9_header.png differ diff --git a/docs/source/scratch/media/1.9_touch1.png b/docs/source/scratch/media/1.9_touch1.png new file mode 100644 index 0000000..d54ef8e Binary files /dev/null and b/docs/source/scratch/media/1.9_touch1.png differ diff --git a/docs/source/scratch/media/1.9_touch2.png b/docs/source/scratch/media/1.9_touch2.png new file mode 100644 index 0000000..4e9b252 Binary files /dev/null and b/docs/source/scratch/media/1.9_touch2.png differ diff --git a/docs/source/scratch/media/1.9_touch3.png b/docs/source/scratch/media/1.9_touch3.png new file mode 100644 index 0000000..916e4e7 Binary files /dev/null and b/docs/source/scratch/media/1.9_touch3.png differ diff --git a/docs/source/scratch/media/1.9_touch4.png b/docs/source/scratch/media/1.9_touch4.png new file mode 100644 index 0000000..3e259b2 Binary files /dev/null and b/docs/source/scratch/media/1.9_touch4.png differ diff --git a/docs/source/scratch/media/connect_ffc.png b/docs/source/scratch/media/connect_ffc.png new file mode 100644 index 0000000..f11bdfa Binary files /dev/null and b/docs/source/scratch/media/connect_ffc.png differ diff --git a/docs/source/scratch/media/quick_scratch1.png b/docs/source/scratch/media/quick_scratch1.png new file mode 100644 index 0000000..def4564 Binary files /dev/null and b/docs/source/scratch/media/quick_scratch1.png differ diff --git a/docs/source/scratch/media/quick_scratch10.png b/docs/source/scratch/media/quick_scratch10.png new file mode 100644 index 0000000..a2defe6 Binary files /dev/null and b/docs/source/scratch/media/quick_scratch10.png differ diff --git a/docs/source/scratch/media/quick_scratch11.png b/docs/source/scratch/media/quick_scratch11.png new file mode 100644 index 0000000..bdfaedb Binary files /dev/null and b/docs/source/scratch/media/quick_scratch11.png differ diff --git a/docs/source/scratch/media/quick_scratch13.png b/docs/source/scratch/media/quick_scratch13.png new file mode 100644 index 0000000..9ed45d2 Binary files /dev/null and b/docs/source/scratch/media/quick_scratch13.png differ diff --git a/docs/source/scratch/media/quick_scratch2.png b/docs/source/scratch/media/quick_scratch2.png new file mode 100644 index 0000000..5413101 Binary files /dev/null and b/docs/source/scratch/media/quick_scratch2.png differ diff --git a/docs/source/scratch/media/quick_scratch3.png b/docs/source/scratch/media/quick_scratch3.png new file mode 100644 index 0000000..63376a6 Binary files /dev/null and b/docs/source/scratch/media/quick_scratch3.png differ diff --git a/docs/source/scratch/media/quick_scratch4.png b/docs/source/scratch/media/quick_scratch4.png new file mode 100644 index 0000000..01042eb Binary files /dev/null and b/docs/source/scratch/media/quick_scratch4.png differ diff --git a/docs/source/scratch/media/quick_scratch5.png b/docs/source/scratch/media/quick_scratch5.png new file mode 100644 index 0000000..4a51ff2 Binary files /dev/null and b/docs/source/scratch/media/quick_scratch5.png differ diff --git a/docs/source/scratch/media/quick_scratch6.png b/docs/source/scratch/media/quick_scratch6.png new file mode 100644 index 0000000..f6f4efb Binary files /dev/null and b/docs/source/scratch/media/quick_scratch6.png differ diff --git a/docs/source/scratch/media/quick_scratch7.png b/docs/source/scratch/media/quick_scratch7.png new file mode 100644 index 0000000..6f49e4e Binary files /dev/null and b/docs/source/scratch/media/quick_scratch7.png differ diff --git a/docs/source/scratch/media/quick_scratch8.png b/docs/source/scratch/media/quick_scratch8.png new file mode 100644 index 0000000..50ae0c0 Binary files /dev/null and b/docs/source/scratch/media/quick_scratch8.png differ diff --git a/docs/source/scratch/media/quick_scratch9.png b/docs/source/scratch/media/quick_scratch9.png new file mode 100644 index 0000000..ab344fd Binary files /dev/null and b/docs/source/scratch/media/quick_scratch9.png differ diff --git a/docs/source/scratch/play_with_scratch.rst b/docs/source/scratch/play_with_scratch.rst new file mode 100644 index 0000000..35327e1 --- /dev/null +++ b/docs/source/scratch/play_with_scratch.rst @@ -0,0 +1,15 @@ +Scratch で遊ぶ +==================== + +Scratchは、コーディングの教育ツールとして主に8〜16歳の子供を対象としたブロックベースのビジュアルプログラミング言語およびWebサイトです。 サイトのユーザーは、ブロックのようなインターフェイスを使用してWeb上にプロジェクトを作成できます。 このサービスはMITメディアラボによって開発され、70以上の言語に翻訳されており、世界のほとんどの地域で使用されています。 + +ここでは、RaspberryPiでScratch3を使用し、オンラインScratchでは不可能なScratchでRaspberry Pi GPIOにアクセスする方法を学習します。 + + +.. toctree:: + :maxdepth: 2 + + quick_quide_on_scratch + scratch_project + + diff --git a/docs/source/scratch/quick_quide_on_scratch.rst b/docs/source/scratch/quick_quide_on_scratch.rst new file mode 100644 index 0000000..7cfa91a --- /dev/null +++ b/docs/source/scratch/quick_quide_on_scratch.rst @@ -0,0 +1,108 @@ +Scratchに関するクイックガイド +============================= + +.. note:: + + Scratch 3でプログラミングする場合、より良いエクスペリエンスのために画面が必要になる場合があります。 もちろん、画面がない場合は、リモートで Raspberry Pi デスクトップにアクセスすることもできます。詳細なチュートリアルについては、 :ref:`set_up_raspberrypi` を参照してください。 + +さらに、Scratch3を実行するには少なくとも1GBのRAMが必要です。 +少なくとも2GBのRAMを搭載したRaspberry Pi 4をお勧めします。 +Scratch3はRaspberry Pi 2、3、3B +、または1GBRAMのRaspberry 4で実行できますが、これらのモデルのパフォーマンスは低になります。 +その同時に、実行する他のソフトウェアの影響を受けて、メモリ不足が起こり、Scratch3が起動しない場合があります。 + +Scratch3をインストールする +----------------------------- + +:ref:`install_os` ときは、デスクトップ付きのバージョンを選択する必要があります。 +デスクトップのみ、またはデスクトップと推奨ソフトウェア付きのも問題ありません。 + +推奨ソフトウェアを使用してバージョンをインストールすると、 **Programming** のシステムメニューにScratch 3が表示されます。 + +デスクトップのみのバージョンをインストールした場合は、以下に説明するように、Scratchを手動でインストールする必要があります。 + +メニューを開き、 **Preferences** -> **Recommended Software** をクリックします。 + +.. image:: media/quick_scratch1.png + + +Scratch 3を見つけて確認し、 **Apply** をクリックして、最後にインストールが完了するのを待ちます。 + +.. image:: media/quick_scratch2.png + + +インストールが完了すると、システムメニューの **Programming** に表示されます。 + +.. image:: media/quick_scratch3.png + + +Scratch3のインターフェースについて +------------------------------------ + +Scratch 3は、楽しく、教育的で、簡単に習得できるように設計されています。 +ブロックベースのプログラミングを使用して、インタラクティブなストーリー、ゲーム、アート、 +シミュレーションなどを作成するためのツールがあります。 +Scratchには、独自のペイントエディタとサウンドエディタも組み込まれています。 + +スクラッチ3の上部にはいくつかの基本的なオプションがあり、左から右への最初のオプションは言語オプションです。 +プログラミング用にさまざまな言語を選択できます。 2つ目は File オプションです。 +このオプションを使用すると、新しいファイルを作成したり、ローカルファイルを読み取ったり、現在のファイルを保存したりできます。 +3つ目は、Edit オプションです。これを使用すると、一部の削除操作を再開して、加速モード(spritesの動きが特に速くなる)を有効にできます。 +4つ目は、Tutorials オプションです。これを使用すると、一部のプロジェクトのチュートリアルを表示できます。 +5つ目は、プロジェクトの名前を変更できるファイル名付けオプションです。 + +.. image:: media/quick_scratch13.png + +**コード** + +ステージ領域、ブロックパレット、コーディング領域の3つの主要なセクションがあります。 +ブロックパレットのブロックをクリックしてコーディング領域にドラッグすることによるプログラミング。 +最後に、プログラミング結果がステージ領域に表示されます。 + +.. image:: media/quick_scratch4.png + + +これがScratch3のsprites areaです。 +この領域の上にspritesの基本パラメータがあり、Scratch 3に付属のspritesを追加したり、 +ローカルspritesをアップロードしたりできます。 + +.. image:: media/quick_scratch5.png + + +これがScratch3のbackdrop areaです。 +主にステージに適したbackdropを追加するために、 +Scratch 3に付属のbackdropを追加するか、 +ローカルのものをアップロードできます。 + +.. image:: media/quick_scratch6.png + + +これは **Add Extension** ボタンです。 + +.. image:: media/quick_scratch7.png + + +Scratch 3では、あらゆる種類の便利な拡張機能を追加できます。 +ここでは、 **Video Sensing** を例として取り上げ、それをクリックします。 + +.. image:: media/quick_scratch8.png + + +block paletteに表示され、この拡張機能に関連付けられている機能を使用できます。 +カメラを接続している場合は、stage areaにカメラ画面が表示されます。 + +.. image:: media/quick_scratch9.png + +**コスチューム** + +左上隅の **Costumes** オプションをクリックして、costumes paletteに入ります。 costumesが異なれば、spritesの静的な動きも異なります。これらの静的な動きをつなぎ合わせると、一貫した動的な動きが形成されます。 + +.. image:: media/quick_scratch10.png + +**音声** + +実験をより面白くするために、いくつかの音楽クリップを使用する必要があるかもしれません。 左上隅の ``Sounds`` オプションをクリックすると、現在のサウンドを編集したり、新しいサウンドを選択/アップロードしたりできます。 + +.. image:: media/quick_scratch11.png + + + diff --git a/docs/source/scratch/scratch_1.10_rotating_fan.rst b/docs/source/scratch/scratch_1.10_rotating_fan.rst new file mode 100644 index 0000000..4a74085 --- /dev/null +++ b/docs/source/scratch/scratch_1.10_rotating_fan.rst @@ -0,0 +1,87 @@ +1.10 回転扇 +================== + +このプロジェクトでは、回転する星のspriteとファンを作成します。 + +.. image:: media/1.17_header.png + +必要な部品 +----------------------- + +.. image:: media/1.17_list.png + +回路を構築する +--------------------- + +.. image:: media/1.17_image117.png + +コードをロードして、何が起こるかを確認します +-------------------------------------------- + + +コードファイル( ``1.10_rotating_fan.sb3`` )をScratch3にロードします。 + +ステージ上の緑色の旗をクリックした後、star spriteをクリックすると、それとモーターが時計回りに回転します。 2つの arrow spritesをクリックすると、回転方向を変更できます。 star spriteをもう一度クリックすると、star spriteとモーターの回転が停止します。 + +Spriteに関するヒント +-------------------- + +デフォルトのspriteを削除してから、Star spriteと Arrow1 spriteを選択し、Arrow1を1回コピーします。 + +.. image:: media/1.17_motor1.png + +Costumes オプションで、Arrow2 spriteを別の方向のcostumeに変更します。 + +.. image:: media/1.17_motor2.png + +spriteのサイズと位置を適切に調整します。 + +.. image:: media/1.17_motor3.png + + +コードに関するヒント +-------------------- + + +**流れ図** + +.. image:: media/1.17_scratch.png + +このコードでは、カスタムブロック(関数)である2つのピンクのブロックが左に曲がって右に曲がっています。 + +.. image:: media/1.17_new_block.png + +**ブロックを作る方法は?** + +ブロック(関数)の作り方を学びましょう。 ブロック(関数)は、プログラムを単純化するために使用できます。特に同じ操作を複数回実行する場合です。 これらの操作を新しく宣言されたブロックに入れると、非常に便利です。 + +最初にblock paletteで My Blocks を見つけてから、Make a Block を選択します。 + +.. image:: media/1.17_motor4.png + +新しいブロックの名前を入力します。 + +.. image:: media/1.17_motor5.png + +coding areaに新しいブロックの機能を書き込んだ後、それを保存すると、blocks paletteでブロックを見つけることができます。 + +.. image:: media/1.17_motor6.png + +**turn left** + +これは、モーターを反時計回りに回転させるための左折ブロック内のコードです。 + +.. image:: media/1.17_motor12.png + :width: 400 + +**turn right** + +これは、モーターを時計回りに回転させるための右折ブロック内のコードです。 + + + +.. image:: media/1.17_motor11.png + :width: 400 + + + diff --git a/docs/source/scratch/scratch_1.1_wand.rst b/docs/source/scratch/scratch_1.1_wand.rst new file mode 100644 index 0000000..567c65e --- /dev/null +++ b/docs/source/scratch/scratch_1.1_wand.rst @@ -0,0 +1,95 @@ +1.1 魔法の杖 +================= + +今日は、LED、Raspberry Pi、Scratchを使って楽しいゲームを作ります。 魔法の杖を振ると、LEDが点滅します。 + +.. image:: media/1.1_header.png + +必要な部品 +------------------------- + +.. image:: media/1.1_list.png + +回路を構築する +----------------------- + +.. image:: media/1.1_image49.png + +GPIO拡張機能を追加する +---------------------- + + + +左下隅にある **Add Extension** ボタンをクリックしてから、すべてのScratchプロジェクトに使用する拡張機能である **Raspberry Pi GPIO** を追加します。 + +.. image:: media/1.1_scratchled1.png + :align: center + +.. image:: media/1.1_scratchled2.png + :align: center + +.. image:: media/1.1_scratchled3.png + :align: center + +コードをロードして、何が起こるかを確認します +-------------------------------------------- + + +コンピューター( ``home/pi/davinci-kit-for-raspberry-pi/scratch/code`` )からScratch3にコードファイルをロードします。 + +.. image:: media/1.1_scratch_step1.png + +.. image:: media/1.1_scratch_step2.png + +stage areaの魔法の杖をクリックすると、LEDが2秒間点滅します。 + +.. image:: media/1.1_step3.png + + +Spriteに関するヒント +---------------------------- + +Upload Sprite をクリックします。 + +.. image:: media/1.1_upload_sprite.png + +**Wand.png** を ``home/pi/davinci-kit-for-raspberry-pi/scratch/picture`` パスからScratch3にアップロードします。 + +.. image:: media/1.1_upload.png + +最後に、 **Sprite1** を削除します。 + +.. image:: media/1.1_delete.png + +コードに関するヒント +-------------------------- + + + + +.. image:: media/1.1_LED1.png + :width: 300 + +これは、ステージ上の緑色の旗をクリックすることをトリガー条件とするイベントブロックです。 すべてのコードの先頭にトリガーイベントが必要です。block palette の Events カテゴリで他のトリガーイベントを選択できます。 + +.. image:: media/1.1_events.png + :width: 300 + +たとえば、トリガーイベントをspriteのクリックに変更できるようになりました。 + +.. image:: media/1.1_LED2.png + :width: 300 + +これは、設定されたサイクル数のブロックです。 数字の10を入力すると、ブロック内のイベントが10回実行されます。 + +.. image:: media/1.1_LED4.png + :width: 300 + +このブロックは、プログラムを秒単位で一時停止するために使用されます。 + +.. image:: media/1.1_LED3.png + :width: 500 + +ScratchではBCMの命名方法が使用されているため、このコードはGPIO17(BCM17)を0V(低レベル)に設定しています。 +LEDのカソードがGPIO17に接続されているため、LEDが点灯します。 +逆に、GPIO(BCM17)を高く設定すると、LEDが消灯します。 \ No newline at end of file diff --git a/docs/source/scratch/scratch_1.2_colorful_balls.rst b/docs/source/scratch/scratch_1.2_colorful_balls.rst new file mode 100644 index 0000000..5938678 --- /dev/null +++ b/docs/source/scratch/scratch_1.2_colorful_balls.rst @@ -0,0 +1,65 @@ +1.2 五色の玉 +===================== + +stage areaの異なる色のボールをクリックすると、RGBLEDが異なる色で点灯します + +.. image:: media/1.2_header.png + +必要な部品 +----------------------- + +.. image:: media/1.2_list.png + +回路を構築する +--------------------- + +.. image:: media/1.2_image61.png + + +コードをロードして、何が起こるかを確認します +-------------------------------------------- + + +コードファイル( ``1.2_colorful_balls.sb3`` )をScratch 3にロードした後、対応するボールをクリックすると、RGB LEDがそれぞれ黄色、青、赤、緑、または紫に点灯します。 + +Spriteに関するヒント +-------------------- + + +デフォルトのspriteを削除してから、 **Ball** spriteを選択します。 + +.. image:: media/1.2_ball.png + +そしてそれを5回複製します。 + +.. image:: media/1.2_duplicate_ball.png + +これらの5つの **Ball** spriteに異なる **costumes** を選択し、対応する位置に移動します。 + +.. image:: media/1.2_rgb1.png + +コードに関するヒント +-------------------- + + +コードを理解する前に、 `RGB color model `_ 。 + +RGBカラーモデルは、赤、緑、青の光をさまざまな方法で足し合わせて、さまざまな色を再現する加法色モデルです。 + +加法混色:緑に赤を加えると黄色になります。 青に緑を加えるとシアンになります。 赤に青を加えるとマゼンタになります。 3つの原色すべてを足し合わせると白になります。 + +.. image:: media/1.2_rgb_addition.png + :width: 400 + +RGB LEDは、3つのLED(赤色LED、緑色LED、青色LED)を1つのパッケージに組み合わせたもので、 +これら3つの色を組み合わせることでほぼすべての色を生成できます。 +4つのピンがあり、そのうちの1つはGNDで、他の3つのピンはそれぞれ3つのLEDを制御します。 + +したがって、RGBLEDを明るい黄色にするコードは次のとおりです。 + +.. image:: media/1.2_rgb3.png + + +Ball sprite(黄色のボール)をクリックすると、GPIO17が高(赤のLEDがオン)、GPIO18が高(緑のLEDがオン)、GPIO27が低(青のLEDがオフ)に設定され、RGBLEDが黄色に点灯するように設定します。 + +同じ方法で他のspriteにコードを書き込んで、RGB LEDを対応する色で点灯させることができます。 diff --git a/docs/source/scratch/scratch_1.3_tumbler.rst b/docs/source/scratch/scratch_1.3_tumbler.rst new file mode 100644 index 0000000..b47d4c4 --- /dev/null +++ b/docs/source/scratch/scratch_1.3_tumbler.rst @@ -0,0 +1,51 @@ +1.3 不倒翁 +================== + +In this project, we will make a tilt switch controlled tumbler toy. + +.. image:: media/1.3_header.png + +必要な部品 +----------------------- + +.. image:: media/1.3_component.png + +回路を構築する +--------------------- + +.. image:: media/1.3_fritzing.png + + +コードをロードして、何が起こるかを確認します +-------------------------------------------- + + +コードファイル( ``1.3_tumbler.sb3`` )をScratch3にロードします。 + +チルトスイッチを直立させると、タンブラーは立ったままになります。 傾けるとタンブラーも落ちます。 再び直立させると、タンブラーが再び立ち上がります。 + +Spriteに関するヒント +-------------------- + +Sprite1を選択し、左上隅の **Costumes** をクリックします。 +**Upload Costume** ボタンを使用して、 ``home/pi/davinci-kit-for-raspberry-pi/scratch/picture`` パスから **tumbler1.png** と **tumbler2.png** をアップロードします。 +デフォルトの2つのcostumesを削除し、 spriteの名前を **tumbler** に変更します。 + +コードに関するヒント +-------------------- + + +.. image:: media/1.3_title2.png + :width: 400 + +緑の旗をクリックすると、GPIO17の初期状態がlowに設定されます。 + +.. image:: media/1.3_title4.png + :width: 400 + +pin17が低い場合(チルトスイッチが直立している場合)、tumbler sprite の costume を tumbler1(直立状態)に切り替えます。 + +.. image:: media/1.3_title3.png + :width: 400 + +pin17がハイ(チルトスイッチが傾いている)のとき、tumbler sprite の costume を tumbler2(チルト状態)に切り替えます。 \ No newline at end of file diff --git a/docs/source/scratch/scratch_1.4_hare.rst b/docs/source/scratch/scratch_1.4_hare.rst new file mode 100644 index 0000000..b6dc970 --- /dev/null +++ b/docs/source/scratch/scratch_1.4_hare.rst @@ -0,0 +1,66 @@ +1.4 兎 +============== + +今日は、Button、Raspberry Pi、Scratchを使用して、さまざまな変更を加えたウサギを作成します。 + +最初のボタンを押すと、stage areaのうさぎの体色が変わります。 2番目のボタンを押すと、うさぎは体のサイズを変更します。 3番目のボタンを押すと、うさぎは一歩前進します。 + +.. image:: media/1.4_header.png + +必要な部品 +---------------------------- + +.. image:: media/1.4_list.png + +回路を構築する +--------------------- + +.. image:: media/1.4_scratch_button.png + +コードをロードして、何が起こるかを確認します +-------------------------------------------- + + +コードファイル( ``1.4_hare.sb3`` )をScratch3にロードします。 + +これで、3つのボタンをそれぞれ押して、ステージ上のうさぎがどのように変化するかを確認できます。 + +Spriteに関するヒント +-------------------- + + +sprite areaの右下隅にある **Choose a Sprite** ボタンをクリックし、検索ボックスに **Hare** と入力して、クリックして追加します。 + +.. image:: media/1.4_button1.png + +Sprite1を削除します。 + +.. image:: media/1.4_button2.png + + +コードに関するヒント +-------------------- + + +.. image:: media/1.4_button3.png + :width: 400 + +これは、GPIO17のレベルが高いときにトリガーされるイベントブロックです。つまり、その瞬間にボタンが押されます。 + +.. image:: media/1.4_button4.png + :width: 400 + +これは Hare の色を変更するためのブロックです。値の範囲は0〜199で、199を超えると再び0から変更されます。 + +.. image:: media/1.4_button5.png + :width: 250 + +これは、spriteのサイズを変更するために使用されるブロックです。値が大きいほど、spriteは大きくなります。 + +.. note:: + spriteも無限に大きくはなく、その最大サイズは元の画像サイズに関連しています。 + +.. image:: media/1.4_button6.png + :width: 200 + +これはスプライトコスチュームを切り替えるブロックであり、Hare のコスチュームが切り替わり続けると、一連の一貫したアクションを実行します。 たとえば、このプロジェクトでは、Hare に一歩前進させます。 \ No newline at end of file diff --git a/docs/source/scratch/scratch_1.5_wake_up_the_owl.rst b/docs/source/scratch/scratch_1.5_wake_up_the_owl.rst new file mode 100644 index 0000000..9a55d09 --- /dev/null +++ b/docs/source/scratch/scratch_1.5_wake_up_the_owl.rst @@ -0,0 +1,57 @@ +1.5 梟を起こす +==================== + +今日はフクロウを起こすゲームをします。 + +誰かがPIRセンサーモジュールに近づくと、フクロウは眠りから目覚めます。 + +PIR モジュールには 2 つのポテンショメータがあり、 +1 つは感度を調整するためのもので、もう 1 つは検出距離を調整するためのものです。 +PIR モジュールがうまく機能するためには、両方を完全に反時計回りに回す必要があります。 + +.. image:: media/1.5_header.png + +必要な部品 +----------------------- + +.. image:: media/1.5_component.png + +回路を構築する +--------------------- + +.. image:: media/1.5_fritzing.png + +コードをロードして、何が起こるかを確認します +-------------------------------------------- + +コードファイル( ``1.5_wake_up_the_owl.sb3`` ) をScratch3にロードします。 + +PIRセンサーモジュールに近づくと、stage areaのフクロウが羽を開いて目を覚ますのがわかります。離れると、フクロウは再び眠りに戻ります。 + +Spriteに関するヒント +---------------------- + +Sprite1を選択し、左上隅にある コスチューム をクリックします。 +owl1.png と owl2.png を、[コスチュームのアップロード]ボタンを介して ``home/pi/davinci-kit-for-raspberry-pi/scratch/picture`` パスからアップロードします。 +デフォルトの2つのコスチュームを削除し、スプライトの名前を owl に変更します。 + +.. image:: media/1.5_pir1.png + +コードに関するヒント +-------------------- + + +.. image:: media/1.3_title2.png + + +緑の旗をクリックすると、GPIO17の初期状態がlowに設定されます。 + +.. image:: media/1.5_owl1.png + :width: 400 + +pin17が低い(誰も近づいていない)場合は、フクロウのSpriteのcostumeをowl1(sleeping状態)に切り替えます。 + +.. image:: media/1.5_owl2.png + :width: 400 + +pin17が高い(誰かが近づいている)とき、フクロウのSpriteのcostumeをowl2(wake up状態)に切り替えます。 \ No newline at end of file diff --git a/docs/source/scratch/scratch_1.6_water_lamp.rst b/docs/source/scratch/scratch_1.6_water_lamp.rst new file mode 100644 index 0000000..bae044d --- /dev/null +++ b/docs/source/scratch/scratch_1.6_water_lamp.rst @@ -0,0 +1,87 @@ +1.6 光が流れるLED +================== + + + +今日はLED Bargraph、Raspberry Pi、Scratchを使ってストリーマーLEDを作ります。 + +LED棒グラフがstage上の矢印の方向に合わせて点灯します。 + + + +.. image:: media/1.12_header.png + +必要な部品 +------------------------- + +.. image:: media/1.12_list.png + +回路を構築する +----------------------- + +.. image:: media/1.12_image66.png + +コードをロードして、何が起こるかを確認します +-------------------------------------------- + + +コードファイル( ``1.6_water_lamp.sb3`` )をコンピューターからScratch3にロードします。 + +Arrow1 をクリックすると、LEDバーのLEDが左から右に(一度に1つずつ)順番に点灯し、その後消灯します。 Arrow2 をクリックすると、LEDが逆の順序で点灯します。 + +Spriteに関するヒント +-------------------- + +デフォルトのspriteを削除し、Arrow1 spriteを選択します。 + +.. image:: media/1.12_graph1.png + +ここでは、2つの **Arrow1** spriteが必要です。これは、複製ボタンを利用し完成できます。 + +.. image:: media/1.12_scratch_duplicate.png + +**Arrow 2** のSpriteをクリックし、costume2を選択して矢印の方向を変更します。 + +.. image:: media/1.12_graph2.png + + +それでは、変数を作成しましょう。 + +.. image:: media/1.12_graph3.png + + +**num** という名前を付けます。 + +.. image:: media/1.12_graph4.png + + +同じ方法に従って、 **led** というリストを作成します。 + +.. image:: media/1.12_graph6.png + + +追加すると、stage areaに num 変数と led リストが表示されます。 + +**+** をクリックして 10 個のリスト項目を追加し、ピン番号を順番に入力します (17、18、27、22、23、24、25、2、3、8)。 + +.. image:: media/1.12_graph7.png + +コードに関するヒント +-------------------- + + +.. image:: media/1.12_graph10.png + :width: 300 + +これは、現在のspriteがクリックされたときにトリガーされるイベントブロックです。 + +.. image:: media/1.12_graph8.png + :width: 300 + +num 変数の初期値は、どの LED が最初にオンになるかを決定します。 + +.. image:: media/1.12_graph9.png + + +LEDリストの num に対応するピンをlowに設定してLEDを点灯させ、 +次に num-1 に対応するピンをhighに設定して前のLEDをオフにします。 diff --git a/docs/source/scratch/scratch_1.7_doorbell.rst b/docs/source/scratch/scratch_1.7_doorbell.rst new file mode 100644 index 0000000..01b7163 --- /dev/null +++ b/docs/source/scratch/scratch_1.7_doorbell.rst @@ -0,0 +1,61 @@ +1.7 ドアベル +================== + +今日はドアベルを作り、ステージ上のbutton3 spriteをクリックすると、ブザーが鳴ります。 もう一度クリックすると、ブザーが鳴り止みます。 + +.. image:: media/1.13_header.png + +必要な部品 +----------------------- + +.. image:: media/1.13_list.png + +回路を構築する +--------------------- + +.. image:: media/1.13_image106.png + +コードをロードして、何が起こるかを確認します +-------------------------------------------- + + +コードファイル( ``1.7_doorbell.sb3`` )をScratch3にロードします。 + +ステージ上の緑色の旗をクリックします。 ボタン3のspriteをクリックすると、青色に変わり、ブザーが鳴ります。 もう一度クリックすると、Button3 スプライトが灰色に戻り、ブザーが鳴り止みます。 + +Spriteに関するヒント +-------------------- + + +デフォルトのspriteを削除してから、Button 3 のspriteを選択します。 + +.. image:: media/1.13_scratch_button3.png + +次に、サイズを200に設定します。 + +.. image:: media/1.13_scratch_button3_size.png + +コードに関するヒント +-------------------- + + +.. image:: media/1.13_buzzer4.png + :width: 400 + +このブロックを使用すると、spriteのcostumeを切り替えることができます。 + +.. image:: media/1.13_buzzer5.png + :width: 400 + + +gpio17をlowに設定して、ブザーを鳴らします。 high 設定するとブザーが鳴りません。 + +ここでは status スイッチを使用します。ここでは、コード全体を理解するのに役立つflowchartを使用します。 + +緑のフラグがクリックされると、status が最初に0に設定され、この時点でspriteがクリックされるのを待ちます。 +button3 spriteをクリックすると、button-b costume(青)としてcostumeに切り替わり、status が1に設定されます。 +メインプログラムが status を受信すると 1として、0.1秒間隔でブザーを鳴らします。 +button3 をもう一度クリックすると、button-a costume(灰色)に切り替わり、status が再び0に設定されます。 + +.. image:: media/1.13_scratch_code.png + diff --git a/docs/source/scratch/scratch_1.8_123_wooden_man.rst b/docs/source/scratch/scratch_1.8_123_wooden_man.rst new file mode 100644 index 0000000..93c3e24 --- /dev/null +++ b/docs/source/scratch/scratch_1.8_123_wooden_man.rst @@ -0,0 +1,64 @@ +1.8 だるまさんがころんだ +=========================== + +今日はだるまさんがころんだのゲームをします。 + +緑の旗をクリックしてゲームを開始し、キーボードの右矢印キーを押したままにしてspriteを右に動かします。 緑色のライトが点灯している場合、スプライトは移動できます。 ただし、赤いLEDが点灯している場合は、スプライトの移動を停止する必要があります。 そうしないと、ブザーが鳴り続けます。 + +.. image:: media/1.14_header.png + +必要な部品 +------------------------ + +.. image:: media/1.14_component.png + +回路を構築する +--------------------- + +.. image:: media/1.14_fritzing.png + + +コードをロードして、何が起こるかを確認します +-------------------------------------------- + + +コードをロードして、何が起こるかを確認します +コードファイル( ``1.8_123_wooden_man.sb3`` )をScratch3にロードします。 + +緑色のLEDが点灯している場合は、右矢印キーを使用して Avery を制御して右に歩くことができます。 赤いLEDが点灯しているときに、Avery を右に動かし続けると、アラームが鳴ります。 + +Spriteのヒント +---------------- +デフォルトのSpriteを削除してから、Avery Walking spriteを選択します。 + +.. image:: media/1.14_wooden1.png + :width: 400 + +コードに関するヒント +-------------------- + + +.. image:: media/1.14_wooden2.png + :width: 400 + +すべてのピンをHighに初期化します。 + +.. image:: media/1.14_wooden3.png + :width: 400 + +ゲームが開始したら、ステータス変数を1に割り当てて、Avery Walking spriteが移動可能であることを示します。次に、GPIO18を低に設定します。これにより、緑色のLEDが5秒間点灯します。 + +.. image:: media/1.14_wooden4.png + :width: 400 + +GPIO18を高に設定してから、GPIO27を低に設定します。これは、緑色のLEDをオフにし、黄色のLEDを0.5秒間点灯させることを意味します。 + +.. image:: media/1.14_wooden5.png + :width: 400 + +ステータス変数を0に割り当てます。これは、Avery Walking spriteが移動していないことを意味します。 次に、GPIO27をlowに設定し、GPIO17をhighに設定します。これにより、黄色のLEDがオフになり、次に赤色のLEDが3秒間点灯します。 最後に、GPIO17をhighに設定して、赤いLEDをオフにします。 + +.. image:: media/1.14_wooden6.png + :width: 400 + +キーボードのright arrowキーを押すと、Averyが右に歩いているのが見えるように、Avery Walking spriteを次のcostumeに切り替える必要があります。 次に、status 変数の値を決定する必要があります。 0の場合は、現時点でAvery Walking spriteが動いていないことを意味し、right arrowキーを再度押すことができないことを警告するブザーが鳴ります。 diff --git a/docs/source/scratch/scratch_1.9_inflating_the_balloon.rst b/docs/source/scratch/scratch_1.9_inflating_the_balloon.rst new file mode 100644 index 0000000..7005d95 --- /dev/null +++ b/docs/source/scratch/scratch_1.9_inflating_the_balloon.rst @@ -0,0 +1,80 @@ +1.9 風船を膨らませる +========================== + +ここでは、バルーニングのゲームをします。 + +スライドを左に切り替えてバルーンを膨らませ始めると、この時点でバルーンはどんどん大きくなります。 風船が大きすぎると爆発します。 気球が小さすぎると空中に浮きません。 ポンプを停止するには、スイッチを右に切り替えるタイミングを判断する必要があります。 + +.. image:: media/1.15_header.png + +必要な部品 +----------------------- + +.. image:: media/1.15_component.png + +回路を構築する +--------------------- + +.. image:: media/1.15_scratch_fritzing.png + +コードをロードして、何が起こるかを確認します +-------------------------------------------- + + +コードファイル( ``1.9_inflating_the_balloon.sb3`` )をScratch3にロードします。 + +スライダーを左に切り替えてバルーンを膨らませ始めると、この時点でバルーンはどんどん大きくなります。 風船が大きすぎると爆発します。 気球が小さすぎると空中に浮きません。 ポンプを停止するには、スイッチを右に切り替えるタイミングを判断する必要があります。 + + +Spriteに関するヒント +-------------------------- + +前のSprite1 spriteを削除してから、Balloon1 spriteを追加します。 + +.. image:: media/1.15_slide1.png + +このプロジェクトでは風船爆発効果音を使用しているので、どのように追加されたか見てみましょう。 + +上部の Sound オプションをクリックし、Upload Sound をクリックして、 ``boom.wav`` を ``home/pi/davinci-kit-for-raspberry-pi/scratch/sound`` パスからScratch3にアップロードします。 + +.. image:: media/1.15_slide2.png + +コードに関するヒント +-------------------- + + + +.. image:: media/1.15_slide3.png + :width: 500 + +これはイベントブロックであり、トリガー条件はGPIO17がハイである、つまりスイッチが左に切り替えられることです。 + +.. image:: media/1.15_slide4.png + :width: 400 + +Ballon1 spriteのサイズしきい値を120に設定します。 + +.. image:: media/1.15_slide7.png + :width: 400 + +Balloon1 spriteの座標を、stage areaの中心である(0,0)に移動します。 + +.. image:: media/1.15_slide8.png + :width: 300 + +Balloon1 spriteのサイズを50に設定し、stage areaに表示します。 + +.. image:: media/1.15_slide5.png + + +バルーンを膨らませるループを設定します。このループは、スライダースイッチを右に切り替えると停止します。 + +このループ内で、バルーンサイズは0.1秒ごとに1ずつ増加し、 ``maxSize`` より大きい場合はバルーンが破裂し、その時点でブーム音が鳴り、コードが終了します。 + +.. image:: media/1.15_slide6.png + :width: 600 + +最後のループが終了した後(スライダーが右に切り替わります)、サイズに基づいてBalloon1 spriteの位置を決定します。 +Balloon1 spriteのサイズが90より大きい場合は、持ち上げて(座標を(0,90)に移動します)、 +そうでない場合は着陸します(座標を(0,-149)に移動します)。 + diff --git a/docs/source/scratch/scratch_project.rst b/docs/source/scratch/scratch_project.rst new file mode 100644 index 0000000..0a30fd6 --- /dev/null +++ b/docs/source/scratch/scratch_project.rst @@ -0,0 +1,28 @@ +プロジェクト +================== + +この章では、Scratch3から18のプロジェクトで遊んでいきます。 + +Scratch 3を使用したばかりのユーザーの場合は、Scratch 3をすぐに使い始めることができるように、プロジェクトを順番に試すことをお勧めします。 + +.. note:: + プロジェクトを試す前に、関連する資料とコードファイルをダウンロードしておく必要があります。 ターミナルを開き、次のコマンドを入力してgithubからダウンロードします。 + + .. code-block:: + + git clone https://github.com/sunfounder/davinci-kit-for-raspberry-pi.git + +.. toctree:: + :maxdepth: 1 + + scratch_1.1_wand + scratch_1.2_colorful_balls + scratch_1.3_tumbler + scratch_1.4_hare + scratch_1.5_wake_up_the_owl + scratch_1.6_water_lamp + scratch_1.7_doorbell + scratch_1.8_123_wooden_man + scratch_1.9_inflating_the_balloon + scratch_1.10_rotating_fan + diff --git a/docs/source/set_up_your_raspberry_pi.rst b/docs/source/set_up_your_raspberry_pi.rst new file mode 100644 index 0000000..7756863 --- /dev/null +++ b/docs/source/set_up_your_raspberry_pi.rst @@ -0,0 +1,169 @@ +Set up Your Raspberry Pi +============================ + +If You Have a Screen +------------------------- + +If you have a screen, it will be easy for you to operate on the +Raspberry Pi. + +**Required Components** + +================== ========================= +Any Raspberry Pi 1 \* Power Adapter +1 \* Micro SD card 1 \* Screen Power Adapter +1 \* HDMI cable 1 \* Screen +1 \* Mouse 1 \* Keyboard +================== ========================= + +1. Insert the SD card you’ve set up with Raspberry Pi OS into the micro SD card slot on the underside of your Raspberry Pi. + +#. Plug in the Mouse and Keyboard. + +#. Connect the screen to Raspberry Pi’s HDMI port and make sure your screen is plugged into a wall socket and switched on. + + .. note:: + + If you use a Raspberry Pi 4, you need to connect the screen to the HDMI0 (nearest the power in port). + +#. Use the power adapter to power the Raspberry Pi. After a few seconds, the Raspberry Pi OS desktop will be displayed. + + .. image:: media/image20.png + :align: center + +If You Have No Screen +-------------------------- + +If you don’t have a display, you can log in to the Raspberry Pi +remotely, but before that, you need to get the IP of the Raspberry Pi. + +Get the IP Address +^^^^^^^^^^^^^^^^^^ + +After the Raspberry Pi is connected to WIFI, we need to get the IP +address of it. There are many ways to know the IP address, and two of +them are listed as follows. + +**1.  Checking via the router** + +If you have permission to log in the router(such as a home network), you +can check the addresses assigned to Raspberry Pi on the admin interface +of router. + +The default hostname of the Raspberry Pi OS is **raspberrypi**, and you +need to find it. (If you are using ArchLinuxARM system, please find +alarmpi.) + +**2. Network Segment Scanning** + +You can also use network scanning to look up the IP address of Raspberry +Pi. You can apply the software, **Advanced IP scanner** and so on. + +Scan the IP range set, and the name of all connected devices will be +displayed. Similarly, the default hostname of the Raspberry Pi OS is +**raspberrypi**, if you haven't modified it. + +Use the SSH Remote Control +^^^^^^^^^^^^^^^^^^^^^^^^^^ + +We can open the Bash Shell of Raspberry Pi by applying SSH. Bash is the +standard default shell of Linux. The Shell itself is a program written +in C that is the bridge linking the customers and Unix/Linux. Moreover, +it can help to complete most of the work needed. + +**For Linux or/Mac OS X Users** + +**Step 1** + +Go to **Applications**->\ **Utilities**, find the **Terminal**, and open +it. + +.. image:: media/image21.png + :align: center + +**Step 2** + +Type in **ssh pi@ip_address** . \"pi\" is your username and \"ip_address\" is +your IP address. For example: + +.. code-block:: + + ssh pi@192.168.18.197 + +**Step 3** + +Input \"yes\". + +.. image:: media/image22.png + :align: center + +**Step 4** + +Input the passcode and the default password is **raspberry**. + +.. image:: media/image23.png + :align: center + +**Step 5** + +We now get the Raspberry Pi connected and are ready to go to the next +step. + +.. image:: media/image24.png + :align: center + +.. note:: + When you input the password, the characters do not display on + window accordingly, which is normal. What you need is to input the + correct password. + +**For Windows Users** + +If you're a Windows user, you can use SSH with the application of some +software. Here, we recommend **PuTTY**. + +**Step 1** + +Download PuTTY. + +**Step 2** + +Open PuTTY and click **Session** on the left tree-alike structure. Enter +the IP address of the RPi in the text box under **Host Name (or IP +address)** and **22** under **Port** (by default it is 22). + +.. image:: media/image25.png + :align: center + +**Step 3** + +Click **Open**. Note that when you first log in to the Raspberry Pi with +the IP address, there prompts a security reminder. Just click **Yes**. + +**Step 4** + +When the PuTTY window prompts \"**login as:**\", type in +\"**pi**\" (the user name of the RPi), and **password**: \"raspberry\" +(the default one, if you haven't changed it). + +.. note:: + + When you input the password, the characters do not display on window accordingly, which is normal. What you need is to input the correct password. + + If inactive appears next to PuTTY, it means that the connection has been broken and needs to be reconnected. + +.. image:: media/image26.png + :align: center + +**Step 5** + +Here, we get the Raspberry Pi connected and it is time to conduct the next steps. + + + + +.. note:: + + If you are not satisfied with using the command window to control the Raspberry Pi, you can also use the remote desktop function, which can help us manage the files in the Raspberry Pi easily. + + For details on how to do this, please refer to :ref:`Remote Desktop`. diff --git a/docs/source/thank-learning.rst b/docs/source/thank-learning.rst new file mode 100644 index 0000000..d9cc920 --- /dev/null +++ b/docs/source/thank-learning.rst @@ -0,0 +1,25 @@ +ありがとうございました +====================== + + +私たちの製品を評価してくれた評価者、チュートリアルの提案をしてくれたベテラン、 +そして私たちをフォローしてサポートしてくれたユーザーに感謝します。 +私たちへのあなたの貴重な提案は、より良い製品を提供するという私たちの動機です! + +**特に感謝します** + +* Len Davisson +* Kalen Daniel +* Juan Delacosta + + +さて、このアンケートに記入するために少し時間を割いていただけませんか? + +.. raw:: html + + + +.. note:: + + アンケートを送信した後、トップに戻って結果を確認してください。 + diff --git a/docs/source/what_do_we_need.rst b/docs/source/what_do_we_need.rst new file mode 100644 index 0000000..488438a --- /dev/null +++ b/docs/source/what_do_we_need.rst @@ -0,0 +1,48 @@ +何が必要なのか? +================ + +必要な部品 +----------------------- + +**Raspberry Pi** + +Raspberry Piは、コンピューターモニターまたはテレビに接続し、標準のキーボードとマウスを使用する、低価格のクレジットカードサイズのコンピューターである。これは、あらゆる年齢の人々がコンピューティングを探求させたり、ScratchやPythonなどの言語でプログラミングする方法を学習させたりする小さなデバイスである。 + +このキットはRaspberry Pi製品の以下のバージョンに適用される。 + +.. image:: media/image10.jpeg + :alt: RPi2 + :width: 5.61806in + :height: 4.76875in + +**ACアダプター** + +Raspberry Piには、電源ソケットに接続する用のマイクロUSBポートがある(多くの携帯電話で見られるものと同じである)。2.5A以上の電源が必要である。 + +**マイクロSDカード** + +すべてのファイルとRaspberry Pi OSオペレーティングシステムを保存するため、Raspberry PiにMicro SDカードを取り付けてください。8GB以上の容量のマイクロSDカードが必要である。 + +選択可能な部品 +------------------------- + +**画面** + +Raspberry Piのデスクトップ環境を表示するには、テレビ画面またはコンピューターモニターの画面を使用する必要がある。画面にスピーカーが内蔵されている場合、Piはそれらを介して音声を再生する。 + +**マウスとキーボード** + +画面を使用する場合は、USBキーボードとUSBマウスも必要である。 + +**HDMI** + +Raspberry Piには、ほとんどの最新のテレビおよびコンピューターモニターのHDMIポートと互換性のあるHDMI出力ポートが搭載されている。 +画面にDVIまたはVGAポートのみがある場合、適切な変換回線を使用してください。 + +**保護ケース** + +デバイスを保護するために、Raspberry Piを保護ケースに入れることができる。 + +**サウンドまたはイヤホン** + +Raspberry Piには約3.5mmのオーディオポートが装備されており、画面にスピーカーが内蔵されていない場合や画面操作がない場合に使用できます。 \ No newline at end of file