Skip to content

Instantly share code, notes, and snippets.

@PhilOwen
PhilOwen / README.md
Last active April 5, 2017 12:35
MacのMonoでSerial通信

Mac上のMono F#からシリアルポートを使って、 Arduinoと通信する。

Macのシリアルポートから適当な周期で文字列を書き出して、 Arduinoはそれに合わせてLEDを点けたり消したりする。
ポート名とボーレートは、環境に合わせて変えること。

F#は、monoをbrewで普通にインストールしたら付いてきた。

fsharpc serial.fs && mono serial.exe

@PhilOwen
PhilOwen / Main.scala
Last active March 18, 2016 11:17
Open Kinect for Processingで深度値を可視化
import processing.core._
object Main extends App {
PApplet.main("RawDepthApp")
}
@PhilOwen
PhilOwen / DepthApp.scala
Last active March 19, 2016 12:38
Open Kinect for Processingで深度画像や動画を取得して表示
import processing.core._
import org.openkinect.freenect._
import org.openkinect.processing._
class DepthApp extends PApplet {
var kinect: Kinect = null
override def settings() {
size(800, 600)
}
@PhilOwen
PhilOwen / FirmataApp.scala
Last active July 9, 2017 03:18
ArduinoをFirmataでScalaから制御
import processing.core._
import processing.serial._
import cc.arduino._
class FirmataApp extends PApplet {
var ard: Arduino = null
override def settings() {
size(300, 300)
}
@PhilOwen
PhilOwen / HelloApplet.scala
Last active July 8, 2016 15:41
ProcessingをScala+SBTから
import processing.core._
class HelloApplet extends PApplet {
override def settings() {
size(600, 400)
}
override def draw() {
background(30)
textSize(32)
@PhilOwen
PhilOwen / DivideActor.scala
Created March 19, 2016 13:32
初めてAkkaでActorモデル
import akka.actor.{Actor, ActorSystem, Props}
import akka.pattern.ask
import akka.util.Timeout
import scala.concurrent.duration._
import scala.util.Success
import scala.concurrent.ExecutionContext.Implicits.global
class DivideActor extends Actor {
def receive = {
case (i: Int, j: Int) if j > 0 =>
@PhilOwen
PhilOwen / CamApp.scala
Created March 19, 2016 14:02
ProcessingとScalaでカメラ動画取得
import processing.core._
import processing.video._
class CamApp extends PApplet {
var cam: Capture = null
override def settings() {
size(1280, 720)
}
override def setup() {
@PhilOwen
PhilOwen / README.md
Last active April 5, 2017 13:47
P5.jsとECMAScript 2015でボール遊び

ボールっぽいモデルを作って、P5.jsで動かしてみる。
多数のボールがあって、それぞれがバネ的な力や、速度を抑える方向の抵抗力を受けるようにした。

それだけだとユーザとのインタラクションがなくていまいちなので、 マウスのY座標(縦の位置、高さ)をバネの原点にした。 これで、マウスを縦に動かすときに、ボールが引っ張られて動く。
また、マウスを押さえている間、マウス左側にあるボールが 上へ持ち上げられる不思議な力もかけてみた。

ball.js内でBallオブジェクトを定義した。

@PhilOwen
PhilOwen / KinectDepthWindow.cs
Last active March 22, 2016 12:13
Kinectから、距離画像を表示
using System;
using System.Linq;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using Microsoft.Kinect;
public class KinectDepthWindow : Window
{
@PhilOwen
PhilOwen / KinectDepthWindow.fs
Last active March 22, 2016 12:20
Kinectで深度マップ F#版
open System
open System.Windows
open System.Windows.Controls
open System.Windows.Media
open System.Windows.Media.Imaging
open Microsoft.Kinect
type KinectDepthWindow(kinect: KinectSensor) as this =
inherit Window()
let mutable bitmap: WriteableBitmap = null