Nerves.Grove
Grove module support for Nerves.
Examples
alias Nerves.Grove
# Button
{:ok, pid} = Grove.Button.start_link(pin)
state = Grove.Button.read(pid) # check if button is pressed
# Buzzer
{:ok, pid} = Grove.Buzzer.start_link(pin)
Grove.Buzzer.beep(pid, 0.1) # make some noise for 100 ms
# OLED Display (96×96)
{:ok, pid} = Grove.OLED.Display.start_link
Grove.OLED.Display.reset(pid)
Grove.OLED.Display.clear(pid)
Grove.OLED.Display.set_text_position(pid, 0, 0)
Grove.OLED.Display.put_string(pid, "Hello, world")
# Relay
{:ok, pid} = Grove.Relay.start_link(pin)
Grove.Relay.on(pid) # start current flow
Grove.Relay.off(pid) # stop current flowReference
https://hexdocs.pm/nerves_grove/
Modules
| Module | Type | Device |
|---|---|---|
Grove.Button | Digital | Seeed Studio Grove Button |
Grove.Buzzer | Digital | Seeed Studio Grove Buzzer |
Grove.OLED.Display | I2C | Seeed Studio Grove OLED Display 96×96 |
Grove.Relay | Digital | Seeed Studio Grove Relay |
Installation
Add nerves_grove to your list of dependencies in your project's mix.exs file:
defp deps do
[{:nerves_grove, "~> 0.2.0"}]
endAlternatively, to pull in the dependency directly from a Git tag:
defp deps do
[{:nerves_grove, github: "bendiken/nerves_grove", tag: "0.2.0"}]
endAlternatively, to pull in the dependency directly from a Git branch:
defp deps do
[{:nerves_grove, github: "bendiken/nerves_grove", branch: "master"}]
end