فهرست مطالب:
- مرحله 1: منابع مورد استفاده
- مرحله 2: مونتاژ
- مرحله 3: برنامه جدید در MBED
- مرحله 4: وارد کردن کتابخانه DS18b20
- مرحله 5: برنامه جدید در MBED
- مرحله 6: کد منبع
- مرحله 7: داده های دریافت شده
- مرحله 8: شامل سنسورهای بیشتر
- مرحله 9: مشاهده منبع
- مرحله 10: فایل ها
تصویری: برنامه ریزی فوق العاده آسان!: 10 مرحله
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:56
امروز ، من در مورد STM32 Core ، L476RG ، که چهره Ultra Low Power است صحبت خواهم کرد. می توانید آن را در سمت چپ تصویر مشاهده کنید. این دستگاه دارای دو نوار پین زن ، یکی در هر طرف است که چیزی بیشتر از اتصالات سپر آردوینو نیست. این عالی است ، نه؟
به نظر من ، STMicroelectronics این کار را در کیت توسعه خود انجام داد زیرا می داند که متخصصان از این تراشه استفاده می کنند. این شرکت هر روز بیشتر به سمت arduino می رود. و این در مورد چندین کیت حرفه ای دیگر STMicroelectronics نیز صادق است.
سرانجام ، در مورد پروژه امروز ، ما از دو سنسور DS18b20 علاوه بر L476RG استفاده خواهیم کرد. بنابراین ما یک مونتاژ ساده با استفاده از L476RG ایجاد می کنیم ، یک کتابخانه را به محیط MBED وارد می کنیم ، یک برنامه در محیط MBED ایجاد می کنیم و داده ها را از L476RG از طریق USB / Serial دریافت می کنیم.
من قبلاً در این ویدئو کمی در مورد L476RG صحبت کرده ام: روش آسان تر برای برنامه نویسی میکروکنترلر ، که در آن نحوه پیکربندی محیط MBED را که به صورت آنلاین است نشان می دهم.
برخی از افرادی که ویدیوهای من را دنبال می کنند از من می پرسند آیا STM32 جایگزین ESP32 می شود؟ من یک چیز می گویم: جایگزین نمی شود و نمی تواند ، زیرا آنها دو چیز کاملاً متفاوت هستند.
این تراشه STM32 یک میکروکنترلر است یا بهتر بگوییم. این یک "مجموعه ای از چیزها" مانند ESP32 نیست. بنابراین ممکن است نام مشابه به نظر برسد ، اما آنها کاملاً متفاوت هستند. STM32 یک میکروکنترلر عمومی است ، برای مثال PIC ، Atmel.
مرحله 1: منابع مورد استفاده
1 هسته L476RG
2 سنسور DS18b20 (ما از ماژول های رایج ضد آب موجود در بازار استفاده می کنیم)
1 مقاومت 4k7
مینی پیش صفحه
جامپر برای اتصال
مرحله 2: مونتاژ
ما در ابتدا مونتاژ را با استفاده از یکی از سنسورهای دما انجام می دهیم.
قدرت آن 5 ولت خواهد بود.
از یک مقاومت 4k7 برای انجام کشش در خط داده (1-Wire) استفاده می شود.
ما داده ها را با استفاده از پین A0 می خوانیم.
مرحله 3: برنامه جدید در MBED
هنگامی که حساب خود را در MBED راه اندازی کردید و به آن دسترسی پیدا کردید ، ما یک برنامه جدید ایجاد می کنیم. برای انجام این کار ، روی "برنامه های من" راست کلیک کرده و "برنامه جدید …" را انتخاب کنید.
تأیید کنید که "Platform" با تابلوی مورد استفاده شما مطابقت دارد.
اکنون روی "الگو" کلیک می کنیم.
ما بر اساس مثال "نمایش پیام روی رایانه با استفاده از UART" برنامه ای ایجاد می کنیم.
نام برنامه را در "نام برنامه" وارد کنید.
گزینه "Update this program and libraries to latest revision" را علامت بزنید.
یک پوشه جدید برای برنامه شما ایجاد می شود که شامل کتابخانه پیش فرض MBED و فایل main.cpp می شود.
می توانید از آن برای آزمایش اینکه آیا همه چیز خوب کار می کند یا نه استفاده کنید. برای انجام این کار ، کافی است آن را کامپایل کرده و در پلت فرم کپی کنید.
با استفاده از ترمینال سریال دلخواه می توانید پیام های زیر را دریافت کنید.
مرحله 4: وارد کردن کتابخانه DS18b20
از آنجا که چندین نسخه از کتابخانه ها برای Ds18b20 وجود دارد ، ما با استفاده از url وارد می کنیم تا مثال شما از همان کتابخانه استفاده کند.
مرحله 5: برنامه جدید در MBED
در قسمت "نشانی وب منبع": https://os.mbed.com/users/Sissors/code/DS1820/ را وارد کرده و روی وارد کردن کلیک کنید.
کتابخانه DS1820 شما باید در پوشه برنامه شما ظاهر شود.
مرحله 6: کد منبع
شامل می شود
ما کار خود را با درج کتابخانه های لازم آغاز کردیم.
#شامل "mbed.h" // شامل biblioteca padrão do MBED#شامل "DS1820.h" // inclusão da biblioteca do sensor DS1820
ما ثابت هایی را تعریف می کنیم که نشان دهنده پین های مورد استفاده است.
توجه داشته باشید که DS18b20 یک سنسور با ارتباط 1-WIRE است. به همین دلیل ، ما از کتابخانه ای استفاده می کنیم که کل پروتکل ارتباط با دستگاه ها را اداره می کند. این شامل شناسایی هر دستگاه تا دستورات خواندن است.
#تعریف PINO_DE_DADOS A0 // تعریف o pino para leitura dos dados#define MAX_SENSORES 16 // تعریف تعداد نامحدود برای o veor de sensores
ما یک بردار ایجاد می کنیم که به هر یک از 16 دستگاه ممکن متصل به خط داده اشاره می کند.
حسگر DS1820* [MAX_SENSORES] ؛ // cria um vetor com 16 posições para os sensores
ما روش اصلی () را شروع می کنیم ، جایی که با استفاده از روش "unassignedProbe ()" موجود در کتابخانه DS1820 ، همه دستگاه های موجود را در خط ارتباط جستجو می کنیم.
ما بردار حسگر را با مواردی که نمایانگر هر یک از سنسورهای موجود است پر می کنیم.
ما این کار را تا پیدا کردن آخرین مورد یا تا رسیدن به حداکثر 16 سنسور انجام می دهیم.
int main () {int encontrados = 0؛ while (DS1820:: unassignedProbe (PINO_DE_DADOS)) {// inicia a procura por sensores sensor [encontrados] = جدید DS1820 (PINO_DE_DADOS) ؛ // cria uma instancia para o sensor encontrado encontrados ++؛ if (encontrados == MAX_SENSORES) // verifica se atingiu o máximo de sensores break؛ }
ما تعداد سنسورهای موجود در خط را ارسال می کنیم.
printf ("Dispositivos encontrado (s):٪ d / r / n / n"، encontrados)؛
ما یک حلقه نامتناهی را شروع می کنیم و درخواست می کنیم که همه سنسورهای موجود دمای مربوطه خود را محاسبه کرده و سپس با ارسال قرائت های بدست آمده از طریق بردار سنسور تکرار شود.
printf ("Dispositivos encontrado (s):٪ d / r / n / n"، encontrados)؛ while (1) {sensor [0]-> convertTemperature (true ، DS1820:: all_devices) ؛ // solicita a leitura de temperatura para todos os dispositivos encontrados for (int i = 0؛ itemperature ())؛ // به به e retorna a temperatura printf ("\ r / n")؛ صبر کنید (1) ؛ }
مرحله 7: داده های دریافت شده
با استفاده از یک سنسور ، خروجی سریال زیر را بدست می آوریم.
مرحله 8: شامل سنسورهای بیشتر
برای آزمایش کد ، سنسور دیگری را در خط ارتباط معرفی می کنیم ، به سادگی با اتصال آن به موازات سنسور اول.
به یاد داشته باشید که قبل از اتصال سنسورهای جدید ، مجموعه را خاموش کنید.
هنگام راه اندازی مجدد مونتاژ ، خروجی زیر را بدون هیچ تغییری در کد منبع بدست آوردیم.
مرحله 9: مشاهده منبع
#شامل "mbed.h" // شامل biblioteca padrão do MBED #شامل "DS1820.h" // شامل کتابخانه برای انجام حسگر DS1820 #تعریف PINO_DE_DADOS A0 // تعریف pino para leitura dos dados #define MAX_SENSORES 16 // تعریف o número máximo para or veter de sensores DS1820* sensor [MAX_SENSORES] ؛ // cria um vetor com 16 posições para os sensores int main () {int encontrados = 0؛ while (DS1820:: unassignedProbe (PINO_DE_DADOS)) {// inicia a procura por sensores sensor [encontrados] = جدید DS1820 (PINO_DE_DADOS) ؛ // cria uma instancia para o sensor encontrado encontrados ++؛ if (encontrados == MAX_SENSORES) // verifica se atingiu o máximo de sensores break؛ } printf ("Dispositivos encontrado (s):٪ d / r / n / n"، encontrados)؛ while (1) {sensor [0]-> convertTemperature (true ، DS1820:: all_devices) ؛ // solicita a leitura de temperatura para todos os dispositivos encontrados for (int i = 0؛ itemperature ())؛ // به به e retorna a temperatura printf ("\ r / n")؛ صبر کنید (1) ؛ }}
مرحله 10: فایل ها
دیگران
توصیه شده:
نحوه ایجاد نور فلش فوق العاده روشن با LED - DIY: نور فوق العاده روشن: 11 مرحله
نحوه ایجاد نور فلش فوق العاده روشن با LED - DIY: Super Bright Light: ابتدا فیلم را تماشا کنید
DIY MusiLED ، LED های هماهنگ موسیقی با یک کلیک Windows & Linux برنامه (32 بیتی و 64 بیتی). بازآفرینی آسان ، استفاده آسان ، حمل آسان: 3 مرحله
DIY MusiLED ، LED های هماهنگ موسیقی با یک کلیک Windows & Linux برنامه (32 بیتی و 64 بیتی). آسان برای ایجاد مجدد ، آسان برای استفاده ، آسان برای انتقال: این پروژه به شما کمک می کند تا 18 LED (6 قرمز + 6 آبی + 6 زرد) را به برد Arduino خود متصل کرده و سیگنال های زمان واقعی کارت صدا رایانه خود را تجزیه و تحلیل کرده و آنها را به چراغ های LED برای روشن کردن آنها مطابق با جلوه های ضرب (Snare ، High Hat ، Kick)
فوق العاده ساده & quot؛ فوق العاده & quot؛ نور شب: 5 مرحله
فوق العاده ساده & quot؛ فوق العاده & quot؛ Night Light: این یک نسخه بسیار ساده از Eggcellent Light Night است !. اگر این دستورالعمل را ندیده اید ، پیشنهاد می کنم حتماً آن را ببینید. من واقعاً می خواستم آن را درست کنم ، اما حوصله نداشتم. بنابراین من راه ساده تری برای ساختن آن پیدا کردم. این را بررسی کنید
فوق العاده قابل حمل ، فوق العاده بلند ، بادوام ، بلندگوهای باتری: 9 مرحله (همراه با تصاویر)
فوق العاده قابل حمل ، فوق العاده بلند ، با دوام ، بلندگوهای باتری: همیشه می خواستم یک سیستم بلندگوی قدرتمند برای کسانی که در مهمانی های باغی و مهمانی های محلی پیش می روند ، داشته باشم. بسیاری خواهند گفت که این یک دستورالعمل اضافی است ، زیرا بسیاری از رادیوهای سبک بوم باکس از روزهای گذشته که ارزان در دسترس بوده اند ، یا این سبک ارزان iPod mp3 d
فوق العاده آسان و فوق العاده ارزان Magneto Scratcher !: 3 مرحله
فوق العاده آسان و فوق العاده ارزان Magneto Scratcher !: & quot؛ Magnero scratcher & quot؛ دستگاهی است که می تواند صداهای خنده دار را فقط با & quot؛ خاراندن & quot؛ مواد مغناطیسی مانند نوارهای صوتی ، نوارهای ویدئویی ، کارت های اعتباری ، دیسک های مغناطیسی و غیره … در اینجا یک راه فوق العاده آسان برای ساخت آن است. بدون نیاز به لحیم کاری