C# 使用.net core 驅動樹莓派的IO信號


如何使用.net core來驅動樹莓派的IO信號?是我們的實際項目需求中,可能就會有這種小項目,我們要輸出一個IO信號,此處我們拿了樹莓派4做測試

 

 一共有兩排引腳,引腳的順序定義及功能如下:

 

 我們就參考兩側的灰色的索引文本就好了,好了,我們來新建項目了,新建一個.Net Core的項目,當然是用最新的VS2019了

 

 

然后安裝system.Device.GPIO 庫,會附帶一些庫信息。

然后我們寫程序:

        static void Main( string[] args )
        {
            Console.WriteLine( "請輸入你要控制的針腳:" );
            int index = int.Parse( Console.ReadLine( ) );

            System.Device.Gpio.GpioController controller = new System.Device.Gpio.GpioController( System.Device.Gpio.PinNumberingScheme.Board );
            if(!controller.IsPinOpen( index ))
            {
                controller.OpenPin( index );
                controller.SetPinMode( index, System.Device.Gpio.PinMode.Output );
            }


            Console.WriteLine( "請選擇控制模式?輸入1是間隔1秒交替變化,輸入2是間隔10秒交替變化,輸入3是手動控制變化" );
            int mode = int.Parse( Console.ReadLine( ) );

            if (mode == 1 || mode == 2)
            {
                while (true)
                {
                    Console.WriteLine( "正在寫入True值" );
                    controller.Write( index, System.Device.Gpio.PinValue.High );
                    Thread.Sleep( mode == 1 ? 1000 : 10000 );
                    Console.WriteLine( "正在寫入False值" );
                    controller.Write( index, System.Device.Gpio.PinValue.Low );
                    Thread.Sleep( mode == 1 ? 1000 : 10000 );
                }
            }
            else
            {
                while (true)
                {
                    Console.WriteLine( "你輸入你接下來要寫入的值,0代表低電平,1代表高電平" );
                    int value = int.Parse( Console.ReadLine( ) );
                    controller.Write( index, value == 1 ? System.Device.Gpio.PinValue.High : System.Device.Gpio.PinValue.Low );
                }
            }
        }

然后就是發布了,直接發布獨立的版本,雖然帶了很多的環境,但是省事。

 

 

 

然后把文件都拷貝到樹莓派里面

 

 

 

通過萬用表的測試發現,樹莓派的GPIO針腳的輸出為 3.3V  40 ma,驅動能力非常弱。感謝支持。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM