Raspberry Pi

  • Raspberry PiでADS1115を使う
    Raspberry PiでADS1115を使う I2CアドレスはADDR端子の配線で設定する。 ADS1115 I2C Address ADDR pin connection I2C address GND 0x48 VDD 0x49 SDA 0x4A SCL 0x4B 使用したI2Cチャネルは1。 ADS1115 Register Pointer Description 0x00 Conversion Register : AD変換結果 0x01 Config Register : 設定 ADS1115のレジスタデータはBig Endianだが、pigpio の I2CライブラリはSMBusベースなので Little Endianである。よって上位バイトと下位バイトを入れ替える必要がある。 Config Register 0x01 Bit Field Set Description 15 OS 0 No efect 14:12 MUX 0b100 Input single end AIN0 11:9 PGA[2:0: 0b001 Full Scale 4.096V 8 MODE 0 Continuous-conversion mode 7:5 DR 0b010 Speed 32 Sample/s 4 COMP_MODE 0 Normal ...
  • Raspberry Pi Pico – Picoprobe
    Raspberry Pi Pico w/picoprobe 目的 Raspberry Pi Picoのソフトウェアを開発するため書き込みとデバッグを行う環境をセットアップする。HostはM1 Mac。MacからPicoprobeへはUSBで接続し、PicoprobeからターゲットpicoへはSWDで接続する。 構成 flowchart LR subgraph M1 Mac w/vscode gdb ...
  • Benchmark M1 processor
    Benchmark 自分が管理しているPCで計算処理のベンチマークを実施した。実行サンプルはnumpyで作成した4.5M要素の演算と探索を行いコンター図を出力するプログラムである。 1位 MacBook Pro 2021 Apple M1 Pro RAM 32GB ARM64 計算時間 2 min 56 s 2位 MacBook Pro 2021 Apple M1 Pro RAM 32GB Rosetta 計算時間 4 min 46 s 3位 Windows10 desktop 2020 Xeon 4GHz RAM 32GB 計算時間 5 min 11 s 4位 Windows10 note 2020 Core i5 ...
  • Raspberry Pi Cmd Launcher
    Raspberry Pi Cmd Launcher Raspberry Piにキャラクタ液晶とプッシュスイッチを組み合わせてランチャーを製作する。 スイッチは左ボタンと右ボタンとエンターボタンの3つとする。液晶に表示されたメニューから左右ボタンで希望のコマンドを選択しエンターボタンで実行する。ユーザフィードバックはピエゾ素子で音を発生。 Hardware 液晶はi2c接続の2行8桁のものを使用する。秋月電子で販売中のバスリピーター付きのLCD(AQM0802A)。 スイッチは小さなプッシュ型でエンターボタンは少し大きめのものを選んだ。家庭内在庫品だ。 graph LR subgraph Raspberry Pi i2c pwm ...
  • CAN通信アダプタ Raspberry Pi zero W
    CAN network adapter Raspberry Pi zero を使用したCAN通信が可能なアダプタ。PCに接続して使用する。ケースはFRISK。本家フォーラムの記事を参考に製作した。2021年8月に製作した記録。 参考記事 CAN bus on raspberry pi with MCP2515 CAN bus communication to and from a Pi Block diagram Hardware plan 操作盤のMac/PCとラズパイはUSB接続。ラズパイへの電源供給を兼ねる。ラズパイとCANコントローラはSPI接続。 graph LR pc ...
  • Raspberry Pi 可変抵抗器の接続と読み込み
    Raspberry Pi and Variable-Resistor Plan ADコンバータを使わずにRasPiに可変抵抗器(ボリューム)を接続してアナログ的な指示を入力する。変換速度の制約がないのでコンデンサへ充電させ充電時間を測定することで可変抵抗器の抵抗値をパルス幅へ変換する。遅いけどいいのだ。 Schematic 最小限の構成を考える。GPIO5から充放電パルス波形を出力しGPIO6に時定数だけ遅れたパルスを入力する。 Simulation 期待通り動作するかLTspiceで事前にシミュレーションする。 Symbol Discription V1 充放電タイミングを生成GPIO出力 V2 ロジック電源3.3V Q1 充電用トランジスタスイッチ Q2 放電用トランジスタスイッチ Q3 GPIO入力信号整形用トランジスタ R2 外付け可変抵抗器 C1 時定数を決めるコンデンサ Simulation result Green: GPIO出力充放電タイミングパルス電圧 Blue: 時定数決定用コンデンサ端子電圧 Red: GPIO入力電圧 Green波形の立下りからRed波形の立下りまでの時間を測定しパルス幅とする。 Conversion characteristics 可変抵抗器の値を変化させシミュレーションしパルス幅を記録する。 横軸: パルス幅 縦軸: 可変抵抗器の抵抗値 実装は実機にてパルス幅を測定し変換テーブルか近似式を作成して利用する。 Sample software 可変抵抗の値に応じてターミナルにテキストでゲージを表示するサンプル。 #!/usr/bin/python3 import time import pigpio pi = pigpio.pi() pi.set_mode(5, pigpio.OUTPUT) pi.set_mode(6, pigpio.INPUT) pi.set_pull_up_down(6, pigpio.PUD_UP) pi.set_PWM_range(5, 100) # gpio, pi.set_PWM_frequency(5, 10) # ...
  • Raspberry Pi に Beep音を実装する
    Beep sound on Raspberry Pi ラズパイにBeep音を実装したい。起動完了やアラート発生時にピッ・プーーと鳴らすのだ。 Hardware Hardware PWMを利用した実装例です。 Schematic BOM Name Type Spec. Piezo sounder Murata PKM13EPYH4000-A0 Dia.13mm, t6.9mm, 30Vp-p max. Transister Rohm DTC143E NPN Digital Tr. Rb=4.7kΩ, Rbe=4.7kΩ Resister Carbon film 10kΩ 0.1W Software Hardware PWMを利用した実装例です。 Source code python3 PIGPIOモジュールを使用しました。beep(0) でピポッです。 これから動作確認します。(^^;) import pigpio BEEP_PORT = 13 BEEP_DUTY = 500000 pi = pigpio.pi() def beep(pattern_id=0): ...
  • Raspberry Pi 液晶モニタ電源スイッチ
    液晶モニタに電源スイッチを追加 Raspberry Pi に接続しているNTSC液晶モニタの電源を手動でオンオフしたい。液晶の発熱がなかなかなので不要な時はモニターをオフしたい。最初はソフトウェアでNTSC信号を操作することを考えたのだがオフはできるたがオンができずに諦めた。というわけでハードウェア実装です。 スイッチは市販のタッチセンサ基板を利用した(左)。基板に設けられたパッドを切断してリード線を接続した。(右) リード線をケース外部に露出するネジへ接続する。ワニ口クリップを使用したのでどこでもスイッチになる。 Schematic TTP223は初期出力レベル(H/L)と動作(モーメンタリ/トグル)を選べるので、初期値Hレベルのトグル動作として設定した。電源投入直後は液晶はオン、タッチスイッチを触ると液晶オフ、再度触ると液晶オン。 Movie 動作の様子です。 Movie
  • Raspberry Pi 電源スイッチ
    Power on/Shutdown switch Concept 1つのトグルスイッチでRaspberry Pi の電源をオン/オフしたい。スイッチをオンすると即時起動し、オフした場合は即時に電源を切断せずにshutdownコマンドが完了するのを待機する仕組みを作成しよう。電源を自己保持するためMOSFETを設けて電源スイッチとGPIO27のORをとりMOSFETをオンすることで実現する。 Structure graph LR user((User)) tgl out soft((Software)) pwr ...