Skip to content

I2C_AS5600

Ko-ichiro Sugiyama edited this page Jan 8, 2026 · 4 revisions

https://www.seeedstudio.com/Grove-12-bit-Magnetic-Rotary-Position-Sensor-AS5600-p-4192.html

測定量

  • 外部の磁力線の「向き」が変わるのを検知する
    • このセンサを使うと回転回数のカウントや回転速度の計算ができる

サンプル

i2c = I2C.new()
encoder = AS5600.new(i2c)

puts "Searching for magnetic field..."

loop do
  if encoder.read
    puts "--- Rotary Sensor ---"
    puts "Angle:  #{encoder.angle}°"
    #puts "Raw:    #{encoder.angle_raw}"
    puts "Magnet: #{encoder.magnet_status}"

    # 磁石の強さステータスを取得
    status = encoder.magnet_status

    # 磁石が検知されていれば値を表示
    if status == "OK"
      puts "Found! Angle: #{encoder.angle}° (Raw: #{encoder.raw})"
    else
      # 磁石がない、または遠い場合はステータスを表示
      puts "Status: #{status} (Check your magnet!)"
    end
  end
  sleep 0.2
end

Clone this wiki locally