func NewOutput(p uint, initHigh bool) Pin {
	pin := Pin{
		Number: p,
	}
	exportGPIO(pin)
	time.Sleep(10 * time.Millisecond)
	initVal := uint(0)
	if initHigh {
		initVal = uint(1)
	}
	pin.direction = outDirection
	setDirection(pin, outDirection, initVal)
	pin = openPin(pin, true)
	return pin
}
NewOutput opens the given pin number for writing. The number provided should be the pin number known by the kernel
NewOutput also needs to know whether the pin should be initialized high (true) or low (false)
package gpio
import (
	"errors"
	"os"
	"time"
)
type Pin struct {
	Number    uint
	direction direction
	f         *os.File
}
func NewInput(p uint) Pin {
	pin := Pin{
		Number: p,
	}
	exportGPIO(pin)
	time.Sleep(10 * time.Millisecond)
	pin.direction = inDirection
	setDirection(pin, inDirection, 0)
	pin = openPin(pin, false)
	return pin
}