Raspberry Pi対応ロボットAlphabot2をC++から動かす

Raspberry Piから制御できるロボットであるAlphabot2を手に入れたので,組み立ててC++から動かしてみる.

f:id:noconocolib:20190514020108j:plain
組み立ててみるとこんな感じ

f:id:noconocolib:20190514020402j:plain
電源を入れるとLEDが光る

f:id:noconocolib:20190514020456p:plain
電池で動く

最初ニッケル水素電池を挿して動かそうとしたが稼働しなかった(電圧不足). リチウム電池に変えたらちゃんと動いた.

また,このAlphabot2はmicro USBポートから充電できるので,充電池を挿してあげると何回も使えて良さそう.

C++からwiringPiを使ってラズパイのGPIOに信号を送ってみる. WiringPiのPWM出力用の関数を使って,サーボ制御のためのPWM信号を出力する.

wiringpi.com

#include <wiringPi.h>
#include <stdio.h>

int RIGHT_FORWARD = 29;
int LEFT_FORWARD = 23;
int main(){
    wiringPiSetup();
    pinMode(LED,OUTPUT);

    while (1){
        digitalWrite(RIGHT_FORWARD,HIGH);
    digitalWrite(LEFT_FORWARD,HIGH);    

    delay(1000);

    digitalWrite(RIGHT_FORWARD, LOW);
    digitalWrite(LEFT_FORWARD, LOW);

    delay(1000);
    }
}

コンパイル

$ g++ test.cc -lwiringPi -lcrypto -I<path to wiringPi> -lpthread -lcrypt -lrt

上記のようなコードをラズパイ上で実行することで,きちんとホイールが回転するか確認できる.

これにEdge TPUを積んだりすると面白そう.