Mundarija:
- 1 -qadam: Uskuna
- 2 -qadam:
- 3 -qadam: Dastur - Deteksao De Voz
- 4 -qadam: Dastur - Exhib Previsão Do Tempo
- 5 -qadam: Dastur - Exibir Notícias
- 6 -qadam: Xulosa
Video: Espelho Magico: 6 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:28
Neste Instructables kompaniyasi bir vaqtning o'zida bir nechta ma'lumotlarga ega bo'lishi mumkin, bu esa har qanday ma'lumotni ham o'z ichiga oladi.
Agar siz ushbu loyihani amalga oshirmoqchi bo'lsangiz, u holda siz hech kimga qarshi bo'lmaysiz.
1 -qadam: Uskuna
Dragonboard 410c
Ovozli boshqaruv paneli
2 -qadam:
Visual Studio 2017 hamjamiyati uchun dasturiy ta'minot, l#tilshunoslik. Visual Studio dasturining XAML muharriri yoki interfeysi.
3 -qadam: Dastur - Deteksao De Voz
Boshlang'ich passo, trabalhar com a detecção de voz. Ovozli Mezzanine kengashi mikrofonlarni birlashtirishi mumkin, bu sizning kompyuteringiz uchun kerak. Visual Studio yo'q, Windows. Media. SpeechRecognition va dekodifikatsiya qilish uchun biblioteka dasturlari mavjud.
Ma'lumotni uzatish uchun siz o'zingizning shaxsiy ma'lumotlaringizni ishlatishingiz mumkin.
shaxsiy asynk void InicializaVoz () {var idioma = new Windows. Globalization. Language ("en-US"); SpeechRecognizer identifikatori = yangi SpeechRecognizer (idioma); tanınuvchi. StateChanged += RecognizerStateChanged; tanuvchi. ContinuousRecognitionSession. ResultGenerated += RecognizerResultGenerated; string fileName = String. Format (SRGS_FILE); StorageFile grammarContentFile = Packait. Current. InstalledLocation. GetFileAsync (fileName) ni kuting; SpeechRecognitionGrammarFileConstraint grammarConstraint = yangi SpeechRecognitionGrammarFileConstraint (grammarContentFile); tanuvchi. Chimlatishlar. Add (grammarConstraint); SpeechRecognitionCompilationResult compilationResult = identifikatorni kuting. CompileConstraintsAsync (); if (compilationResult. Status == SpeechRecognitionResultStatus. Success) {Debug. WriteLine ("Natija:" + compilationResult. ToString ()); identifikatorni kuting. ContinuousRecognitionSession. StartAsync (); } boshqa {Debug. WriteLine ("Status:" + compilationResult. Status); }}
RecognisResultGenerated Recebe yoki RecognizerResultGenerated Recebe yoki Comepos buyrug'i bilan bir qatorda, har bir kishi o'z konfiguratsiyasini va konfiguratsiyasini amalga oshiradi.
Aloqa português yoki idioma orqali amalga oshiriladi, shou ko'rsatuvlari (yashirincha) va yashirish (eskonder) va bashoratli yangiliklar (oldingi) va yangiliklar (yangiliklar).
Maxsus asynk void RecognizerResultGenerated (SpeechContinuousRecognitionSession sessiyasi, SpeechContinuousRecognitionResultGeneratedEventArgs args) {
int count = args. Result. SemanticInterpretation. Properties. Count;
// Turli teglarni tekshiring va o'zgaruvchilarni ishga tushiring
String target = args. Result. SemanticInterpretation. Properties. ContainsKey ("maqsad")? args. Result. SemanticInterpretation. Properties ["target"] [0]. ToString (): "";
String cmd = args. Result. SemanticInterpretation. Properties. ContainsKey ("cmd")?
args. Result. SemanticInterpretation. Properties ["cmd"] [0]. ToString (): "";
String qurilma = args. Result. SemanticInterpretation. Properties. ContainsKey ("qurilma")?
args. Result. SemanticInterpretation. Properties ["device"] [0]. ToString (): "";
// Birinchidan, foydalanuvchi qaysi qurilmaga tegishli ekanligini tekshiring
agar (cmd. Equals ("ko'rsatish"))
{
if (device. Equals ("prognoz")) {Consulta_previsao (); } else if (device. Equals ("yangiliklar")) {Consulta_noticias (); } boshqa {//Debug. WriteLine("Noma'lum qurilma "); }
} else if (cmd. Equals ("yashirish"))
{
if (device. Equals ("prognoz")) {//Tempo. Text = ""; Bu kuting. Dispatcher. RunAsync (Windows. UI. Core. CoreDispatcherPriority. High, () => {// Bu hozir ishlaydi, chunki u UI tarmog'ida ishlaydi: this. Max_tit. Text = ""; this. Min_tit. Text = ""; this. Min. Text = ""; this. Max. Text = ""; this. Img_Tempo. Source = yangi BitmapImage (yangi Uri ("ms-appx: ///Images/blank.png"));
});
}
else if (device. Equals ("yangiliklar")) {{this wait. Dispatcher. RunAsync (Windows. UI. Core. CoreDispatcherPriority. High,). News1. Text = ""; this. News2. Text = ""; this. News3. Text = ""; this. News4. Text = ""; this. News5. Text = "";}); } boshqa {// Debug. WriteLine ("Noma'lum qurilma"); }} boshqa {//Debug. WriteLine("Noma'lum buyruq "); }
}
4 -qadam: Dastur - Exhib Previsão Do Tempo
Ko'rgazmali prognozni aniqlash uchun, siz HTTP yoki CPTEC INPE saytlari uchun HTTP -ni ishlatishingiz kerak, bu esa xml tezligini va tezligini ko'rsatadi. Bu xml va boshqa ma'lumotlarni o'z ichiga oladi.
Maxsus asinx bekor qilingan Consulta_previsao () {
HttpClient httpcliente = yangi HttpClient ();
// HttpResponseMessage resp = httpcliente. GetAsync ("https://servicos.cptec.inpe.br/XML/cidade/222/previsao.xml"). Result; var resp = httpcliente. GetAsync ("https://servicos.cptec.inpe.br/XML/cidade/222/previsao.xml"). Natija; resp. EnsureSuccessStatusCode (); var respbody = resp. Content. ReadAsStringAsync (); XmlDocument previsao = yangi XmlDocument ();
previsao. LoadXml (respbody. Result);
XmlElement ildizi = previsao. DocumentElement;
XmlNodeList tugunlari = root. GetElementsByTagName ("temp");
string prevtempo = (nodes. Item (0). InnerText);
string prevtempo1 = (nodes. Item (1). InnerText); string prevtempo2 = (nodes. Item (2). InnerText); string prevtempo3 = (nodes. Item (3). InnerText); tugunlar = root. GetElementsByTagName ("minima"); string tempmin = (nodes. Item (0). InnerText); tugunlar = root. GetElementsByTagName ("maksimal"); string tempmax = (nodes. Item (0). InnerText);
satr rsultado_previsao = "";
o'tish (oldingi)
{ish "ec": rsultado_previsao = "Chuvas_Isoladas.png"; tanaffus; ish "ci": rsultado_previsao = "Chuvas_Isoladas.png"; tanaffus; "c" holati: rsultado_previsao = "Chuva.png"; tanaffus; ish "in": rsultado_previsao = "Instavel.png"; tanaffus; ish "pp": rsultado_previsao = "Chuva.png"; tanaffus; ish "sm": rsultado_previsao = "Chuva.png"; tanaffus; ish "cn": rsultado_previsao = "Chuvas_Isoladas_Noite.png"; tanaffus; ish "pt": rsultado_previsao = "Chuva.png"; tanaffus; ish "pm": rsultado_previsao = "Chuvas_Isoladas.png"; tanaffus; ish "np": rsultado_previsao = "Chuva.png"; tanaffus; ish "kompyuter": rsultado_previsao = "Chuva.png"; tanaffus; ish "pn": rsultado_previsao = "Nublado.png"; tanaffus; ish "cv": rsultado_previsao = "Chuva.png"; tanaffus; ish "ch": rsultado_previsao = "Chuva.png"; tanaffus; "t" holati: rsultado_previsao = "Tempestade.png"; tanaffus; ish "ps": rsultado_previsao = "Sol.png"; tanaffus; holat "e": rsultado_previsao = "Sol_Encoberto.png"; tanaffus; holat "n": rsultado_previsao = "Nublado.png"; tanaffus; ish "cl": rsultado_previsao = "Sol.png"; tanaffus; ish "nv": rsultado_previsao = "Nevoeiro.png"; tanaffus; holat "g": rsultado_previsao = "Neve.png"; tanaffus; "ne" holati: rsultado_previsao = "Neve.png"; tanaffus; "nd" holati: rsultado_previsao = "na.png"; tanaffus; ish "pnt": rsultado_previsao = "Chuvas_Isoladas_Noite.png"; tanaffus; ish "psc": rsultado_previsao = "Chuva.png"; tanaffus; ish "pcm": rsultado_previsao = "Chuva.png"; tanaffus; ish "pct": rsultado_previsao = "Chuva.png"; tanaffus; ish "pcn": rsultado_previsao = "Chuva.png"; tanaffus; ish "npt": rsultado_previsao = "Chuva.png"; tanaffus; ish "npn": rsultado_previsao = "Chuva.png"; tanaffus; ish "ncn": rsultado_previsao = "Chuva.png"; tanaffus; ish "nct": rsultado_previsao = "Chuva.png"; tanaffus; ish "ncm": rsultado_previsao = "Chuva.png"; tanaffus; ish "npm": rsultado_previsao = "Chuva.png"; tanaffus; ish "npp": rsultado_previsao = "Chuva.png"; tanaffus; ish "vn": rsultado_previsao = "Instavel.png"; tanaffus; ish "ct": rsultado_previsao = "Chuva.png"; tanaffus; ish "ppn": rsultado_previsao = "Chuvas_Isoladas_Noite.png"; tanaffus; ish "ppt": rsultado_previsao = "Chuva.png"; tanaffus; ish "ppm": rsultado_previsao = "Chuva.png"; tanaffus;
}
Bu kuting. Dispatcher. RunAsync (Windows. UI. Core. CoreDispatcherPriority. High, () => {// Bu hozir ishlaydi, chunki u UI tarmog'ida ishlaydi: this. Max_tit. Text = "Máxima"; this. Min_tit. Matn = "Mínima"; this. Min. Text = tempmin + "°"; this. Max. Text = tempmax + "°"; this. Img_Tempo. Source = yangi BitmapImage (yangi Uri ("ms-appx: /// Rasmlar/" + rsultado_previsao));});
}
5 -qadam: Dastur - Exibir Notícias
Shou yangiliklarini aniqlash uchun, HTTP yoki BBC -dan foydalanish uchun Consulta_noticias -ni tanlang va XML -ni tanlang. Matn blokirovkalari haqida hech qanday ma'lumot yo'q.
Maxsus asenkron bo'sh joy Consulta_noticias () {
HttpClient httpcliente2 = yangi HttpClient ();
var resp2 = httpcliente2. GetAsync ("https://feeds.bbci.co.uk/portuguese/rss.xml"). Natija;
resp2. EnsureSuccessStatusCode (); var respbody2 = resp2. Content. ReadAsStringAsync (); XmlDocument noticia = yangi XmlDocument ();
noticia. LoadXml (respbody2. Result);
XmlElement root2 = noticia. DocumentElement;
XmlNodeList nodes2 = root2. GetElementsByTagName (@"sarlavha");
Buni kuting. Dispatcher. RunAsync (Windows. UI. Core. CoreDispatcherPriority. High, () =>
{this. News1. Text = (nodes2. Item (2). InnerText); this. News2. Text = (nodes2. Item (3). InnerText); this. News3. Text = (nodes2. Item (4). InnerText); this. News4. Text = (nodes2. Item (5). InnerText); this. News5. Text = (nodes2. Item (6). InnerText);
});
}
6 -qadam: Xulosa
Ko'rsatmalarga ko'ra, siz IoT Core -ni Windos -da o'rnatishingiz mumkin. Gramática comandos desejados deb nomlangan.
Avtoulovlar: Egon Patrik Markes Silva
Frederiko Klark
Tavsiya:
To'g'ridan-to'g'ri raqamli sintez (DDS) chipli MIDI tomonidan boshqariladigan qadam dvigateli: 3 qadam
To'g'ridan-to'g'ri raqamli sintez (DDS) chipli MIDI tomonidan boshqariladigan qadamli dvigatel: Siz hech qachon mini-loyihaga aylanishingiz kerak degan yomon fikrga keldingizmi? Xo'sh, men AD9833 to'g'ridan -to'g'ri raqamli sintez (DDS) moduli yordamida musiqa yaratishga qaratilgan Arduino Due uchun chizgan eskiz bilan o'ynab yurardim … va bir paytlar men o'yladim
Arduino uchun qadam tezligini boshqarish menyusi: 6 qadam
Arduino uchun qadam tezligini boshqarish menyusi: Bu SpeedStepper kutubxonasi qadam dvigatelining tezligini nazorat qilish uchun AccelStepper kutubxonasining qayta yozilishi. SpeedStepper kutubxonasi sizga belgilangan dvigatel tezligini o'zgartirishga imkon beradi, so'ngra xuddi shu algoritm yordamida yangi belgilangan tezlikka tezlashadi/sekinlashadi
Qanday qilib qadam taymerini yasash mumkin?: 3 qadam (rasmlar bilan)
Qanday qilib qadam taymerini yasash mumkin ?: Men ko'plab sport turlarida yaxshi qatnashardim: yurish, yugurish, velosiped haydash, badminton o'ynash va hokazo. Men tez orada sayohat qilishni yaxshi ko'raman. Xo'sh, qorin qornimga qarang …… Xo'sh, baribir, men mashg'ulotlarni qaytadan boshlashga qaror qildim. Qanday uskunani tayyorlashim kerak?
Arduino UNO bilan qadam motor: 3 qadam
Arduino UNO bilan qadam dvigateli: Bosqichli motorlar - bu alohida bosqichlarda harakatlanadigan shahar motorlari. Ularda "fazalar" deb nomlangan guruhlarga bo'lingan bir nechta rulon bor. Har bir fazani ketma -ket quvvatlantirganda, dvigatel birma -bir aylanadi, zinapoyali dvigatellar juda foydali
Kompyuteringizni qadam dvigateli bilan boshqaring!: 9 qadam (rasmlar bilan)
Kompyuteringizni qadam dvigateli bilan boshqaring!: Oldingi ko'rsatmalarimdan birida men sizga step motorini aylanuvchi kodlovchi sifatida qanday ishlatishni ko'rsatdim. Bu yo'riqnomada keling, undan kompyuterni boshqarish uchun qanday foydalanish kerakligini bilib olaylik. Shunday qilib, ko'p vaqt sarflamasdan, boshlaylik