gobot.io/x/gobot/v2@v2.1.0/examples/neurosky.go (about)

     1  //go:build example
     2  // +build example
     3  
     4  //
     5  // Do not build by default.
     6  
     7  package main
     8  
     9  import (
    10  	"fmt"
    11  
    12  	"gobot.io/x/gobot/v2"
    13  	"gobot.io/x/gobot/v2/platforms/neurosky"
    14  )
    15  
    16  func main() {
    17  	adaptor := neurosky.NewAdaptor("/dev/rfcomm0")
    18  	neuro := neurosky.NewDriver(adaptor)
    19  
    20  	work := func() {
    21  		neuro.On(neuro.Event("extended"), func(data interface{}) {
    22  			fmt.Println("Extended", data)
    23  		})
    24  		neuro.On(neuro.Event("signal"), func(data interface{}) {
    25  			fmt.Println("Signal", data)
    26  		})
    27  		neuro.On(neuro.Event("attention"), func(data interface{}) {
    28  			fmt.Println("Attention", data)
    29  		})
    30  		neuro.On(neuro.Event("meditation"), func(data interface{}) {
    31  			fmt.Println("Meditation", data)
    32  		})
    33  		neuro.On(neuro.Event("blink"), func(data interface{}) {
    34  			fmt.Println("Blink", data)
    35  		})
    36  		neuro.On(neuro.Event("wave"), func(data interface{}) {
    37  			fmt.Println("Wave", data)
    38  		})
    39  		neuro.On(neuro.Event("eeg"), func(data interface{}) {
    40  			eeg := data.(neurosky.EEGData)
    41  			fmt.Println("Delta", eeg.Delta)
    42  			fmt.Println("Theta", eeg.Theta)
    43  			fmt.Println("LoAlpha", eeg.LoAlpha)
    44  			fmt.Println("HiAlpha", eeg.HiAlpha)
    45  			fmt.Println("LoBeta", eeg.LoBeta)
    46  			fmt.Println("HiBeta", eeg.HiBeta)
    47  			fmt.Println("LoGamma", eeg.LoGamma)
    48  			fmt.Println("MidGamma", eeg.MidGamma)
    49  			fmt.Printf("\n\n")
    50  		})
    51  	}
    52  
    53  	robot := gobot.NewRobot("brainBot",
    54  		[]gobot.Connection{adaptor},
    55  		[]gobot.Device{neuro},
    56  		work,
    57  	)
    58  
    59  	robot.Start()
    60  }