GR-COTTON PYROELECTRIC SENSOR

前回GR-COTTONで電灯のリモコンをON/OFFできるようになりました。人が居るときに自動的に点灯できるように焦電センサを追加しました。
焦電型赤外線センサーモジュール(焦電人感センサ) SB612A
http://akizukidenshi.com/catalog/g/gM-08767/

プログラムの説明します。
焦電センサとの接続を5ピンとします。
const int PIR = 5;
焦電センサの入力状態を保存する変数を宣言します。
int PIR_STATE;

setup()関数で焦電センサとの接続ピンを入力に設定します。
pinMode(PIR, INPUT);

loop()関数で焦電センサの状態を読み取ります。
PIR_STATE = digitalRead(PIR);

焦電センサは、人を検知したときLOWになります。
よってLOWの時、電灯を点け、HIGHで電灯を消します。
if(PIR_STATE == LOW)
{
// ON
sendSignal(STATE_ON);
}
else
{
// OFF
sendSignal(STATE_OFF);
}

3秒ごとに処理を繰り返します。
delay(3000);

サンプルプログラムは以下にあります。
https://github.com/jendo1969/GR-COTTON/blob/master/PIR_Sensor/PIR_Sensor.ino

 

You can now turn on / off the light remote control with GR – COTTON last time. A pyroelectric sensor was added so that it can be turned on automatically when a person is present.
Pyroelectric infrared sensor module (pyroelectric human sensor) SB 612 A
http://akizukidenshi.com/catalog/g/gM-08767/

Explanation of the program.
Connect to the pyroelectric sensor as 5 pins.

const int PIR = 5;
Declare a variable to save the input state of the pyroelectric sensor.
int PIR_STATE;

Use the setup() function to set the connection pin to the pyroelectric sensor to input.
pinMode(PIR, INPUT);

Read the state of the pyroelectric sensor with the loop() function.
PIR_STATE = digitalRead(PIR);

The pyroelectric sensor becomes LOW when a person is detected.
Therefore, turn on the light when LOW, turn off the light by HIGH.

if(PIR_STATE == LOW)
{
// ON
sendSignal(STATE_ON);
}
else
{
// OFF
sendSignal(STATE_OFF);
}

Repeat processing every 3 seconds.
delay(3000);

The sample program is below.
https://github.com/jendo1969/GR-COTTON/blob/master/PIR_Sensor/PIR_Sensor.ino

 

您現在可以上次使用GR-COTTON打開/關閉遙控器。 增加了熱釋電傳感器,以便在有人存在時自動啟動。
熱釋電紅外傳感器模塊(熱釋電人體傳感器)SB 612 A
http://akizukidenshi.com/catalog/g/gM-08767/

該方案的解釋。
以5個引腳連接到熱釋電傳感器。

const int PIR = 5;
聲明一個變量來保存熱釋電傳感器的輸入狀態。
int PIR_STATE;

使用setup()函數將熱電傳感器的連接引腳設置為輸入。
pinMode(PIR, INPUT);

用loop()函數讀取熱電傳感器的狀態。
PIR_STATE = digitalRead(PIR);

當檢測到人時,熱電傳感器變為低電平。
因此,在低電平時打開燈,用HIGH關閉燈。

if(PIR_STATE == LOW)
{
// ON
sendSignal(STATE_ON);
}
else
{
// OFF
sendSignal(STATE_OFF);
}

每3秒重複處理一次。
delay(3000);

示例程序如下。
https://github.com/jendo1969/GR-COTTON/blob/master/PIR_Sensor/PIR_Sensor.ino

GR-COTTON INFRARED REMOTE CONTROL TRANSMISSION

GR-COTTONでリモコンの送信を行いました。
赤外線LEDに以下を使用しました。
5mm赤外線LED OSI5FU5111C-40 (5個入)
http://akizukidenshi.com/catalog/g/gI-03261/

オームの法則E=IRから挿入する抵抗値を計算します。
(Vcc-Vf ) = 100mA x R

Vfは、データシートから1.35V、電流Ifは定格の100.mAとします。
(3.3-1.35)= 0.100 x R
R = (3.3-1.35)/0.100 = 19.5Ω
19.5Ω以上にすればよいので22Ωの抵抗を使用しました。
送信プログラムは、以下サイトを参考にさせていただきました。ありがとうございます。
https://www.erestage.com/arduino/arduino-send-remo/

プログラムの説明をします。
赤外線LEDを4番ピンに接続しました。
const int LED = 4;
const int STATE_ON = 1;
const int STATE_OFF = 0;

前回取得した 赤外線リモコンのOFF・ONデータを定義します。
int data[2][39] = {
// 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
{273,252,98,70,96,72,96,175,96,72,96,175,96,172,99,72,96,175,97,5378,270,252,96,72,96,71,97,175,96,72,96,175,96,175,96,71,96,175,96},
{262,257,91,79,88,79,89,79,89,183,88,183,89,182,89,180,91,79,89,5385,262,260,88,77,91,79,89,79,88,182,89,183,88,183,88,182,89,79,89}
};

setup()関数で赤外線LEDのピンを出力に設定します。
pinMode(LED, OUTPUT);

loop()関数の説明をします。
電灯受信器に対して点灯を指示します。
sendSignal(STATE_ON);
3秒間待機します。
delay(3000);
電灯受信器に対して消灯を指示します。
sendSignal(STATE_OFF);
3秒間待機します。
delay(3000);

リモコン信号を送信部分のsendSignal() 関数を説明します。
LEDは、LOWで点灯、HIGHで消灯です。
リモコンは、38kHz変調されています。ON時のデューティー比は、1/3です。
38kHzの1周期は、約26.3usです。ON時間を8us、OFF時間を17usとしました。
int dataSize = sizeof(data[mode]) / sizeof(data[mode][0]);
for (int cnt = 0; cnt < dataSize; cnt++) {
unsigned long len = data[mode][cnt]*10;
unsigned long us = micros();
do {
digitalWrite(LED, (cnt%2) ? HIGH : LOW);
delayMicroseconds(8);
digitalWrite(LED, HIGH);
delayMicroseconds(17);
} while (long(us + len – micros()) > 0);

サンプルプログラムは以下にあります。
https://github.com/jendo1969/GR-COTTON/blob/master/Remocon/Remocon.ino

We sent remote control with GR – COTTON.
I used the following for the infrared LED.
5 mm Infrared LED OSI 5 FU 5111 C – 40 (5 pieces included)

http://akizukidenshi.com/catalog/g/gI-03261/

Calculate the resistance value to be inserted from Ohm’s law E = IR.
(Vcc-Vf ) = 100mA x R

Vf is 1.35 V from the data sheet, and the current If is rated 100 mA.
(3.3-1.35)= 0.100 x R
R = (3.3-1.35)/0.100 = 19.5Ω
Since it is only necessary to set it to 19.5 Ω or more, a resistance of 22 Ω was used.
For the transmission program, I referred to the following site. Thank you very much.

https://www.erestage.com/arduino/arduino-send-remo/

I will explain the program.
I connected the infrared LED to pin 4.

const int LED = 4;
const int STATE_ON = 1;
const int STATE_OFF = 0;

Define OFF / ON data of infrared remote control that was acquired last time.
int data[2][39] = {
// 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
{273,252,98,70,96,72,96,175,96,72,96,175,96,172,99,72,96,175,97,5378,270,252,96,72,96,71,97,175,96,72,96,175,96,175,96,71,96,175,96},
{262,257,91,79,88,79,89,79,89,183,88,183,89,182,89,180,91,79,89,5385,262,260,88,77,91,79,89,79,88,182,89,183,88,183,88,182,89,79,89}
};

Use the setup() function to set the infrared LED pin to output.
pinMode(LED, OUTPUT);

I will explain the loop() function.
Instruct the lighting receiver to light up.

sendSignal(STATE_ON);
I will wait for 3 seconds.
delay(3000);
Instruct the light receiver to turn off.
sendSignal(STATE_OFF);
I will wait for 3 seconds.
delay(3000);

Describe the sendSignal () function of the transmit part of the remote control signal.
The LED is lit with LOW, and it is off with HIGH.
The remote control is 38 kHz modulated. The duty ratio when ON is 1/3.
One cycle of 38 kHz is about 26.3 us. We set the ON time to 8us and the OFF time to 17us.

int dataSize = sizeof(data[mode]) / sizeof(data[mode][0]);
for (int cnt = 0; cnt < dataSize; cnt++) {
unsigned long len = data[mode][cnt]*10;
unsigned long us = micros();
do {
digitalWrite(LED, (cnt%2) ? HIGH : LOW);
delayMicroseconds(8);
digitalWrite(LED, HIGH);
delayMicroseconds(17);
} while (long(us + len – micros()) > 0);

The sample program is below.
https://github.com/jendo1969/GR-COTTON/blob/master/Remocon/Remocon.ino

我們用GR-COTTON發送了遙控器。
我使用以下紅外LED。
5 mm紅外LED OSI 5 FU 5111 C – 40(包括5個)

http://akizukidenshi.com/catalog/g/gI-03261/

計算從歐姆定律插入的電阻值E = IR。
(Vcc-Vf ) = 100mA x R

數據手冊中的Vf為1.35 V,電流If為100 mA。
(3.3-1.35)= 0.100 x R
R = (3.3-1.35)/0.100 = 19.5Ω
由於只需要將其設置為19.5Ω或更大,所以使用22Ω的電阻。
對於傳輸程序,我參考了以下站點。 非常感謝。

https://www.erestage.com/arduino/arduino-send-remo/

我會解釋這個程序。
我將紅外LED連接到引腳4。

const int LED = 4;
const int STATE_ON = 1;
const int STATE_OFF = 0;

定義上次獲取的紅外遙控器的OFF / ON數據。
int data[2][39] = {
// 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
{273,252,98,70,96,72,96,175,96,72,96,175,96,172,99,72,96,175,97,5378,270,252,96,72,96,71,97,175,96,72,96,175,96,175,96,71,96,175,96},
{262,257,91,79,88,79,89,79,89,183,88,183,89,182,89,180,91,79,89,5385,262,260,88,77,91,79,89,79,88,182,89,183,88,183,88,182,89,79,89}
};

使用setup()函數設置紅外LED引腳輸出。
pinMode(LED, OUTPUT);

我將解釋loop()函數。
指示照明接收器點亮。

sendSignal(STATE_ON);
我會等待3秒鐘。
delay(3000);
指示光接收器關閉。
sendSignal(STATE_OFF);
我會等待3秒鐘。
delay(3000);

描述遙控信號傳輸部分的sendSignal()函數。
LED指示燈亮起,低電平時亮起。
遙控器是38千赫調製。 ON時的佔空比為1/3。
38千赫的一個週期約為26.3美元。 我們將ON時間設置為8us,將OFF時間設置為17us。

int dataSize = sizeof(data[mode]) / sizeof(data[mode][0]);
for (int cnt = 0; cnt < dataSize; cnt++) {
unsigned long len = data[mode][cnt]*10;
unsigned long us = micros();
do {
digitalWrite(LED, (cnt%2) ? HIGH : LOW);
delayMicroseconds(8);
digitalWrite(LED, HIGH);
delayMicroseconds(17);
} while (long(us + len – micros()) > 0);

示例程序如下。
https://github.com/jendo1969/GR-COTTON/blob/master/Remocon/Remocon.ino

GR-COTTON INFRARED REMOTE CONTROL RECEPTION

GR-COTTONでリモコンの受信を行いました。
http://gadget.renesas.com/ja/product/cotton.html
GR-COTTONは、GR-ADZUKI の兄弟モジュールです。
GR-COTTON
http://akizukidenshi.com/catalog/g/gK-09867/
リモコンは、電灯のON/OFFを使用します。
天井照明器具専用 リモコンスイッチ [品番]07-8250 OCR-04W
https://www.amazon.co.jp/%E5%A4%A9%E4%BA%95%E7%85%A7%E6%98%8E%E5%99%A8%E5%85%B7%E5%B0%82%E7%94%A8-%E3%83%AA%E3%83%A2%E3%82%B3%E3%83%B3%E3%82%B9%E3%82%A4%E3%83%83%E3%83%81-%E5%93%81%E7%95%AA-07-8250-OCR-04W/dp/B01ABMGF1Y/ref=sr_1_sc_1?s=electronics&ie=UTF8&qid=1518391236&sr=1-1-spell&keywords=%E3%83%AA%E3%83%B3%E3%82%B3%E3%83%B3%E3%80%80%E9%9B%BB%E7%81%AF
天井照明器具専用 リモコンスイッチ [品番]07-8250
http://www.ohm-electric.co.jp/product/c02/c0201/19580/

以下のコードを参考にさせてもらいました。ありがとうございます。
https://www.erestage.com/arduino/remo_recv/

入力ポートを3番ピン変更した以外、コードはそのまま使用しました。

受信モジュールは以下を使用しました。

赤外線リモコン受信モジュール GP1UXC41QS
http://akizukidenshi.com/catalog/g/gI-06487/
ON/OFFのデータがそれぞれ取得できました。

ON
4038079,262,257,91,79,88,79,89,79,89,183,88,183,89,182,89,180,91,79,89,5385,262,260,88,77,91,79,89,79,88,182,89,183,88,183,88,182,89,79,89,
2017997,262,260,88,79,88,79,89,79,89,183,88,183,89,183,89,183,88,79,89,5386,262,260,88,79,88,79,89,79,89,183,88,183,88,182,89,182,89,79,89,
2017997,262,260,88,79,88,79,89,79,89,183,88,183,89,183,89,183,88,79,89,5386,262,260,88,79,88,79,89,79,89,183,88,183,88,182,89,182,89,79,89,
1188009,262,261,86,82,88,77,90,79,88,183,88,181,90,183,88,181,90,79,88,5389,259,263,88,80,88,79,86,82,86,185,86,186,88,183,88,183,88,79,88,

OFF
1231448,273,252,98,70,96,72,96,175,96,72,96,175,96,172,99,72,96,175,97,5378,270,252,96,72,96,71,97,175,96,72,96,175,96,175,96,71,96,175,96,
1407149,262,260,89,79,91,77,88,182,89,79,88,183,88,183,88,79,88,183,90,5386,262,257,93,77,89,79,90,181,91,77,91,181,90,181,91,77,91,178,93,
1338940,269,255,93,74,93,74,93,178,93,74,93,176,95,178,93,74,93,175,96,5383,266,255,93,74,93,74,93,179,92,75,93,179,92,179,92,75,92,179,93,
1338940,269,255,93,74,93,74,93,178,93,74,93,176,95,178,93,74,93,175,96,5383,266,255,93,74,93,74,93,179,92,75,93,179,92,179,92,75,92,179,93,

次は送信を行いたいと思います。

 

I received the remote control with GR-COTTON.
http://gadget.renesas.com/ja/product/cotton.html
GR-COTTON is a sibling module of GR-ADZUKI.
GR-COTTON
http://akizukidenshi.com/catalog/g/gK-09867/
The remote control uses ON / OFF of electric light.
Ceiling lighting fixture dedicated remote control switch [product number] 07 – 8250 OCR – 04 W

https://www.amazon.co.jp/%E5%A4%A9%E4%BA%95%E7%85%A7%E6%98%8E%E5%99%A8%E5%85%B7%E5%B0%82%E7%94%A8-%E3%83%AA%E3%83%A2%E3%82%B3%E3%83%B3%E3%82%B9%E3%82%A4%E3%83%83%E3%83%81-%E5%93%81%E7%95%AA-07-8250-OCR-04W/dp/B01ABMGF1Y/ref=sr_1_sc_1?s=electronics&ie=UTF8&qid=1518391236&sr=1-1-spell&keywords=%E3%83%AA%E3%83%B3%E3%82%B3%E3%83%B3%E3%80%80%E9%9B%BB%E7%81%AF
Ceiling lighting fixture dedicated remote control switch [product number] 07 – 8250
http://www.ohm-electric.co.jp/product/c02/c0201/19580/

I referred you to the following code. Thank you very much.
https://www.erestage.com/arduino/remo_recv/
The code was used as it was except that the input port was changed to pin 3.

The receiving module used the following.
Infrared Remote Control Reception Module GP1UXC41QS

http://akizukidenshi.com/catalog/g/gI-06487/
We were able to acquire ON / OFF data respectively.

ON
4038079,262,257,91,79,88,79,89,79,89,183,88,183,89,182,89,180,91,79,89,5385,262,260,88,77,91,79,89,79,88,182,89,183,88,183,88,182,89,79,89,
2017997,262,260,88,79,88,79,89,79,89,183,88,183,89,183,89,183,88,79,89,5386,262,260,88,79,88,79,89,79,89,183,88,183,88,182,89,182,89,79,89,
2017997,262,260,88,79,88,79,89,79,89,183,88,183,89,183,89,183,88,79,89,5386,262,260,88,79,88,79,89,79,89,183,88,183,88,182,89,182,89,79,89,
1188009,262,261,86,82,88,77,90,79,88,183,88,181,90,183,88,181,90,79,88,5389,259,263,88,80,88,79,86,82,86,185,86,186,88,183,88,183,88,79,88,

OFF
1231448,273,252,98,70,96,72,96,175,96,72,96,175,96,172,99,72,96,175,97,5378,270,252,96,72,96,71,97,175,96,72,96,175,96,175,96,71,96,175,96,
1407149,262,260,89,79,91,77,88,182,89,79,88,183,88,183,88,79,88,183,90,5386,262,257,93,77,89,79,90,181,91,77,91,181,90,181,91,77,91,178,93,
1338940,269,255,93,74,93,74,93,178,93,74,93,176,95,178,93,74,93,175,96,5383,266,255,93,74,93,74,93,179,92,75,93,179,92,179,92,75,92,179,93,
1338940,269,255,93,74,93,74,93,178,93,74,93,176,95,178,93,74,93,175,96,5383,266,255,93,74,93,74,93,179,92,75,93,179,92,179,92,75,92,179,93,

Next I would like to send.

 

我收到了GR-COTTON的遙控器。
http://gadget.renesas.com/ja/product/cotton.html
GR-COTTON是GR-ADZUKI的兄弟模塊。
GR-COTTON
http://akizukidenshi.com/catalog/g/gK-09867/
遙控器使用電燈的開/關。
吸頂燈專用遙控開關[產品編號] 07 – 8250 OCR – 04 W

https://www.amazon.co.jp/%E5%A4%A9%E4%BA%95%E7%85%A7%E6%98%8E%E5%99%A8%E5%85%B7%E5%B0%82%E7%94%A8-%E3%83%AA%E3%83%A2%E3%82%B3%E3%83%B3%E3%82%B9%E3%82%A4%E3%83%83%E3%83%81-%E5%93%81%E7%95%AA-07-8250-OCR-04W/dp/B01ABMGF1Y/ref=sr_1_sc_1?s=electronics&ie=UTF8&qid=1518391236&sr=1-1-spell&keywords=%E3%83%AA%E3%83%B3%E3%82%B3%E3%83%B3%E3%80%80%E9%9B%BB%E7%81%AF
天花板照明燈具專用遙控開關[產品編號] 07 – 8250
http://www.ohm-electric.co.jp/product/c02/c0201/19580/

我把你介紹給下面的代碼。 非常感謝。
https://www.erestage.com/arduino/remo_recv/

代碼原樣使用,只是輸入端口更改為引腳3。

接收模塊使用以下內容。
紅外遙控接收模塊GP1UXC41QS

http://akizukidenshi.com/catalog/g/gI-06487/
我們能夠分別獲取ON / OFF數據。

ON
4038079,262,257,91,79,88,79,89,79,89,183,88,183,89,182,89,180,91,79,89,5385,262,260,88,77,91,79,89,79,88,182,89,183,88,183,88,182,89,79,89,
2017997,262,260,88,79,88,79,89,79,89,183,88,183,89,183,89,183,88,79,89,5386,262,260,88,79,88,79,89,79,89,183,88,183,88,182,89,182,89,79,89,
2017997,262,260,88,79,88,79,89,79,89,183,88,183,89,183,89,183,88,79,89,5386,262,260,88,79,88,79,89,79,89,183,88,183,88,182,89,182,89,79,89,
1188009,262,261,86,82,88,77,90,79,88,183,88,181,90,183,88,181,90,79,88,5389,259,263,88,80,88,79,86,82,86,185,86,186,88,183,88,183,88,79,88,

OFF
1231448,273,252,98,70,96,72,96,175,96,72,96,175,96,172,99,72,96,175,97,5378,270,252,96,72,96,71,97,175,96,72,96,175,96,175,96,71,96,175,96,
1407149,262,260,89,79,91,77,88,182,89,79,88,183,88,183,88,79,88,183,90,5386,262,257,93,77,89,79,90,181,91,77,91,181,90,181,91,77,91,178,93,
1338940,269,255,93,74,93,74,93,178,93,74,93,176,95,178,93,74,93,175,96,5383,266,255,93,74,93,74,93,179,92,75,93,179,92,179,92,75,92,179,93,
1338940,269,255,93,74,93,74,93,178,93,74,93,176,95,178,93,74,93,175,96,5383,266,255,93,74,93,74,93,179,92,75,93,179,92,179,92,75,92,179,93,

接下來我想發送。

 

GR-ADZUKI MOTOR

今回は、GR-ADZUKIでモータを動かします。
GR-ADZUKIは2個のモータを制御できます。
http://gadget.renesas.com/ja/product/adzuki.html
ROHM BD6211Fというブラシ付きモータ用Hブリッジドライバが2個搭載されています。
http://akizukidenshi.com/download/ds/rohm/bd621x-j.pdf#search=%27BD6211F%27
モータなどは、以下のパーツ類を使用しました。
ユニバーサルプレートセット
http://www.tamiya.com/japan/products/70098/index.html
トラック&ホイールセット
http://www.tamiya.com/japan/products/70100/index.html
ダブルギヤボックス(左右独立4速タイプ)
http://www.tamiya.com/japan/products/70168/index.html
電池ボックス 単4×4本 リード線・フタ・スイッチ付
http://akizukidenshi.com/catalog/g/gP-00735/




プログラムの説明をします。
モータコネクタのピン番号定義を行います。Fが前進、Bが後退です。
int MOTOR0_F = 9;
int MOTOR0_B = 10;
int MOTOR1_F = 6;
int MOTOR1_B = 11;
次に速度、最高速度、速度の変化量を定義します。
int Speed = 0;
int MaxSpeed = 150;
int SpeedAmount = 5;

setup() 関数で、モータコネクタピンをすべて出力ピンに設定します。
pinMode(MOTOR0_F, OUTPUT);
pinMode(MOTOR0_B, OUTPUT);
pinMode(MOTOR1_F, OUTPUT);
pinMode(MOTOR1_B, OUTPUT);

loop()関数でスピードを設定します。
スピード設定は、analogWrite()関数を使用します。
analogWrite(MOTOR0_F, Speed);
analogWrite(MOTOR0_B, 0);
analogWrite(MOTOR1_F, Speed);
analogWrite(MOTOR1_B, 0);

スピードを変化させます。
Speed = Speed + SpeedAmount;

スピードが最大値になると減速に転じます。スピードが0になると加速に転じます。
if (Speed == 0 || Speed == MaxSpeed) {
SpeedAmount = -SpeedAmount ;
}

100msecごとに処理を繰り返します。
delay(100);

サンプルプログラムは以下にあります。
https://github.com/jendo1969/GR-ADZUKI2/blob/master/Motor/Motor.ino

 

This time, I will move the motor with GR-ADZUKI.
GR-ADZUKI can control two motors.

http://gadget.renesas.com/ja/product/adzuki.html
Two ROHM BD6211F H-bridge drivers with brushed motors are mounted.
http://akizukidenshi.com/download/ds/rohm/bd621x-j.pdf#search=%27BD6211F%27
Motor etc used the following parts.
Universal Plate Set
http://www.tamiya.com/japan/products/70098/index.html
Track & Wheel Set
http://www.tamiya.com/japan/products/70100/index.html
Double gearbox (left and right independent 4 speed type)
http://www.tamiya.com/japan/products/70168/index.html
Battery box single 4 x 4 pcs Lead wire / lid / switch included
http://akizukidenshi.com/catalog/g/gP-00735/

I will explain the program.
Define the pin number of the motor connector. F is forward and B is backward.

int MOTOR0_F = 9;
int MOTOR0_B = 10;
int MOTOR1_F = 6;
int MOTOR1_B = 11;
Next, define speed, maximum speed, speed change.
int Speed = 0;
int MaxSpeed = 150;
int SpeedAmount = 5;

In the setup() function, set all motor connector pins to output pins.
pinMode(MOTOR0_F, OUTPUT);
pinMode(MOTOR0_B, OUTPUT);
pinMode(MOTOR1_F, OUTPUT);
pinMode(MOTOR1_B, OUTPUT);

Set the speed with the loop() function.
The speed setting uses the analogWrite() function.

analogWrite(MOTOR0_F, Speed);
analogWrite(MOTOR0_B, 0);
analogWrite(MOTOR1_F, Speed);
analogWrite(MOTOR1_B, 0);

It changes the speed.
Speed = Speed + SpeedAmount;

When the speed reaches its maximum value, it starts to decelerate. When the speed becomes 0, it starts to accelerate.
if (Speed == 0 || Speed == MaxSpeed) {
SpeedAmount = -SpeedAmount ;
}

Repeat the process every 100msec.
delay(100);

The sample program is below.
https://github.com/jendo1969/GR-ADZUKI2/blob/master/Motor/Motor.ino

 

這一次,我會用GR-ADZUKI移動電機。
GR-ADZUKI可以控制兩台電機。

http://gadget.renesas.com/ja/product/adzuki.html
兩台帶有電刷的ROHM BD6211F H橋驅動器被安裝。
http://akizukidenshi.com/download/ds/rohm/bd621x-j.pdf#search=%27BD6211F%27
電機等使用以下部件。
通用板組
http://www.tamiya.com/japan/products/70098/index.html
軌道和輪組
http://www.tamiya.com/japan/products/70100/index.html
雙變速箱(左右獨立4速型)
http://www.tamiya.com/japan/products/70168/index.html
電池盒單個4 x 4 pcs導線/蓋子/開關包括在內
http://akizukidenshi.com/catalog/g/gP-00735/

我會解釋一下這個程序。
定義電機連接器的引腳號。 F向前,B向後。

int MOTOR0_F = 9;
int MOTOR0_B = 10;
int MOTOR1_F = 6;
int MOTOR1_B = 11;
接下來,定義速度,最大速度,速度變化。
int Speed = 0;
int MaxSpeed = 150;
int SpeedAmount = 5;

在setup()函數中,將所有電機連接器引腳設置為輸出引腳。
pinMode(MOTOR0_F, OUTPUT);
pinMode(MOTOR0_B, OUTPUT);
pinMode(MOTOR1_F, OUTPUT);
pinMode(MOTOR1_B, OUTPUT);

使用loop()函數設置速度。
速度設置使用analogWrite()函數。

analogWrite(MOTOR0_F, Speed);
analogWrite(MOTOR0_B, 0);
analogWrite(MOTOR1_F, Speed);
analogWrite(MOTOR1_B, 0);

它改變了速度。
Speed = Speed + SpeedAmount;

當速度達到最大值時,開始減速。 速度變為0時開始加速。
if (Speed == 0 || Speed == MaxSpeed) {
SpeedAmount = -SpeedAmount ;
}

每100毫秒重複這個過程。
delay(100);

示例程序如下。
https://github.com/jendo1969/GR-ADZUKI2/blob/master/Motor/Motor.ino