Dear Rekan Makers,
Biasanya kalau kita pakai sensor kompas, kita perlu memvisualisasikan arah. Nah, komponen ini dibuat untuk kebutuhan tersebut.
Komponen ini hanya bisa digunakan di platform TinyCLR yaitu dev platform untuk embedded system dengan menggunakan .NET CLR yang disederhanakan sehingga ringan dan cepat. Bahasa yang digunakan adalah C#
Penggunaan
Cara menggunakan komponen ini sederhana sekali, silakan ikuti langkah berikut:
- Install visual studio 2022 kalau belum punya dari Visual Studio 2022 Community Edition – Download Latest Free Version (microsoft.com)
- Install extension TinyCLR dari Downloads (ghielectronics.com)
- Lalu download solusinya dari: Gravicode/TinyCLR.Compass: This is component for drawing compass in TinyCLR Devices (github.com)
- Contoh kodingnya seperti ini:
GpioPin backlight = GpioController.GetDefault().OpenPin(SC20260.GpioPin.PA15); backlight.SetDriveMode(GpioPinDriveMode.Output); backlight.Write(GpioPinValue.High); var displayController = DisplayController.GetDefault(); // Enter the proper display configurations displayController.SetConfiguration(new ParallelDisplayControllerSettings { Width = 800, Height = 480, DataFormat = DisplayDataFormat.Rgb565, Orientation = DisplayOrientation.Degrees0, //Rotate display. PixelClockRate = 24000000, PixelPolarity = false, DataEnablePolarity = false, DataEnableIsFixed = false, HorizontalFrontPorch = 16, HorizontalBackPorch = 46, HorizontalSyncPulseWidth = 1, HorizontalSyncPolarity = false, VerticalFrontPorch = 7, VerticalBackPorch = 23, VerticalSyncPulseWidth = 1, VerticalSyncPolarity = false, }); displayController.Enable(); //This line turns on the display I/O and starts // refreshing the display. Native displays are // continually refreshed automatically after this // command is executed. var screen = Graphics.FromHdc(displayController.Hdc); var compass = new Compass(new CompassSize ( 400, 400)); Random random = new Random(); Bitmap bmp; var degree = 0; while (true) { compass.Degree = degree; bmp = compass.GetBitmap(); screen.Clear(); screen.DrawImage(bmp, 0, 0); screen.Flush(); degree+=10; if (degree > 360) degree=0; Thread.Sleep(1000); }
Semoga Manfaat,
-Salam Makers