PICAXE（ピカクス）でLチカ

## 概要
秋月電子通商にてPICAXEマイコンを扱っておりましたのでLチカしてみました。
私の開発環境がちょっと特殊でして、Mac mini Apple M1の環境で、parallels+Windows 11 ARM版を動かして、その環境でPICAXE Editorを使うというネタになります。

## 購入したもの
書き込み器はUSBシリアル変換器でいけそうでしたが、RXDとTXDの波形を電気的に反転させる必要があるので時短の為PICAXE USBダウンロードケーブルを購入しました。

PICAXE USBダウンロードケーブル
https://akizukidenshi.com/catalog/g/gM-06611/

ブレッドボード用PICAXEダウンロードケーブルコネクタ
https://akizukidenshi.com/catalog/g/gM-06612/

PICAXE-20M2
https://akizukidenshi.com/catalog/g/gI-11337/

AXE029 ブレッドボード用PICAXEダウンロードケーブルコネクタ は、PICAXE-20M2との組み合わせはブレッドボード上で横付けできませんでした。

## 動作確認環境構築（ハードウエア）
PICAXE-18M2 と PICAXE-28X2 は、ブレッドボード上で、横付けできます。
![接続1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/111210/88947c73-e7d5-873e-61ed-d894d5acdcae.png)

PICAXE-14M2 と PICAXE-20M2 は。横付けできませんので配線を入れます。
![接続2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/111210/b26ee043-63f1-043e-89de-fc2cdcf20334.png)

PICAXE USBダウンロードケーブルは、パソコンからの5Vが接続されないので、5Vの別電源が必要になります。
Lチカ用LEDを、C.6(6pin)にLEDのアノード、カソードに330Ωを接続して、0Vに接続しました。
![ジグ1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/111210/ac277ebf-1532-0b91-a323-bf1179aec61b.png)

外付け5V電源を使うのでパソコンとPICAXE USBダウンロードケーブルの間にUSBアイソレータを取り付けました。
（万が一外付け電源の電圧がPCに流入すると壊れてしまうので・・・パソコン保護のため）
![ジグ2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/111210/a375745c-9f59-355c-24ee-e3688d6e7a06.png)

## 動作確認環境構築（パソコン）
### PICAXE Editor はParallels Desktpoを使用します。
開発PCはApple の Mac mini M1 2020 を使用します。
しかしPICAXE Editor 6はMac未対応でした。
https://picaxe.com/software/
![スクリーンショット 2023-12-29 23.43.26.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/111210/96cd1772-965e-8595-4efa-4c78b002441e.png)

でも大丈夫。私の環境でどうしてもWindowsアプリを動かしたい時のために、Parallels Desktop を導入しています。PICAXE Editor はx86アプリケーションの為、下図のようにParallels Desktopで、Windows11 ARMを動かして、さらにx86エミュレーションを使用して動かすことになります。
※なぜWindows ARM? Apple M1 チップは ARM系 CPUの為です。
![macos.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/111210/90edf6f2-e810-bd75-139b-ed434f1b20ac.png)
Parallels® Desktop 19 for Mac
https://www.parallels.com/jp/products/desktop/

### PICAXE USBケーブルが Windows 11 ARM で認識しない？！
PICAXE USBケーブルを接続するとParalleslsが接続先をきいてきますのでWindows11を選択します。
![para1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/111210/2c10d5da-60dc-ba42-f466-e4e67402e769.png)
![para2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/111210/141c0083-f245-5c0d-23e8-e7e915e02b15.png)
![AXE027_1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/111210/9b10c98e-3ce8-d403-6764-61891b6dfc20.png)

デバイスマネージャーで確認すると AXE027 PICAXE USBが認識されていません。
![usb1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/111210/8369074b-9be5-a6af-290e-9e0fc8d34a22.png)

FTDIのWindows ARM用デバイスドライバもダウンロードしてドライバーの更新からフォルダを指定してもデバイスドライバを読み込んでくれませんでした。
https://www.ftdicommunity.com/index.php?topic=753.0

2023/12/30
以下のURLからWindows ARM用のFTDIデバイスドライバのダウンロードができます。
https://ftdichip.com/wp-content/uploads/2022/02/CDM-v2.12.36.4-for-ARM64-Signed-Distributable.zip
リンク切れてしまったら、こちらからどうぞ。
https://ftdichip.com/drivers/d2xx-drivers/
![ftdt6.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/111210/e559ff7f-b597-6737-2b5d-5999b40e41a2.png)

### AXE027 PICAXE USBはプロダクトIDが書き換えられている

AXE027 Programming Tool ( PICAXE USB )のWebページを読むとプロダクトIDが0xbd90に変えられているのが確認できます。Windows11 ARMでなければPICAXE社のデバイスドライバでインストールできますがWindows11 ARM用のデバイスドライバが用意されていません。
https://picaxe.com/axe027-programming-tool/

![axe027.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/111210/99167310-f66f-a22a-97fe-e0ec30521819.png)

マニュアルを読むとベンダIDを0xbd90から、0x0403に変更するとよさそうです。
https://picaxe.com/docs/axe027.pdf
The unique product id for the AXE027 USB cable is 0xbd90. The vendor id is 0x0403.
However the default driver ftdi_sio, as installed by most Linux distributions, only recognizes a few product ids for the FTDI chip (e.g. 0x6001). Therefore it is required to ‘patch’ the driver so that it correctly supports the AXE027’s 0xbd90 product id.

### FT_PROG 3.12.45.652 - EEPROM Programming Utility

Product IDを書き換えるツールはFT_PROGを使用しますのでダウンロードします。
https://ftdichip.com/utilities/
![ftprog.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/111210/c5f31b18-43d2-f38d-38fe-1a8af6cbf8ba.png)

※intel Mac bookにブートキャンプにてWindowsを入れてあるMacがありますのでこちらで作業します。

Product ID が 0xBC90 になっています。
![ftdt2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/111210/54b38358-4f18-57ed-8fec-a71b1071465d.png)

ここを0x6001に変更して、DEVICES->Program と操作して書き換えます。
![ftdt4.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/111210/2a7b4239-c417-dc28-055e-0af80a84c303.png)

はい、Windows11 ARM上で、USB Serial Port として認識できました！
デバイス名は FT232R USB UART になります。
![ftdt7.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/111210/b45ed0f3-b21e-f30f-575a-5b0aaa0abbf6.png)

![usb2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/111210/a606bfdc-c9b1-3adb-33a9-517483ce5355.png)

### PICAXE Editorのインストール

https://picaxe.com/software/
![PICAXE editor6.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/111210/8f01012d-ccb3-ac4f-ba1e-0ddf62e8acb9.png)

.NET Framwork 3.5を有効にと記載されていますので。
![PICAXE3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/111210/c9c9714a-3ea6-637c-22e9-f8d45db1fb19.png)

検索窓から、[Windows Features]と入力して、Windowsの機能の有効化または無効化を選択します。
![winndows.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/111210/c426855a-1b0f-0859-e891-2ba8c558c263.png)

.NET Framwork 3.5にチェックを入れて[OK]を押下します。
![図1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/111210/0573bdda-7568-125f-2bcf-14ee5680b384.png)

PICAXE Editor 6.2.0.0 が立ち上がりました。COMポートもちゃんと認識しています。
![edtor1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/111210/e949c8b7-848d-895c-a28d-277d5228af26.png)

## やっとLチカ
c.4ポートに対して1秒置きに ON/OFFを繰り返せば良いので、こんな感じのプログラムですね。
```cpp
main:
    high c.4
    pause 1000
    low c.4
    pause 1000
    goto main
```
![edtor2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/111210/7ee0c3a7-4228-176b-eb65-2d0906bebf8e.png)
シミュレーションを動かすと動作確認ができます。
![edtor3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/111210/b7d66d9f-965c-98f1-11eb-147e33563eff.png)

無事動きました。
![IMG_8159.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/111210/25ee0c95-871b-cef6-e5f2-2eb45b484624.png)

動画
https://twitter.com/masashi_214/status/1740910222804476036

## 最後に
Apple M1で PICAXE Editor を動かすには一手間必要になりますが無事動かせることができました。参考になれば良いかなと。

## 参考リンク
本家 PICAXE Webサイト
https://picaxe.com/

秋月電子通商 PICAXE 関連
https://akizukidenshi.com/catalog/c/cpicaxe/

ニコニコ動画 PICAXE　関連
https://www.nicovideo.jp/search/picaxe


## PICAXE関連の投稿
PICAXE（ピカクス）でLチカ
https://qiita.com/masashi_214/items/5495503bf6bd82c1980b
PICAXE 最初に調べた事
https://qiita.com/masashi_214/items/d1acb1ecdc32de5a1698
PICAXEで鉄道模型の在線検出と信号機の制御
https://qiita.com/masashi_214/items/c728814df4f7a2453112
PICAXE（ピカクス）のポート設定
https://qiita.com/masashi_214/items/e5d5e1b9817aed754f52
PICAXE（ピカクス） リンク集
https://qiita.com/masashi_214/items/8b630b2c60ddb466b1ac
PICAXE（ピカクス）のpwm設定
https://qiita.com/masashi_214/items/f92e52837a9fa902879f
PICAXEでPWMを使用した調光機能を使って蛍を作る
https://qiita.com/masashi_214/items/0231a75ae0c77c2be206