Eğitim
Öğrenme yolu
Yapay zeka uç mühendisi - Training
Bu öğrenme yolu, öğrencilere Azure hizmetlerini kullanarak uçta yapay zeka dağıtmayı açıklamayı amaçlar.
Bu tarayıcı artık desteklenmiyor.
En son özelliklerden, güvenlik güncelleştirmelerinden ve teknik destekten faydalanmak için Microsoft Edge’e yükseltin.
Analog-dijital dönüştürücü (ADC), analog giriş voltajı değerini okuyabilen ve dijital değere dönüştürebilen bir cihazdır. ADC'ler, belirli koşullara göre direnci değiştiren ritmatörlerden, potansiyometrelerden ve diğer cihazlardan değerleri okumak için kullanılır.
Bu konuda, giriş voltajını bir potansiyometre ile modüle ettikçe bir ADC'den değerleri okumak için .NET kullanacaksınız.
Not
Bu öğretici, hedef cihazın Raspberry Pi olduğu varsayılarak yazılmıştır. Ancak bu öğretici Orange Pi, ODROID ve daha fazlası gibi .NET'i destekleyen linux tabanlı SBC'ler için kullanılabilir.
SBC'nizin aşağıdaki hizmetleri destekleyecek şekilde yapılandırıldığından emin olun:
Birçok cihaz için ek yapılandırma gerekmez. Raspberry Pi için komutunu kullanın raspi-config
. hakkında raspi-config
daha fazla bilgi için Raspberry Pi belgelerine bakın.
Aşağıdaki diyagramda gösterildiği gibi bağlantı hattını oluşturmak için donanım bileşenlerini kullanın:
MCP3008, iletişim kurmak için Seri Çevre Birimi Arabirimi'ni (SPI) kullanır. Aşağıda, MCP3008 ile Raspberry Pi ve potentiometer arasındaki bağlantılar yer almaktadır:
Potansiyometre üzerindeki dış raptiyelere 3.3V ve zemin sağlayın. Düzen önemli değil.
Gerektiğinde aşağıdaki sabitleme diyagramlarına bakın:
MCP3008 | Raspberry Pi GPIO |
---|---|
![]() |
![]() Görüntü, Raspberry Pi Foundation'ın izniyle. |
İpucu
GPIO üst bilgisine bağlantıları kolaylaştırmak için bir içerik panosuyla birlikte GPIO tartışma panosu önerilir.
Tercih ettiğiniz geliştirme ortamında aşağıdaki adımları tamamlayın:
.NET CLI veya Visual Studio kullanarak yeni bir .NET Konsol Uygulaması oluşturun. AdcTutorial olarak adlandır.
dotnet new console -o AdcTutorial
cd AdcTutorial
Iot.Device.Bindings paketini projeye ekleyin. Proje dizininden veya Visual Studio'dan.NET CLI kullanın.
dotnet add package Iot.Device.Bindings --version 2.2.0-*
Program.cs dosyasının içeriğini aşağıdaki kodla değiştirin:
using System;
using System.Device.Spi;
using System.Threading;
using Iot.Device.Adc;
var hardwareSpiSettings = new SpiConnectionSettings(0, 0);
using SpiDevice spi = SpiDevice.Create(hardwareSpiSettings);
using var mcp = new Mcp3008(spi);
while (true)
{
Console.Clear();
double value = mcp.Read(0);
Console.WriteLine($"{value}");
Console.WriteLine($"{Math.Round(value/10.23, 1)}%");
Thread.Sleep(500);
}
Yukarıdaki kodda:
hardwareSpiSettings
yeni bir örneğine SpiConnectionSettings
ayarlanır. Oluşturucu parametresini busId
0, parametresini chipSelectLine
0 olarak ayarlar.SpiDevice.Create
yaparak ve geçirerek hardwareSpiSettings
bir örneğini SpiDevice
oluşturur. Bu SpiDevice
, SPI veri yolunu temsil eder. Bildirimi, using
nesnenin atılmasını ve donanım kaynaklarının düzgün bir şekilde serbest bırakılmasını sağlar.using
bildirim, öğesinin bir örneğini Mcp3008
oluşturur ve oluşturucuya geçirir SpiDevice
.while
süresiz olarak çalışır. Her yineleme:mcp.Read(0)
yaparak ADC'de CH0 değerini okur.Uygulamayı oluşturun. .NET CLI kullanıyorsanız komutunu çalıştırın dotnet build
. Visual Studio'da derlemek için Ctrl+ ShiftBtuşlarına+ basın.
Uygulamayı SBC'ye bağımsız bir uygulama olarak dağıtın. Yönergeler için bkz. Raspberry Pi'ye .NET uygulamaları dağıtma. kullanarak chmod +x
yürütülebilir yürütme izni verdiğinizden emin olun.
Raspberry Pi'de uygulamayı çalıştırmak için dağıtım dizinine geçin ve yürütülebilir dosyayı çalıştırın.
./AdcTutorial
Potansiyometre kadranını döndürürken çıkışı gözlemleyin. Bunun nedeni, ADC'de CH0'a sağlanan voltajın değişen potansiyometre olmasıdır. ADC, CH0 üzerindeki giriş voltajını bir değer oluşturmak için VREF'ye sağlanan referans voltajı ile karşılaştırır.
Ctrl+C tuşlarına basarak programı sonlandırın.
Tebrikler! Analog-dijital dönüştürücüden değerleri okumak için SPI kullandınız.
Bu öğreticinin kaynağı GitHub'da kullanılabilir.
.NET geri bildirimi
.NET, açık kaynak bir projedir. Geri bildirim sağlamak için bir bağlantı seçin:
Eğitim
Öğrenme yolu
Yapay zeka uç mühendisi - Training
Bu öğrenme yolu, öğrencilere Azure hizmetlerini kullanarak uçta yapay zeka dağıtmayı açıklamayı amaçlar.