
Агуулгын хүснэгт:
2025 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2025-01-23 15:00



Бүгдээрээ сайн уу. Би энэ төслийг хоёр шалтгаанаар эхлүүлсэн: Би саяхан компьютер дээрээ усан хөргөлтийн гогцоо барьж, энэ тохиолдолд орон зайг нүдээр дүүргэх ямар нэгэн зүйл хэрэгтэй байсан бөгөөд би OSD -ийг шалгахгүйгээр температур болон бусад статистикийг хурдан шалгаж үзэхийг хүсч байсан. дэлгэцийн булан. Мэдээжийн хэрэг үүнд бэлэн шийдлүүд байдаг, гэхдээ ихэнх нь миний фэн шуйд тохирохгүй байх болно. Тиймээс миний хайрцган дээр HDMI 7 инчийн дэлгэц байрлуулж, цонхны үүрний самбарыг үргэлж асааж байхын оронд би өөрөө тоглоом хийхээр шийдсэн юм.
Би инженер ч биш, программист ч биш, гагнуурын төмрөөр хангагдсан, өөрөө бие даан мэдлэгтэй залуу болохоор энэ нь алхам алхмаар зааварчилгаа өгөхгүй, би бас асуудалд анхаарлаа хандуулахыг хичээх болно. намайг энэ бүтээн байгуулалтад хүргэсэн асуудлын шийдэл, судалгааны талууд.
ХАРИУЦЛАГА: МИНИЙ БҮХ АЖИЛ БҮТЭЭЛИЙН НИЙТЛЭГ ХАМТРАЛ-ХУВААЛЦАА 4.0-тэй хуваалцдаг. Би интернетээс бүх жишээнээс олон урам зориг авсан, хэрэв та энэ бүтээлийн зарим хэсгийг өөрийнхөөрөө хүлээн зөвшөөрсөн бол надтай холбоо барина уу. ХҮРЭЭГҮЙ ЗӨВЛӨГӨӨГҮЙ, АЛДАА АЛДАА ЗАЛРУУЛЖ БАЯРЛАХ БОЛНО. БАЯРЛАЛАА
ХОЁРДУГААР ХАРИУЦЛАГА: МИНИЙ АЖИЛ ХИЙЖ БАЙГАА. Миний код эсвэл зааварчилгааг ашигласнаас үүдэлтэй аливаа хохирлыг би хариуцахгүй
Хангамж
- Arduino Nano (эсвэл хүсвэл UNO)
- TFT дэлгэц. Миний хувьд энэ нь ILI9486 / ILI9488L нийцтэй 3.5 инчийн дэлгэц юм.
- Сенсо температур. Энэ тохиолдолд аналог TMP36 температур мэдрэгч.
- Кабель, утас, дупонт холбогч (энэ тухай дараа дэлгэрэнгүй үзэх болно)
- (заавал биш) Туршилтын талхны самбар
- (заавал биш боловч санал болгож байна) жижиг перфборд
Алхам 1: ТЭЗҮ (төрөл)
Миний хэлснээр би хүсээгүй бөгөөд HDMI дэлгэц нь компьютерынхаа хайрцагт наалдсан тул би өөрийн чадвараараа нөмөрч, интернетээс ижил төстэй санаануудыг хайж эхлэв. Энэ бол нэгдүгээр зөвлөгөө юм: Google бол таны найз (сайн хайлтын систем …). Бид жинхэнэ юу ч байхгүй болсон дэлхий дээр амьдарч байгаа боловч энэ хэллэгийг сөрөг утгатай харахын оронд бид үүнийг өөрийн ашиг тусын тулд ашиглаж болох юм: юу хийхийг хүсч байна, магадгүй хэн нэгэн хаа нэгтээ үүнтэй төстэй зүйл хийсэн байж магадгүй. санаагаа хэрхэн хэрэгжүүлэхээ мэдэхгүй байна, тэндээс хэрэгтэй мэдээлэл олж авах магадлал өндөр байна. Интернетээс хайлт хийхдээ ихэвчлэн хоёр дүрмийг анхаарч үзэх хэрэгтэй.
- Аливаа хайлтын 3, 4 -р хуудсыг хөөцөлдөх хэрэггүй, энэ нь үргэлж цаг алдах явдал юм. Үүний оронд
- хайлтын нэр томъёог өөрчилж, асуултаа өөр өнцгөөс нь өөрчилнө үү (өөрөөр хэлбэл: "arduino температур мэдрэгч" -> "температурыг arduino ашиглан унших").
Үнэндээ энэ нь сайн төслүүдээр дүүрэн байдаг бөгөөд би эдгээр төслүүдийн ихэнхийг судлах эхний өдрүүдийг өнгөрөөсөн гэдгээ хүлээн зөвшөөрч байна. Гэхдээ миний хэрэгцээнд нийцсэн зүйлийг хүсч байсан болохоор тэдний хэн нь ч миний төлөө явахад бэлэн байгаагүй.
Би ямар нэгэн зүйлийг өөрчлөн тохируулах ёстой байсан тул програм хангамжийг ашиглахад шаардлагатай тоног төхөөрөмжид анхаарлаа хандуулж дараа нь орхихоор шийдсэн, учир нь програм хангамжийг үргэлж бүтээж, хэрэгцээнд нийцүүлэн өөрчлөх боломжтой байдаг. ба онцлог шинж чанарууд.
Би Arduino дээр суурилсан зүйлийг хүсч байсан, учир нь би үүнийг аль хэдийн авсан байсан, үүнийг маш сайн баримтжуулсан, нийгэмлэг цэцэглэн хөгжиж байна. Олон мэдээлэл өгөхөөс өмнө миний хэлсэнчлэн энд ямар ч асуудал байхгүй.
Нэлээд том дэлгэцийг хэдхэн метрийн цаанаас тод харагдуулахыг хүсч байсан бөгөөд энэ нь миний бүтцийн онцлогт тохирсон байх болно. OLED нь бас жижиг хэмжээтэй тул маргаангүй болно. Тиймээс би TFT өнгөт дэлгэцийг сонгосон. Мэдрэгчтэй дэлгэц шаардлагагүй, учир нь энэ нь компьютер дотор байх болно. Амазон дээрээс Arduino -д зориулан бүтээсэн 3.5 инч ~ ~ 15 еврог оллоо. Хангалттай сайн.
Тоног төхөөрөмжийг нарийвчлан тодорхойлсны дараа би програм хангамжид анхаарлаа хандуулсан.
Бараг бүх төслүүд, Arduino тал, ижил төстэй байдаг. Би серверийн програмаас мэдээлэл цуглуулахын тулд дэлгэцийн болон холбооны протоколын кодыг тохируулах хэрэгтэй. Компьютерийн хувьд ихэнх төслүүд нь C, C ++, C#, python дээр суурилдаг бөгөөд ихэнх төслүүд нь зөвхөн CLI интерфэйс эсвэл Windows үйлчилгээтэй төстэй сервер санал болгодог. Би оронд нь GUI хүсч байсан. Би Windows дээр C шиг хэлийг хэзээ ч ашиглаж байгаагүй, GUI барилгыг ганцааранг нь орхи. Гэхдээ би 15 жилийн өмнө Visual Basic -ийг сурсан болохоор туршиж үзээд Microsoft -аас Visual Studio -ийн үнэгүй хувилбарыг татаж авсан.
Үүнтэй төстэй олон төслүүдийг судалсны дараа би OpenHardwareMonitor -ийг ашиглан бүх тоног төхөөрөмжийн мэдээлэл, FPS -ийн RivaTuner -ийг авахаар шийдсэн, учир нь эдгээр нь үнэ төлбөргүй бөгөөд хангалттай баримтжуулсан болно.
Алхам 2: Тоног төхөөрөмжийн туршилт



Гагнуурын төмрийг асааж, электрон эд ангиудыг цаг хугацаа, орон зайд үүрд засахаас өмнө туршилтын прототип (хоёр дахь үзүүр) бүтээх нь сайн туршлага юм. Аз болоход энэ нь 1995 он биш болжээ. Өнөө үед жижиг талхны тавцан дээр ч гэсэн нэлээд төвөгтэй прототипүүдийг зохион байгуулах нь маш хялбар байдаг. Миний хувьд TFT дэлгэц нь Arduino Uno -д зориулагдсан pinout -ийн уналттай байсан тул би Arduino uno дээрээ унагаж, жишээ номын сантай тоглож, түүний ажиллах зарчим, хязгаарлалтыг ойлгохын тулд лавлах гарын авлагыг уншиж эхлэв.
Энэ үед би хэрхэн шугам, битийн зураг зурах, текст бичих талаар олж мэдсэн тул програм хангамжийн кодчилол хийж, бүх хоёрдогч зүйлсийг дараа нь үлдээж эхлэв, гэхдээ энд температур мэдрэгчийг оруулах болно.
Хэсэг хугацааны дараа дэлгэц дээр хоосон газар байсан боловч PC мэдрэгчээс авсан өгөгдөл огт ашиггүй байсан тул би орчны температурыг хэмжих хайрцаг дотор байрлуулахаар шийдсэн. Дэлгэц нь бараг бүх Arduino зүүг иддэг, аз болоход аналог A5 зүү ашиглагдаагүй тул би TMP36 уяв. Би DHT22 -ийг туршиж үзсэн боловч энэ програмын хувьд хэт их ачаалал өгсөн.
TMP36 -ийн олон жишээ бий, би эдгээрийн аль нэгийг нь функц дээр хуулсан. TMP35 нь 3 тээглүүртэй, Вин 5V, GND газар руу, Out нь A5 зүү рүү явдаг. Би 0.1uF керамик конденсаторыг Вин ба GND хооронд байрлуулсан. Тэд үүнийг хэрэгтэй гэж хэлдэг. Энэ тохиолдолд энэ нь ашиггүй байж магадгүй, гэхдээ … Би температурыг илүү сайн уншихын тулд Arduino аналог лавлах хүчдэлийг 3.3v зүү болгон тохируулсан. Энэ тохиолдолд ашиггүй хэвээр байна, гэхдээ …
Алхам 3: Arduino код
Энэ алхам дахь тайлбарыг дагаж мөрдөхийн тулд Arduino кодыг татаж аваад нээнэ үү. Би кодонд үерт автахгүйгээр тодорхой болгохын тулд хангалттай сэтгэгдэл үлдээхийг хичээсэн.
Танд MCUFRIEND_kbv болон Adafruit GFX номын сан хэрэгтэй болно. Arduino IDE -ээс хоёуланг нь хялбархан суулгаж болно.
Хөтөлбөрийг дараахь хэсгүүдэд хувааж болно.
- дэлхийн бүх хувьсагч болон бусад шаардлагатай зүйлсийг тодорхойлж, зарлах
- дэлгэцийг эхлүүлэх, гадаад лавлагааг тохируулах, UI зурах (энэ нь зөвхөн нэг удаа ажиллах ёстой тул setup () функцэд багтсан болно)
- цуваа холболтоос өгөгдлийг уншиж, массивт хуваарилах (loop () функц)
- гадаад температур мэдрэгчийн өгөгдлийг унших (readExtTemp () функц)
- өгөгдлийг дэлгэц дээр хэвлэх (printData () функц)
- давталт руу буцах
БҮЛЭГ 1: Тунхаглал ба тодорхойлолт
Кодын эхний хэсэгт би маш олон заагч, массив ашигласан тул FOR цикл бичихийн тулд олон давтагдсан кодын мөрүүдийг богино хугацаанд шахаж чадсан. Тийм ээ, би залхуу байна. Таны харж байгаагаар би заагчийн массивыг зарлаж, pics.h файлаас авсан бүх зургийг дүүргэсэн. Энэ нь бүх дүрсийг зурах FOR мөчлөг хийх боломжийг олгосон юм.
БҮЛЭГ 2: setup (), ихэвчлэн UI зураг
Тунгалаг дэвсгэр байхгүй тул би анхдагч фонтоор шийдсэн тул хуучин текст дээр шинэ мөрийг устгах шаардлагагүй болно. Өөр фонт ашиглах нь шинэ текст бичихээс өмнө хуучин текст дээр хар дөрвөлжин зурах бөгөөд ингэснээр таагүй анивчсан эффект авчрах болно.
Зарим туршилтын дараа би унших чадвар болон үзүүлсэн мэдээллийн хооронд сайн тохиролцоонд хүрсэн. Би дэлгэцийг хоёр багана, 5 мөр болгон хуваасан. Зүүн багана нь CPU болон эх хавтангийн өгөгдлийг оруулдаг бөгөөд үүнд CPU -ийн нэр, температур, ачаалал, RAM -ийн хэрэглээ, эх хавтангийн температур орно. Зөв сонголт нь GPU -д зориулагдсан бөгөөд үүнд GPU нэр, температур, ачаалал, секундэд жааз, гадаад температур мэдрэгч орно.
Код дээрээс харахад ачаалах нь үнэхээр удаан байгаа тул SD карт дээр зураг ашиглахаас зайлсхийхээр шийдлээ. Би бүх дүрсийг PROGMEM санах ойд оруулах, зориулагдсан drawLine () командын тусламжтайгаар шугам зурахаар шийдсэн. Энэ нь жижиг UI залруулга хийхэд бас хэрэгтэй байдаг.
UI -ийг гүнзгийрүүлэх гэсэн оролдлого хийхдээ би өөр өөр өнгөтэй, жижиг офсет бүхий бүх зүйлийн хоёрыг (шугам, тэгш өнцөгт, зураг) зурсан. Харамсалтай нь энэ нь миний хүсэн хүлээж байсан үр дүн биш байсан ч энэ нь заль мэхийг хийх болно.
Энэ функцын сүүлийн мөрүүд нь Arduino өгөгдлийг хүлээн авах хүртэл TFT дээр орлуулагчийг хэвлэхэд зориулагдсан болно.
БҮЛЭГ 3: үндсэн давталт (), өгөгдөл татаж авах, форматлах
Энд ид шид тохиолддог: өгөгдлийг цувралаар хүлээн авч, зөв хувьсагчид оноож өгөөд хэвлэдэг. Энэ бүхнийг хамгийн цөөн тооны мөрөнд хүрэхийн тулд би switch case командыг болон for циклийг ашигласан.
Надтай ирсэн харилцааны протокол нь гар барихад анхны гүйцэтгэл болон бодит өгөгдлийн хэсэг гэсэн хоёр хэсэгт хуваагддаг.
Компьютерийн програм эхлэх үед автомат холболтын функцийг хэрэгжүүлэхийн тулд гар барих шаардлагатай болно. Энэ нь ингэж явдаг:
- Компьютер гар барих мөрийг илгээдэг (энэ тохиолдолд зүгээр л "*****;")
- Ардуино хариуг буцааж илгээдэг
Хялбар peasy.
Өгөгдлийн хэсэг нь иймэрхүү харагдаж байна: "i: xxx, yyy, zzz, aaa,;" утга нь:
"i" бол индекс бөгөөд би үүнийг кодонд componentSelector гэж нэрлэсэн. "i" утга нь:
- i = 0 - НЭР. Дараахь утгууд нь дэлгэц дээрх гацууруудын эгнээнд харагдаж буй нэрс юм. Үүнийг зөвхөн нэг удаа дэлгэцэн дээр илгээж хэвлэх болно, өнөөдрийн байдлаар CPU болон GPU -ийг шилжүүлэхэд маш хэцүү байна …
- i = 1 - 1 -р баганы өгөгдөл - Дараах утгуудыг дэлгэцийн зүүн хагаст дээрээс доош харуулав. Миний хувьд: CPU -ийн температур, CPU -ийн ачаалал, RAM -ийн хэрэглээ, Эх хавтангийн температур.
- i = 2 - 2 -р баганы өгөгдөл - дээрх шиг, гэхдээ дэлгэцийн баруун талд
- i = 3 - ТУСГААР ХЭВЛЭХ. Энэ тохиолдолд түүхий цуваа мөр нь зөвхөн "3:;" байх болно. бусад өгөгдөл шаардлагагүй тул.
"xxx, yyy, zzz, aaa" нь бодит утга юм. Эдгээрийг arduino мөр болгон уншдаг бөгөөд бүх форматыг PC програмаар хийдэг. I = 0 -ийн хувьд эдгээр утгууд нь тоног төхөөрөмжийн нэр бүрийн хувьд 14 тэмдэгт байна. I = 1 эсвэл 2 -ийн хувьд эдгээр нь тус бүрдээ гурван тэмдэгт байх бөгөөд нэг секундэд температур, хүрээг харуулахад хангалттай. Мэдээжийн хэрэг ":", "," ба ";" Эдгээр талбарт тэмдэгт оруулахыг хориглоно.
":" Нь componentSelector ба утгуудын хоорондох тусгаарлагч, "," нь утга тусгаарлагч ба ";" шугамын төгсгөл юм
Өгөгдлийг хүлээн авахдаа Arduino үүнийг ";" хүртэл тэмдэгт мөр болгон хадгалах болно. тэмдгийг хүлээн авсны дараа ":" тэмдгийг хайж олох бөгөөд үүнийг ашигланSelecor гэсэн утгыг авах болно. Үүнийг switch case функцэд дагаж мөрдөх зөв процедурыг сонгоход ашиглах болно. Энэ нь мөн allData массив дахь зөв индексийг сонгоход хэрэглэгддэг.
Үүний дараа Arduino нь "," тэмдгийг хайж олох бөгөөд allData массивт утгыг оруулах болно.
Хэрэв componentSelector нь 0 бол printName тугийг үнэн болгож тохируулна. Хэрэв componentSelector 3 бол readExtTemp () болон printData () функцуудыг дуудна.
4 -р хэсэг: readExtTemp () функц
Энд хэлэх зүйл алга, энэ нь A5 зүүгээс 32 удаа уншиж, температурын утгыг мөр болгон гаргадаг. Би босогчидтой хамт байгаа болохоор Цельсийг ашигладаг. 100 хэмээс дээш температур буруу байвал дэлгэц дээр "---" гэж харуулна. 100 ° C -аас доош температурт дэлгэцийн 3 тэмдэгтийг багтаах хангалттай зайтай байхаар форматлах болно. Мэдрэгчийг салгаж, дахин оруулах боломжтой бөгөөд ямар ч хачин утга харагдахгүй болно.
5 -р хэсэг: printData () функц
Урьдын адил би циклийг дэлгэц дээр дараалан хэвлэх зорилгоор ашигладаг байсан. Хэрэв туг printNames нь үнэн бол нэрийг хэвлэж, тугийг худал болгож, үргэлжлүүлнэ.
6 -р хэсэг: давталт руу буцах
Өөрийгөө хангалттай тайлбарлавал би хэлмээр байна …
pics.h файл
Энд би UI -ийн бүх дүрсийг хадгалсан. Дэлгэцэнд багтсан SD карт уншигчийг ашиглах боломжтой боловч Arduino -д миний хар цагаан дүрсүүд хангалттай санах ойтой үлдсэн байв.
Би тэдгээрийг Junior Icon Editor ашиглан бүтээсэн бөгөөд энэ нь үнэ төлбөргүй бөгөөд жижиг дүрсүүдийг пикселээр будахад маш тохиромжтой. Би дүрс файлуудыг-p.webp
Алхам 4: Visual Basic код

VB код энд байна
АНХААРУУЛГА: Би анх удаа Visual Studio төслийг хуваалцаж байна. Би зүгээр л төслийн хавтаснуудыг хуулж аваад зиплэв. Хэрэв энэ нь тус болохгүй бол энэ төрлийн төслүүдийг хуваалцах илүү сайн арга замыг надад хэлээрэй. Баярлалаа
Өмнө нь хэлсэнчлэн би C# болон бусад хэл дээр GUI үүсгэх боломжгүй боловч Visual Basic дээр нэлээд удаан хугацааны туршлагатай байсан. Би Visual Studio орчныг Visual Studio Community хувилбараар татаж авсан (энэ нь мэдээж үнэгүй). Би маш олон зүйлийг олж мэдэх ёстой байсан, хамгийн сүүлд би VB -ийг 2005 оны хувилбар шиг ашиглаж байсан … Гэхдээ интернэт ердийнх шиг сайн санаануудаар дүүрэн байдаг.
Интерфэйсийн зарим зүйлийг олж мэдсэний дараа шинэ хувилбар нь хуучин хувилбараасаа илүү хялбар, уян хатан болсон байна.
Энэ програмын хувьд би цонхны хэлбэртэй боловч системийн тавиурын дүрсээс бүрэн удирдах боломжтой зүйлийг хүсч байсан. Би уг маягтыг бараг л дибаг хийх зорилгоор ашигладаг байсан, учир нь би текст хайрцаг, жагсаалтуудыг байрлуулж функцүүдийн гаралтын утгыг уншиж, тэдгээрийг шалгахын тулд зарим командын товчлууруудыг ашиглах дуртай байсан.
"Эцсийн" програм бол янз бүрийн хяналтыг харуулдаг цэстэй тавиурын дүрс бөгөөд Arduino руу илгээсэн өгөгдлийг харуулсан хоёр жагсаалтын хайрцаг бүхий үндсэн хэлбэр юм.
Би автомат холболтын функц болон "ачаалах үед эхлүүлэх" функцийг хэрэгжүүлсэн. Энэ тухай дараа дэлгэрэнгүй.
Гол програм бол OpenHardwareMonitor номын сан болон RivaTuner Shared Memory номын санг ашиглан янз бүрийн жишээ, кодын хэсгүүдийг дасан зохицох явдал юм.
Хөтөлбөр иймэрхүү байна:
- OpenHardwareMonitor болон RTSSSm номын сангаас мэдээлэл авах
- харилцаа холбооны протоколын бүх өгөгдлийг бэлтгэх, форматлах
- өгөгдлийг Arduino руу илгээх
- угааж, давтан хийнэ
Мэдээжийн хэрэг тоног төхөөрөмжийн нэрийг эхэнд нь уншиж, зөвхөн нэг л удаа илгээдэг.
FPS тоолуур нь тохирох програмыг ашиглах үед л идэвхждэг (жишээ нь тоглоом, 3D загварчлах програм гэх мэт), эс бөгөөс "---" орлуулагчийг дэлгэц рүү илгээх болно.
Номын сангаас үнэ цэнийг хэрхэн олж авах талаар би гүнзгий тайлбарлахгүй, учир нь энэ нь интернет дээр сайн бичигдсэн бөгөөд кодоос арай ойлгомжтой байдаг. OpenHardwareMonitor (одооноос OHMonitor, амьдрал дэндүү богинохон) номын санг харуулахын тулд эх хавтангийн температурыг авахад тулгардаг асуудлуудын талаар л хэлмээр байна. Надад эх хавтан дээр фу ** тонн температур мэдрэгч суурилуулсан Asus Maximus VIII Gene MoBo байгаа боловч OHMonitor нь тэдгээрийг температур мэдрэгч №1, #2… #n гэж нэрлэсэн бөгөөд температурын байршлыг хаана ч заагаагүй байна. Тиймээс би мэдрэгч нь дор хаяж NAMES нэртэй, хоёр програмын хоорондох янз бүрийн температурыг харьцуулж үздэг аймшигтай Asus AI програм хангамжийг суулгах шаардлагатай болсон. Миний эх хавтангийн ерөнхий температур мэдрэгч нь OHMonitor -ийн #2 юм шиг харагдаж байна, тиймээс MoBo материалын доорхи Timer1_tick дэд хэсэгт би зөв уншихын тулд " #2" гэсэн мөр агуулсан мэдрэгчийн нэрийг хайх хэрэгтэй болсон.
TL; DR: та эх хавтангийн зөв температур мэдрэгчийг өөрөө анхаарч үзэх хэрэгтэй. Үлдсэн хэсэг нь явах нь зүйтэй болов уу.
Гэсэн хэдий ч энэ бол зөвхөн 1 -р хувилбар, би энэ төхөөрөмжийг бусад компьютер дээрээ суулгахаар төлөвлөж байгаа тул мэдрэгчийг сонгох аргыг хэрэгжүүлж магадгүй, магадгүй Arduino дээрх интерфэйсийг дахин төлөвлөж магадгүй юм.
Автомат холболтын функц
Энэ функц нь маш энгийн: хэрэв компьютер Arduino -той холбогдоогүй бол x миллисекунд тутамд (Timer1 дээр үндэслэсэн) энэ функцийг дууддаг. Энэ нь компьютер дээрх COM порт бүртэй холбогдохыг хичээдэг бөгөөд хэрэв амжилттай бол гар барих "*****;" мөрийг илгээдэг. Хэрэв хариулт нь "R" байвал зөв төхөөрөмжийг холбож, ердийн процедурыг дагаж мөрдөнө. Үгүй бол дараагийн COM портыг туршиж үзээрэй.
Таны харж байгаагаар энэ функцэд маш олон үл хамаарах зүйлүүд байдаг. Учир нь би үүнийг ямар ч алдаа гаргалгүйгээр залгаж, тоглуулахыг хүссэн юм. Онцгой тохиолдлуудыг авч үзэхэд би гадны төхөөрөмж байхгүй байгааг үл тоомсорлож чадсан бөгөөд програмыг эвдэх алдаа гаргахгүйгээр хүссэн үедээ төхөөрөмжийг залгаж, залгаж болно.
Ачаалах үед эхлэх функц
Би програмыг ачаалах үед эхлүүлэхийг хүсч байсан. Маш амархан гэж та хэллээ. Холбоосыг зохих фолдерт оруулна уу. Гэхдээ үгүй. OHMonitor болон RTSS номын сангаас шалтгаалан бидэнд мэдээлэл цуглуулахын тулд администраторын гүйцэтгэх түвшин хэрэгтэй байна. Энэ нь UAC дэлгэцийг энэ аппликешныг ажиллуулах бүрт харагдуулдаг гэсэн үг юм. Арга ч үгүй биз дээ. Тиймээс би ачаалах үед чимээгүй эхлүүлэхийн тулд Мэттью Вай -ийн зохиосон скриптийг (энд байгаа линк) өөрчилсөн. Би дөнгөж сая Resources1 файл дахь скриптийг хэд хэдэн хэсэгт хуваагаад дараа нь програмын гүйцэтгэгдэж буй байршил болон бусад зүйлд тохируулсан цонхны ажлын файлыг үүсгэдэг (эсвэл устгадаг) дэд програмыг хэрэгжүүлсэн.
Системийн тавиурын дүрс тэмдэг
NotifyIcon болон ContextMenu объектуудын ачаар би програмыг удирдах хялбар, өөх тосыг хэрэгжүүлж чадсан. Тавиурын дүрс дээр хулганы баруун товчийг дарахад цэс гарч ирнэ. Эдгээр сонголтууд байдаг:
- Ачаалах үед эхлүүлэх: ачаалах функцийг идэвхжүүлэх эсвэл идэвхгүй болгохын тулд та үүнийг шалгаж, сонголтыг арилгаж болно
- Автомат холболт: дээрхтэй адил боловч автомат холболтын функцийг гүйцэтгэдэг
- Холбох/салгах: энэ нь холболтыг зохицуулдаг. Автомат холболтыг идэвхжүүлсэн тохиолдолд ажиллахгүй
- Сэргээх хугацаа: дэд цэсийг өгөх бөгөөд та шинэчлэх хугацааг 1 -ээс 10 секундын хооронд сонгож болно
- Хамгийн их болгох: үндсэн цонхыг нээнэ. Дүрсийг хоёр удаа дарахтай адил
- Гарах: өөрөө тайлбартай
Програм хангамжийг эмхэтгэх
Програм хангамжийг эмхэтгэхийн тулд та кодонд ороогүй номын сангийн лавлагааг татаж аваад лавлах хэрэгтэй болно.
Та OpenHardwareMonitor номын санг эндээс олж болно. Та програмыг татаж аваад, zip файлыг нээж, OpenHardwareMonitorLib. DLL файлыг төслийн хавтсанд хуулах ёстой.
RTSSharedMemoryNET номын сангийн холбоос энд байна, та архитектураа татаж аваад эмхэтгэж, дараа нь төслийн хавтсанд RTSS [TL; DR] moryNET. DLL -ийг хуулж авах ёстой.
Одоо та код дээрээ лавлагаа, энд байгаа зааврыг нэмэх хэрэгтэй
Нэг архитектурын RTSS [TL; DR] moryNET болон PCHwMon серверийн төслүүдийг хоёуланг нь эмхэтгэхээ мартуузай.
Би бэлэн тохируулгын програмыг оруулсан тул та Visual Basic -ийг ашиглахгүйгээр бүх зүйлийг суулгах боломжтой болно. Энэ нь x86 -д зориулагдсан бөгөөд x86 болон x64 архитектур дээр ажиллах болно. Энэ нь. NET framework 4.7.2 -ийг ажиллуулахыг шаарддаг.
Ямар ч тохиолдолд та RivaTuner -ийг суулгах хэрэгтэй болно. Та үүнийг эндээс бие даасан програм хэлбэрээр олж авах эсвэл RTServer -ийг агуулсан Msi Afterburner -ийг суулгах боломжтой.
Алхам 5: Тоног төхөөрөмжийн эцсийн хэрэгжилт
Зөвлөмж болгож буй:
Ширээний Pi тоног төхөөрөмжийн угсралт: 12 алхам (зурагтай)

Ширээний Pi тоног төхөөрөмжийн угсралт: Raspberry Pi болон ганц самбар бүхий компьютер (SBCs) -ийн ертөнц надад гайхалтай санагдаж байна. Гэрийн ердийн компьютерт шаардагдах бүх үндсэн бүрэлдэхүүн хэсгүүдийг авсаархан, бие даасан системд нэгтгэх нь тоног төхөөрөмж, тоглоомын хувьд тоглоомын өөрчлөлтөд нөлөөлсөн юм
Хамтрагч хайрцагны жор (Тоног төхөөрөмжийн ремикс / хэлхээ гулзайлгах): 11 алхам (зурагтай)

Хамтран ажиллах хайрцагны жор (Тоног төхөөрөмжийн ремикс / хэлхээний гулзайлт): Тоног төхөөрөмжийн ремикс хийх нь хөгжмийн технологийн давуу талыг дахин шалгах арга юм. Хамтран ажиллах хайрцаг бол цахилгаан хэлхээгээр нугалсан электрон хөгжмийн зэмсэг юм. Тэдний гаргаж буй дуу чимээ нь ашигласан хэлхээнээс хамаарна. Миний хийсэн төхөөрөмжүүд нь олон талт эффект дээр суурилсан
Arduino болон Nokia 5110 LCD бүхий компьютерийн тоног төхөөрөмжийн хяналт: 3 алхам

Arduino болон Nokia 5110 LCD бүхий компьютерийн техник хангамжийн монитор: CPU температур, ачаалал, цаг, ашигласан RAMCPU ачаалал эсвэл цагийн утгыг харуулдаг Arduino дээр суурилсан компьютерын дэлгэцийг график хэлбэрээр зурж болно. Nokia 5110 84x48 LCD дэлгэцтэй
OHLOOM - Нээлттэй тоног төхөөрөмжийн Loom: 9 алхам (зурагтай)

OHLOOM - Нээлттэй Тоног Төхөөрөмж: Энэхүү төсөл нь 3D хэвлэгчээс зарим нэмэлт эд анги (нэхэх сам, ратчет араа) ашиглан тавиурыг хэрхэн яаж эргүүлж, модон банзнаас хэрхэн яаж хийхийг харуулдаг. ихэвчлэн харагддаг мод
Нээлттэй эхийн тоног төхөөрөмжийн хувилбарын хяналт: 10 алхам

Нээлттэй эх сурвалжийн техник хангамжийн хувилбарын хяналт: Brainbow -ийн баг манай электроникийн дизайны ажлын урсгалыг удирдахын тулд хувилбарын хяналтыг ашиглах явцыг хуваалцахыг хүссэн юм. Энэхүү ажлын урсгалыг энгийнээс эхлээд том, жижиг төслүүдэд ашигласан болно