Skip to content

UniTN-Mechatronics/mruby-WiringPi

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

mruby-WiringPi

How to use

  • Install WiringPI library:

      git clone git://git.drogon.net/wiringPi
      cd wiringPi
      ./build
    
  • checkout mruby

git clone https://github.com/mruby/mruby.git  # original mruby
  # or
git clone https://github.com/iij/mruby.git    # iij extended mruby (File, IO, Socket, ... extend)
  • edit build_config.rb
MRuby::Build.new do |conf|

  # ... (snip) ...
  conf.gem :github => 'akiray03/mruby-WiringPi'  # add this line
  conf.gem :github => 'matsumoto-r/mruby-sleep'  # add this line
end
  • build ruby ./minirake
  • exec sudo ./bin/mruby build/mrbgems/mruby-WiringPi/sample/sample.rb

Pin Mapping

wiringPi GPIO (Pin#) Name
0 17 GPIO 0
1 18 GPIO 1
2 27 GPIO 2
3 22 GPIO 3
4 23 GPIO 4
5 24 GPIO 5
6 25 GPIO 6
7 4 GPIO 7
8 2 SDA
9 3 SCL
10 8 CE0
11 7 CE1
12 10 MOSI
13 9 MISO
14 11 SCLK
15 14 TxD
16 15 RxD
17 28 GPIO 8
18 29 GPIO 9
19 30 GPIO10
20 31 GPIO11

sample

io = WiringPi::GPIO.new
pin = 0
io.mode(pin, WiringPi::OUTPUT)

5.times do
  puts "pin:#{pin} set high"
  io.write(pin, WiringPi::HIGH)
  sleep 1
  puts "pin:#{pin} set low"
  io.write(pin, WiringPi::LOW)
  sleep 1
end
io.read(pin)
  • WiringPi::Serial is not tested...

sample (LCD)

wiringPi GPIO (Pin#) Name LCD Port
0 17 GPIO 0 DB0
1 18 GPIO 1 DB1
2 27 GPIO 2 DB2
3 22 GPIO 3 DB3
4 23 GPIO 4 DB4
5 24 GPIO 5 DB5
6 25 GPIO 6 DB6
7 4 GPIO 7 DB7
12 10 MOSI Enable
13 9 MISO Register Select
  • The Read/Write pin must be connected to 0V/Ground.
lcd = LCD.new rows: 18, cols: 2, bits: 8, rs: 13, strb: 12, dpin: [0,1,2,3,4,5,6,7]

lcd.lcd_pos 0, 0
lcd.lcd_puts "Hello, mruby"
lcd.lcd_pos 0, 1
lcd.lcd_puts "Hi, Raspberry Pi"

TODO

  • cross build support

License

This software is licensed under the same license terms of WiringPI.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Ruby 57.5%
  • C 42.5%