mruby/c 3.3 Standard I/O Class Support

LED blinking (onboard LED)

RBoard Original Method

while true
  leds_write(1)
  sleep(1)
  leds_write(0)
  sleep(1)
end
Use class methods

GPIO.setmode( 0, GPIO::OUT )
while true
  GPIO.write_at( 0, 1 )
  sleep(1)
  GPIO.write_at( 0, 0 )
  sleep(1)
end
Use instance methods

led1 = GPIO.new( 0, GPIO::OUT )
while true
  led1.write( 1 )
  sleep(1)
  led1.write( 0 )
  sleep(1)
end
Pin settings for PIC enthusiasts

led1 = GPIO.new( "A0", GPIO::OUT )
while true
  led1.write( 1 )
  sleep(1)
  led1.write( 0 )
  sleep(1)
end


while true
  leds_write(sw())
end


led = GPIO.new( 20, GPIO::OUT )
while true
  led.write( 1 )
  sleep(1)
  led.write( 0 )
  sleep(1)
end

http://wiki.seeedstudio.com/Grove-Button/

sensor = GPIO.new( 15, GPIO::IN )
while true
  leds_write(sensor.read())
end

7-segment LED

Using the 74HC4511, output can be easily obtained from leds_write(pins 0,1,5,6).

while true
  10.times do |j|
    leds_write(j)
    sleep(1)
  end
end

Relay: https://www.switch-science.com/catalog/807/

relay = GPIO.new( 15, GPIO::OUT )
while true
  relay.write( 1 )
  sleep(1)
  relay.write( 0 )
  sleep(1)
end