今回はCCDラインセンサTCD1304(PDFリンク)を紹介します。CCDラインセンサはバーコードスキャナ等に搭載されるフォトダイオードアレイセンサでTCD1304の場合は1x3648の解像度で光の強度を取り込むことができます。バーコードスキャナ以外の用途としてはプリズムと組み合わせて自作の分光スペクトル測定装置を作る例があるようです。
一般的なイメージセンサの場合、画素が多く、ArduinoやSTM32マイコン等で処理できなくはありませんが、メモリや処理能力が制限される中で複雑な処理が難しいです。一方、CCDラインセンサは画素が1x3648でマイコンでも十分処理が可能です。また、接続インタフェースはタイミング信号に合わせてアナログで各画素が出力されるため、同様に扱いやすいです。
Arduinoを使ってTCD1304を試食してみました。
TCD1304で取り込んだ各画素の光強度をエクセルの条件付き書式で色付けしてみました。
横軸が各画素、縦軸が時間経過です。光の強い左側が反応していることが分かります。
こちらの例のようにきれいなオブジェクト検出になっておらず、光の強さと露光時間の調整が必要なようです。TCD1304は画素の検出部が30mmと長いため、分光スペクトル測定装置の他、高分解能なラインセンサや位置センサ等、いろいろマイコンと組み合わせて応用できそうなセンサだと思いました。接続インタフェースが特殊なため、SPIやI2Cといった汎用シリアルで通信できる変換基板を作成しようかと思います。