Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
音ゲーマーの憂鬱.py
2015.9.12 @monochrojazz
Q:何者か
・@monochrojazz
・音ゲーマー
・大学時代物理専攻だったが
会社に入ったらIT部署に配属されていた
→じゃあプログラムで音ゲーを作ろう
・セキュリティ関連の話に興味があるとかないとか
Q:この発表何すか
・家で音ゲーやりたいがために勉強もかねて作ったもの
(+α)を紹介
・その一部にpythonが使われていたりするのでその時
使ったコードとかモジュール等を紹介
(ややこじつけ気味)
百聞は一見に如かず
Androidアプリ+mbed+マイコン(PIC16F1827)
最近携帯コントローラも作った
出来るだけ簡単に曲を追加したい
RaspberryPi
WindowsPC
タブレット1
タッチパネルで遊ぶ用
タブレット2
外部コントローラで遊ぶ用
手動でデータ同期+
2回USBでデータ配信は
面倒
Webサーバにゲーム
データを投げる
P...
import sys
import sqlite3
argvs = sys.argv
conn = sqlite3.connect(argvs[1])
conn_sub = sqlite3.connect(argvs[2])
conn_sub....
+αのお話(pythonとSPI通信)
RaspberryPi+ADCコンバータ+温度・照度センサ
参考:というかここのコードの丸パクリ
http://tech.naviplus.co.jp/2014/07/23/raspberry-
pi%E3%81%A7ad%E3%82%B3%E3%83%B3%E3%83
%90%E3%83%BC%E3%...
import spidev
import time
CE=0
spi = spidev.SpiDev()
spi.open(0,CE)
while True:
raw = spi.xfer2([0x68,0x00]) # 0b01101000,...
温度と照度が取れた
照度センサに手をかざして暗くする
温度センサを温める
Upcoming SlideShare
Loading in …5
×

音ゲーマーの憂鬱

570 views

Published on

自作音ゲーコントローラの紹介とその周辺で使ったPythonの話。
自作音ゲー自体は公開していないことにご留意を。

Published in: Devices & Hardware
  • Be the first to comment

  • Be the first to like this

音ゲーマーの憂鬱

  1. 1. 音ゲーマーの憂鬱.py 2015.9.12 @monochrojazz
  2. 2. Q:何者か ・@monochrojazz ・音ゲーマー ・大学時代物理専攻だったが 会社に入ったらIT部署に配属されていた →じゃあプログラムで音ゲーを作ろう ・セキュリティ関連の話に興味があるとかないとか
  3. 3. Q:この発表何すか ・家で音ゲーやりたいがために勉強もかねて作ったもの (+α)を紹介 ・その一部にpythonが使われていたりするのでその時 使ったコードとかモジュール等を紹介 (ややこじつけ気味)
  4. 4. 百聞は一見に如かず
  5. 5. Androidアプリ+mbed+マイコン(PIC16F1827)
  6. 6. 最近携帯コントローラも作った
  7. 7. 出来るだけ簡単に曲を追加したい RaspberryPi WindowsPC タブレット1 タッチパネルで遊ぶ用 タブレット2 外部コントローラで遊ぶ用 手動でデータ同期+ 2回USBでデータ配信は 面倒 Webサーバにゲーム データを投げる Pythonでデータ統合、 共有フォルダにマウント したWindowsPCに保存 WindowsPCにデータ追 加して後はタブレットで ダウンロード 昔RaspberryPi からデータ統合プログ ラム.exe(C#) を動かしていたがWin8 からできなくなった
  8. 8. import sys import sqlite3 argvs = sys.argv conn = sqlite3.connect(argvs[1]) conn_sub = sqlite3.connect(argvs[2]) conn_sub.row_factory = sqlite3.Row sql_sel = "select * from gameData" cursor = conn_sub.cursor() for row in cursor.execute(sql_sel): print (row["status"]) sql_ins = "update gameData set status = ?, score = ?, bp = ? where noteId = ?" conn.execute(sql_ins, (row["status"], row["score"], row["bp"],row["noteId"])) conn.commit() conn.close() conn_sub.close() 参考: http://d.hatena.ne.jp/hirogl_python/2010050 3/1272903240 カラム名でデータにアクセスできて見 やすい PHPで呼び出し $exe = 'python3 …/dbint.py …/Xperia/allbeater.db …/ARROWS/allbeater.db'; $pp = popen($exe, "w");
  9. 9. +αのお話(pythonとSPI通信)
  10. 10. RaspberryPi+ADCコンバータ+温度・照度センサ
  11. 11. 参考:というかここのコードの丸パクリ http://tech.naviplus.co.jp/2014/07/23/raspberry- pi%E3%81%A7ad%E3%82%B3%E3%83%B3%E3%83 %90%E3%83%BC%E3%82%BFmcp3208%E3%82%92 %E4%BD%BF%E3%81%86/ import sys import time import RPi.GPIO as GPIO class MCPLib: spi_clk = 11 spi_mosi = 10 spi_miso = 9 spi_ss = 8 def getChData(self, ch): GPIO.output(self.spi_ss, False) GPIO.output(self.spi_clk, False) GPIO.output(self.spi_mosi, False) GPIO.output(self.spi_clk, True) GPIO.output(self.spi_clk, False) 中略 # 12ビットの測定結果をADコンバータから受信 value = 0 for i in range(12): value <<= 1 GPIO.output(self.spi_clk, True) if (GPIO.input(self.spi_miso)): value |= 0x1 GPIO.output(self.spi_clk, False) GPIO.output(self.spi_ss, True) return value
  12. 12. import spidev import time CE=0 spi = spidev.SpiDev() spi.open(0,CE) while True: raw = spi.xfer2([0x68,0x00]) # 0b01101000, 0x00 value = ((raw[0]<<8)+raw[1]) & 0x3ff # Shifting operation SPIdevっていうモジュールもあるけど失敗したので諦めた http://orion- lifelog.com/2014/12/23/raspberrypi%ef%bc%88%e3% 83%a9%e3%82%ba%e3%83%99%e3%83%aa%e3%83 %bc%e3%83%91%e3%82%a4%ef%bc%89-python- spidev%e3%82%92%e4%bd%bf%e3%81%a3%e3%81% a6%e9%83%a8%e5%b1%8b%e3%81%ae%e6%b8%a9 %e5%ba%a6%e3%82%92/
  13. 13. 温度と照度が取れた 照度センサに手をかざして暗くする 温度センサを温める

×