static void Main(string[] args) { var adcClock = ConnectorPin.P1Pin12.ToProcessor(); var adcMiso = ConnectorPin.P1Pin16.ToProcessor(); var adcMosi = ConnectorPin.P1Pin18.ToProcessor(); var adcCs = ConnectorPin.P1Pin22.ToProcessor(); const decimal voltage = 3.3m; using (var adcConnection = new Mcp3008SpiConnection(adcClock, adcCs, adcMiso, adcMosi, voltage)) { Console.CursorVisible = false; Console.WriteLine("MCP3008 Sample: Reading temperature on Channel 0 and luminosity on Channel 1"); Console.WriteLine(); while (!Console.KeyAvailable) { var temperature = adcConnection.Read(Mcp3008Channel.Channel0).ToCelsius(); var lux = adcConnection.Read(Mcp3008Channel.Channel1).ToLux(voltage); Console.WriteLine("Temperature = {0,5:0.0} Celsius\t\tLuminosity = {1,5:0.0} Lux", temperature, lux); Console.CursorTop--; Thread.Sleep(100); } } Console.CursorTop++; Console.CursorVisible = true; }
static void Main() { const ConnectorPin adcClock = ConnectorPin.P1Pin12; const ConnectorPin adcMiso = ConnectorPin.P1Pin16; const ConnectorPin adcMosi = ConnectorPin.P1Pin18; const ConnectorPin adcCs = ConnectorPin.P1Pin22; Console.WriteLine("MCP-3008 Sample: Reading temperature on Channel 0 and luminosity on Channel 1"); Console.WriteLine(); Console.WriteLine("\tClock: {0}", adcClock); Console.WriteLine("\tCS: {0}", adcCs); Console.WriteLine("\tMOSI: {0}", adcMosi); Console.WriteLine("\tMISO: {0}", adcMiso); Console.WriteLine(); const decimal voltage = 3.3m; var driver = new MemoryGpioConnectionDriver(); //GpioConnectionSettings.DefaultDriver; using (var adcConnection = new Mcp3008SpiConnection( driver.Out(adcClock), driver.Out(adcCs), driver.In(adcMiso), driver.Out(adcMosi))) using (var temperatureConnection = new Tmp36Connection( adcConnection.In(Mcp3008Channel.Channel0), voltage)) using (var lightConnection = new VariableResistiveDividerConnection( adcConnection.In(Mcp3008Channel.Channel1), ResistiveDivider.ForLowerResistor(10000))) { Console.CursorVisible = false; while (!Console.KeyAvailable) { var temperature = temperatureConnection.GetTemperature(); decimal resistor = lightConnection.GetResistor(); var lux = resistor.ToLux(); Console.WriteLine("Temperature = {0,5:0.0} °C\tLight = {1,5:0.0} Lux ({2} ohms)", temperature, lux, (int) resistor); Console.CursorTop--; Thread.Sleep(1000); } } Console.CursorTop++; Console.CursorVisible = true; }
public void Initialize(ConnectorPin adcClock, ConnectorPin adcMiso, ConnectorPin adcMosi, ConnectorPin adcCs) { AdcClock = adcClock; AdcMiso = adcMiso; AdcMosi = adcMosi; AdcCs = adcCs; Console.WriteLine("MCP-3008 Sample: Reading temperature on Channel 0 and luminosity on Channel 1"); Console.WriteLine(); Console.WriteLine("\tClock: {0}", adcClock); Console.WriteLine("\tCS: {0}", adcCs); Console.WriteLine("\tMOSI: {0}", adcMosi); Console.WriteLine("\tMISO: {0}", adcMiso); Console.WriteLine(); _driver = new MemoryGpioConnectionDriver(); _adcConnection = new Mcp3008SpiConnection( _driver.Out(AdcClock), _driver.Out(AdcCs), _driver.In(AdcMiso), _driver.Out(AdcMosi)); }
static void Main() { const ConnectorPin adcClock = ConnectorPin.P1Pin12; const ConnectorPin adcMiso = ConnectorPin.P1Pin16; const ConnectorPin adcMosi = ConnectorPin.P1Pin18; const ConnectorPin adcCs = ConnectorPin.P1Pin22; Console.WriteLine("MCP-3008 Sample: Reading temperature on Channel 0 and luminosity on Channel 1"); Console.WriteLine(); Console.WriteLine("\tClock: {0}", adcClock); Console.WriteLine("\tCS: {0}", adcCs); Console.WriteLine("\tMOSI: {0}", adcMosi); Console.WriteLine("\tMISO: {0}", adcMiso); Console.WriteLine(); const decimal voltage = 3.3m; using (var adcConnection = new Mcp3008SpiConnection(adcClock.ToProcessor(), adcCs.ToProcessor(), adcMiso.ToProcessor(), adcMosi.ToProcessor(), voltage)) { Console.CursorVisible = false; while (!Console.KeyAvailable) { var temperature = adcConnection.Read(Mcp3008Channel.Channel0).ToCelsius(); var lux = adcConnection.Read(Mcp3008Channel.Channel1).ToLux(voltage); Console.WriteLine("Temperature = {0,5:0.0} Celsius\t\tLuminosity = {1,5:0.0} Lux", temperature, lux); Console.CursorTop--; Thread.Sleep(100); } } Console.CursorTop++; Console.CursorVisible = true; }