نمودار اتصال بادسنج را خودتان انجام دهید. بادسنج خانگی برای اندازه گیری سرعت باد. نرم افزار کامپیوتر

بادسنج وسیله ای برای اندازه گیری سرعت باد است. بادسنج فنجانی کلاسیک یک ابزار کاملاً مکانیکی است که قادر به اندازه گیری سرعت باد در محدوده 2 تا 20 متر بر ثانیه است. بادسنج به سادگی تعداد دورهای پروانه را می شمارد. برای تعیین سرعت باد باید تعداد دورهای آن را برای یک دوره زمانی مشخص مثلاً 30 ثانیه اندازه گیری کرد و سپس تعداد تقسیماتی را که سوزن بادسنج در 1 ثانیه می گذراند محاسبه کرد. پس از آن، برای تعیین سرعت باد، باید از نمودار استفاده کنید.

ساده ترین طراحی آنالوگ آن بر اساس یک موتور الکتریکی کم مصرف است، به عنوان مثال، DM-03-3AM 3 91، که به عنوان یک ژنراتور عمل می کند. پروانه بادسنج چهار پره به صورت آماده گرفته شد و در Aliexpress با قیمت حدود 1 دلار خریداری شد.

قطر پروانه 10 سانتی متر و ارتفاع 6 سانتی متر است.

موتور الکتریکی در محفظه ای ساخته شده از یک مخزن جوش سرد قرار دارد که در درب آن سوراخی برای شفت موتور الکتریکی و سیم های منتهی به موتور بریده شده است.

یک پل دیود VD1 مونتاژ شده روی دیودهای شاتکی 1N5817 به موتور الکتریکی متصل می شود. یک خازن الکترولیتی C1 1000 uF x 16 V در خروجی پل دیودی متصل است.

نمودار اتصال بادسنج

دیودهای شاتکی به این دلیل انتخاب می شوند که سرعت چرخش پروانه در شرایط عادی (در صورت عدم وجود طوفان) خیلی زیاد نیست. در سرعت باد حدود 6 متر بر ثانیه، ولتاژی حدود 0.5 ولت در خروجی دستگاه ظاهر می شود.در چنین شرایطی، منطقی است که تلفات در تمام عناصر مدار به حداقل برسد. به همین دلیل، هادی های سطح مقطع بیش از حد بزرگ به عنوان سیم های اتصال استفاده می شود.

هر ولت متر 2 ولت DC را می توان به پایانه های یکسو کننده وصل کرد.یک مولتی متر با نقش خود عالی عمل می کند. اگرچه استفاده از یک دستگاه اشاره گر جداگانه به شما امکان می دهد تا مقیاس را به طور مستقیم در سرعت باد کالیبره کنید.

از آنجایی که قرار بود دستگاه در خیابان راه اندازی شود، پل دیودی پر شد رزین اپوکسی. همانطور که معلوم شد، خازن بیش از حد بزرگ گرفته شد به طوری که دستگاه نتواند افت سریع ولتاژ و بر این اساس، وزش باد را تشخیص دهد. بررسی شده توسط Denev.

سرعت سنج باد DIY

وظیفه ای برای جمع آوری بادسنج برای یک پروژه وجود داشت تا بتوان داده ها را از طریق یک رابط USB روی رایانه گرفت. این مقاله بیشتر بر روی خود بادسنج تمرکز می کند تا سیستم پردازش داده از آن:

1. اجزاء

بنابراین، برای ساخت محصول، اجزای زیر مورد نیاز بود:
ماوس توپ میتسومی - 1 عدد.
توپ پینگ پنگ - 2 عدد.
یک تکه پلکسی با اندازه مناسب
سیم مسی با مقطع 2.5 میلی متر مربع - 3 سانتی متر
خودکار توپ - 1 عدد.
چوب آب نبات Chupa Chups - 1 عدد.
گیره کابل - 1 عدد.
بشکه برنجی توخالی 1 عدد.

2. ساخت پروانه

3 تکه سیم مسی به طول 1 سانتی متر هر کدام با زاویه 120 درجه به یک بشکه برنجی لحیم شدند. در سوراخ بشکه یک پایه از بازیکن چینی را با نخ در انتهای آن لحیم کردم.

لوله را از روی آب نبات به 3 قسمت به طول حدود 2 سانتی متر برش دادم.

2 توپ را از وسط نصف کردم و با استفاده از پیچ های کوچک همان پخش کننده و چسب پلی استایرن (با تفنگ چسب) نیمه های توپ را به لوله های آب نبات چوبی وصل کردم.

لوله ها را با نیمه های توپ روی تکه های سیم لحیم شده قرار دادم و همه چیز را با چسب ثابت کردم.

3. ساخت قسمت اصلی

عنصر یاتاقان بادسنج یک میله فلزی از یک خودکار است. در قسمت پایین میله (جایی که چوب پنبه درج شده بود) دیسک را از روی ماوس (انکودر) وارد کردم. در طراحی خود ماوس، قسمت پایینی انکودر روی بدنه ماوس قرار داشت و یک یاتاقان نقطه ای را تشکیل می داد، چربی وجود داشت، بنابراین انکودر به راحتی می چرخید. اما لازم بود قسمت بالایی میله را درست کنید، برای این کار یک قطعه پلاستیکی مناسب با سوراخی دقیقاً به قطر میله برداشتم (چنین قطعه ای از سیستم گسترش کالسکه CD-ROMA بریده شد). برای حل مشکل باقی ماند تا میله انکودر از یاتاقان نقطه نیفتد، بنابراین من چند قطره لحیم کاری را روی میله مستقیماً جلوی المنت نگهدارنده لحیم کردم. بنابراین، میله آزادانه در ساختار نگهدارنده چرخید، اما از یاتاقان نیفتاد.

دلیل انتخاب مدار رمزگذار به شرح زیر است: تمام مقالات مربوط به بادسنج های خانگی در اینترنت، ساخت آنها را بر اساس یک موتور DC از یک پخش کننده، CD-ROM یا برخی محصولات دیگر شرح داده اند. مشکل این گونه دستگاه ها اولاً کالیبراسیون و دقت کم آنها در سرعت باد کم است و ثانیاً مشخصه غیرخطی سرعت باد نسبت به ولتاژ خروجی است. برای انتقال اطلاعات به رایانه، مشکلات خاصی وجود دارد، باید قانون تغییر ولتاژ یا جریان را از سرعت باد محاسبه کنید. هنگام استفاده از رمزگذار، چنین مشکلی وجود ندارد، زیرا وابستگی خطی است. دقت بالاترین است، زیرا رمزگذار حدود 50 پالس در هر چرخش محور بادسنج می دهد، اما مدار مبدل تا حدودی پیچیده تر است، که در آن یک میکروکنترلر وجود دارد که تعداد پالس ها را در هر ثانیه روی یکی از پورت ها و خروجی ها می شمارد. این مقدار در پورت USB است.

4. تست و کالیبراسیون

برای کالیبراسیون از بادسنج آزمایشگاهی استفاده شد.


با ساخت یک دستگاه بسیار ساده با دستان خود و استفاده از این اپلیکیشن، بادسنج واقعی برای اندازه گیری سرعت باد یا جریان هوا در داخل به دست خواهید آورد. سیستم تهویه. شما می توانید طرح بادسنج را انتخاب کنید که به بهترین وجه مطابق با نیازهای شما باشد.

تعیین سرعت باد بر اساس اندازه گیری سرعت چرخش آهنربا با مغناطیس سنج گوشی است. برای هر طراحی بادسنج، وابستگی سرعت چرخش به سرعت جریان هوا تعیین می شود. این وابستگی ها قابل ویرایش هستند.

می توانید طرح های پیشنهادی را بهبود ببخشید یا طرح های خود را بسازید و آن را کالیبره کنید.

برای انتخاب واحدها (m/s، km/h، ft/s، mph، گره، Bft، Hz (دور در ثانیه)، RPM (دور در دقیقه)) یا مقدار متوسط ​​("Avg1" آخرین مقدار است، "Avg3" و "Avg7" - مقدار متوسط) صفحه نمایش هفت بخش را فشار دهید.

از قاب گوشی خود غافل نشوید.

بادسنج "در فضای باز".




اگر نیاز به اندازه گیری سرعت باد دارید بیرون از خانه، پس این نوع برای این کار مناسب تر است. تغییرات تحت تأثیر جهت باد ( بادسنج پره ای ) قرار نمی گیرند و پروانه با وزش شدید باد ( بادسنج "حساس") منفجر نمی شود.

مشخصات فنی:
محدوده اندازه گیری از 0.5 متر بر ثانیه تا 15 متر بر ثانیه.
دقت 0.5 متر بر ثانیه


برای ساخت بادسنج، باید یک مربع 3x3 اینچ (7.6x7.6 سانتی متر) را از یک قوطی آلومینیومی برش دهید.








در ورق به دست آمده، باید نشانه گذاری کنید.




با قیچی بر روی علامت ها ایجاد کنید.




بسیار با دقت وصل کنید شکل مورد نظر. اگر پروانه فوراً شکل دلخواه را به خود نگیرد، پس از ایجاد سوراخ در مرکز می تواند تراز شود.










تمام گوشه های تیز باید قطع شود. این کار باید انجام شود تا گوشه بریده شده به چشم کسی نرود.




پروانه به شفت قلم توپ پیچ می شود. قطر داخلی میله می تواند بسیار متفاوت باشد. بنابراین، دشوار است که بنویسیم پیچ با چه اندازه ای مناسب است. در عکس از پیچ با سایز رزوه 6*2 میلی متر استفاده شده است. سر پیچ باید مسطح باشد (ضد فرورفتگی) زیرا آهنربا باید به خوبی روی آن قرار گیرد. شیار پیچ Pozidriv (PZ) ترجیح داده می شود چنین شکافی در طراحی دیگری از بادسنج مورد نیاز است.




به جای پیچ، می توانید از پیچ ها، میخ های بسیار کوچک استفاده کنید یا حتی پروانه و آهنربا را بچسبانید. آدامس(آدامس باید اجازه داده شود تا خشک شود). اگر میخک کمی کمتر از حد لازم بود، بریدگی هایی روی آن ایجاد کنید.








اکنون باید از یک مربع 1/2 اینچی (1.2 سانتی متری) با یک فرورفتگی کوچک در مرکز، یک ضربدر کوچک ایجاد کنید. برای مثال اگر قطر داخلی دسته کوچکتر است، می توانید از مربع کوچکتری استفاده کنید.




صلیب با احتیاط داخل دسته قرار می گیرد و تا آخر فشار داده می شود.






بادسنج تقریباً آماده است. وقتی روی آن باد می کنید باید به راحتی بچرخد. میله فقط باید با توپ صلیب را لمس کند (شاید برای این باید صلیب را کمی کوچکتر کنید). برای دیدن این، قلم توپ باید شفاف باشد.


اکنون باید مطمئن شوید که میله در دسته آویزان نیست. برای انجام این کار، لایه به لایه بالای پلاگین را به اندازه سوراخی که میله برای چرخش آزاد است، ببرید.






باقی مانده است که آهنربا را وصل کنید و بادسنج آماده است. استفاده شده آهنربای نئودیمیومیاندازه 4x4x4 میلی متر ( آهنربای نئودیمیوم بزرگتر به خوبی روی سر پیچ متمرکز نمی شود و باید چسبانده شود). قطب های آهنربا باید به صورت شعاعی هدایت شوند. آهنربای دیگری به شما کمک می کند تا قطب های مکعب را پیدا کنید. اگر نشانگر دارید، حتما آن را با آهنربا برچسب بزنید.




برای جلوگیری از خروج پروانه از دستگیره با وزش باد شدید، می توان چندین لایه نوار چسب را تا قطر دوشاخه که داخل سوراخ نمی شود پیچاند. شما نمی توانید لایه های زیادی را بپیچید تا در حین چرخش دست به دست نخورد.




انواع دیگر دستگیره ها (مثلا "Bic Cristal") می توانند برای ساخت بادسنج استفاده شوند.


برای جدا کردن دوشاخه، تیغه چاقو را مطابق عکس قرار دهید و فشار دهید.


برای این خودکار، باید از یک صلیب کوچکتر که از یک مربع 3/8 اینچی (9 میلی متر) ساخته شده است استفاده کنید.










اندازه پیچ استفاده شده 2.5x6mm (#3) (یا یک میخ خاردار 1.8mm) است.


اگر نمی توانید یک آهنربای نئودیمیوم کوچک بخرید، می توان از آهنرباهای تخته سفید استفاده کرد.








آهنرباهای انعطاف پذیر بسیار ضعیف هستند و نمی توان از آنها استفاده کرد.


وابستگی فرکانس چرخش به سرعت باد:
2 هرتز - 1.5 متر بر ثانیه
4 هرتز - 2.7 متر بر ثانیه
6 هرتز - 3.8 متر بر ثانیه

بادسنج "حساس".


مشخصات فنی:
محدوده اندازه گیری از 0.5 متر بر ثانیه تا 3.5 متر بر ثانیه.
دقت 0.5 متر بر ثانیه
فاصله به روز رسانی 2-5 ثانیه.


یک مستطیل 3x2 اینچی (7.6x5.1 سانتی متر) را برش دهید.






سه مستطیل به عرض 1 اینچ (2.53 سانتی متر) علامت بزنید.






















استفاده از پیچ Pozidriv (PZ) بسیار مهم است. زیرا در چنین شکافی سوزن به دیواره های جانبی برخورد نمی کند. طول پیچ باید تا حد امکان کوتاه باشد تا آهنربا تا حد امکان پایین باشد. در عکس از یک پیچ 2x6 میلی متری استفاده شده است.


پس از سفت شدن پیچ، "بال ها" با دقت از هم جدا شده و به پروانه ها شکل دلخواه داده می شود.










برای اینکه آهنربا به خوبی روی پیچ بماند، باید مهره دیگری را ببندید. اما آن را نپیچانید.




به دلیل اتصال آهنربای نئودیمیم (4x4x4 میلی متر)، مرکز ثقل پروانه بالا می رود و روی سوزن ناپایدار می شود. برای پایین آوردن مرکز ثقل، وزنه ها باید به داخل "بالها" چسبانده شوند (واشرهایی برای پیچ 4 میلی متری استفاده می شود).


پروانه می تواند نه تنها روی یک بال، بلکه روی مدادهای بسیار خوب تیز شده یا روی سوزن خیاطی متصل به مداد بچرخد. روی سوزن خیاطی، پروانه به بهترین وجه می چرخد، اما این گزینه به دقت زیادی نیاز دارد و اکیداً برای کودکان مناسب نیست.




وابستگی فرکانس چرخش به سرعت باد (بر روی یک مداد مکانیکی 0.5 میلی متر):
1.5 هرتز - 1.4 متر بر ثانیه
4 هرتز - 2.85 متر بر ثانیه
6 هرتز - 3.4 متر بر ثانیه

بادسنج پره ای


طراحی شده برای اندازه گیری میزان جریان هوا در سیستم های تهویه.

مشخصات فنی:
محدوده اندازه گیری از 1.75 متر بر ثانیه تا 3.0 متر بر ثانیه.
دقت 0.2 متر بر ثانیه
فاصله به روز رسانی 2-5 ثانیه.

این بادسنج از یک فن با بلبرینگ ساخته شده است. شما می توانید پنکه با هر اندازه ای انتخاب کنید، اما در نظر داشته باشید که هر چه اندازه پنکه کوچکتر باشد، حساسیت بادسنج کمتر می شود. از یک فن 80x80x25mm استفاده می کند.


برای اینکه فن به راحتی بچرخد، باید آهنربای حلقه را از آن بیرون بکشید.




هنگام برداشتن حلقه نگهدارنده باید آن را با دست بگیرید تا از بین نرود و گم نشود.






برای بیرون کشیدن آهنربای حلقه ای باید یک پیچ گوشتی سر صاف زیر آن قرار دهید و پیچ گوشتی را کمی بچرخانید. این باید آهنربا را کمی به بیرون فشار دهد. با تکرار این عمل، باید به طور مساوی کل آهنربا را بلند کنید.




هنگامی که آهنربا به جایی می رسد که دیگر نمی توان آن را با پیچ گوشتی بلند کرد، باید از یک پیچ (4x30 (>30) میلی متر) استفاده کرد.









حالا فن می رود. و اگر حلقه نگهدارنده را نپوشانید، چرخش فن آسان تر خواهد بود، اما ممکن است پروانه بیفتد.

وابستگی سرعت چرخش به سرعت جریان هوا:
4 هرتز - 1.85 متر بر ثانیه
6 هرتز - 2.3 متر بر ثانیه
8 هرتز - 2.55 متر بر ثانیه
12 هرتز - 2.7 متر بر ثانیه
18 هرتز - 2.8 متر بر ثانیه

اگر چیزی واضح نیست، حتما یک ایمیل بنویسید.

برای ساخت دستگاهی که سرعت جریان هوا را اندازه گیری می کند، وسایل بداهه مورد نیاز است. به عنوان مثال، نیمی از تخم مرغ های پلاستیکی عید پاک را می توان به عنوان تیغه بادسنج استفاده کرد. شما همچنین به یک موتور فشرده بدون برس آهنربای دائمی نیاز دارید. نکته اصلی این است که مقاومت یاتاقان ها روی شفت موتور حداقل است. این نیاز به این دلیل است که باد می تواند بسیار ضعیف باشد و سپس شفت موتور به سادگی نمی چرخد. برای ایجاد بادسنج، یک موتور از یک هارد دیسک قدیمی انجام می دهد.

مشکل اصلی در مونتاژ بادسنج، ساختن یک روتور متعادل است. موتور باید روی یک پایه عظیم نصب شود و یک دیسک پلاستیکی ضخیم روی روتور آن قرار گیرد. سپس، سه نیمکره یکسان باید با دقت از تخم‌های پلاستیکی جدا شوند. آنها با گل میخ یا میله های فولادی روی دیسک ثابت می شوند. در این حالت ابتدا باید دیسک به بخش های 120 درجه تقسیم شود.

توصیه می شود تعادل را در اتاقی انجام دهید که در آن هیچ حرکت باد وجود نداشته باشد. محور بادسنج باید در حالت افقی باشد. تنظیم وزن معمولا با سوهان سوزنی انجام می شود. نکته این است که روتور در هر موقعیتی متوقف می شود، نه در همان موقعیت.

کالیبراسیون ابزار

یک دستگاه خانگی باید کالیبره شود. بهترین راه برای کالیبراسیون استفاده از ماشین است. اما به نوعی دکل نیاز است تا وارد منطقه هوای آشفته ایجاد شده توسط خودرو نشود. در غیر این صورت، خوانش ها به شدت تحریف می شوند.

کالیبراسیون فقط باید در یک روز آرام انجام شود. سپس این روند به تعویق نخواهد افتاد. اگر باد می وزد، باید برای مدت طولانی در جاده رانندگی کنید و مقادیر میانگین سرعت باد را محاسبه کنید. به خاطر داشته باشید که سرعت سنج بر حسب کیلومتر بر ساعت و سرعت باد بر حسب متر بر ثانیه اندازه گیری می شود. نسبت بین آنها 3.6 است. این بدان معنی است که قرائت های سرعت سنج باید بر این عدد تقسیم شود.

برخی از افراد در طول فرآیند کالیبراسیون از ضبط کننده صدا استفاده می کنند. شما به سادگی می توانید قرائت سرعت سنج و بادسنج را به یک دستگاه الکترونیکی دیکته کنید. می توانید یک مقیاس جدید برای بادسنج خانگی خود ایجاد کنید. تنها با کمک یک دستگاه به درستی کالیبره شده می توان اطلاعات قابل اعتمادی در مورد وضعیت باد در منطقه مورد نیاز به دست آورد.

ایستگاه هواشناسی بر روی میکروکنترلر Picaxe از Revolution Education Ltd ساخته شده است و از دو بخش اصلی تشکیل شده است: واحد بیرونیکه داده های خود را هر 2 ثانیه با استفاده از فرستنده 433 مگاهرتز ارسال می کند. و یک واحد داخلی که داده های دریافتی را روی یک نمایشگر LCD 20×4 نمایش می دهد و همچنین فشار اتمسفر را که به صورت محلی در یونیت داخلی اندازه گیری می شود، نمایش می دهد.

من سعی کردم طراحی را تا حد امکان ساده و کاربردی نگه دارم. دستگاه از طریق پورت COM با کامپیوتر ارتباط برقرار می کند. در حال حاضر، نمودارها به طور مداوم بر روی رایانه از مقادیر به دست آمده ساخته می شوند و مقادیر نیز بر روی شاخص های معمولی نمایش داده می شوند. نمودارها و خوانش حسگرها در وب سرور داخلی موجود است، تمام داده ها ذخیره می شوند و غیره. شما می توانید داده ها را برای هر دوره زمانی مشاهده کنید.

ساخت ایستگاه هواشناسی چند ماه طول کشید، از طراحی تا تکمیل، و در کل از نتیجه آن بسیار راضی هستم. من به خصوص خوشحالم که توانستم همه چیز را از ابتدا با ابزارهای معمول بسازم. کاملاً مناسب من است، اما هیچ محدودیتی برای کمال وجود ندارد، و این به ویژه در مورد رابط گرافیکی صادق است. من هیچ تلاشی برای تجاری سازی ایستگاه هواشناسی نکرده ام، اما اگر به فکر ساختن یک ایستگاه هواشناسی برای خود هستید، این انتخاب خوبی است.

سنسورهای فضای باز

سنسورها برای اندازه گیری دما، رطوبت، بارندگی، جهت و سرعت باد استفاده می شوند. حسگرها ترکیبی از وسایل مکانیکی و الکترونیکی هستند.

سنسور دما و رطوبت نسبی

اندازه گیری دما شاید ساده ترین باشد. برای این کار از سنسور DS18B20 استفاده شده است. HIH-3610 برای اندازه گیری رطوبت مورد استفاده قرار گرفت، ولتاژ خروجی 0.8 - 3.9V در رطوبت 0٪ تا 100٪

من هر دو سنسور را روی یک کوچک نصب کردم تخته مدار چاپی. این برد در داخل یک کیس خانگی نصب می شود که از بارش باران و سایر عوامل خارجی جلوگیری می کند.

کد ساده شده برای هر یک از سنسورها در زیر نشان داده شده است. کد دقیق تر که مقادیر را تا یک رقم اعشار می خواند در سایت پیتر اندرسون نشان داده شده است. کد آن در نسخه نهایی ایستگاه هواشناسی استفاده شده است.

سنسور دما دقت 0.5 ± درجه سانتیگراد را ارائه می دهد. سنسور رطوبت تا 2% دقت را ارائه می دهد، بنابراین مهم نیست که چند رقم اعشار در دسترس است!

نمونه ای از طرح از یک نرم افزار در حال اجرا بر روی کامپیوتر.

درجه حرارت

اصلی: readtemp B.6, b1 ; اگر b1 > 127 باشد، مقدار را به b1 بخواند، سپس منفی. تست برای sertxd منفی (#b1, cr, lf) ; مقدار ارسال به ترمینال PE مکث 5000 goto main neg: b1 = b1 - 128 ; تنظیم مقدار neg sertxt("-"); انتقال نماد منفی sertxt (#b1, cr, lf) ; انتقال مقدار به ترمینال PE مکث 5000 goto main

رطوبت

اصلی: readadc B.7,b1 ; مقدار رطوبت را بخوانید b1 = b1 - 41 * 100 / 157 . تغییر به %RH sertxd (#b1، "%"، cr، lf) pause 5000 ; 5 ثانیه صبر کنید

محاسبه سنسور رطوبت

محاسبات گرفته شده از مستندات حسگر Honeywell HIH-3610. نمودار منحنی استاندارد را در دمای 0 درجه سانتیگراد نشان می دهد.

ولتاژ سنسور در ورودی ADC (B.7) میکروکنترلر Picaxe 18M2 اندازه گیری می شود. در کد نشان داده شده در بالا، مقداری که به صورت عددی از 0 تا 255 نمایش داده می شود (یعنی 256 مقدار)، در متغیر b1 ذخیره می شود.

مدار ما توسط 5 ولت تغذیه می شود، بنابراین هر مرحله ADC عبارت است از:
5/256 = 0.0195 V.

نمودار مقدار اولیه ADC 0.8 V را نشان می دهد:
0.8 / 0.0195 = 41

با گرفتن مقادیر از نمودار، شیب نمودار (با در نظر گرفتن افست) تقریباً برابر است با:
ولتاژ خروجی / % RH یا
(2.65 - 0.8) / 60 = 0.0308 V در % RH
(در اسناد 0.0306)

بیایید تعداد مراحل ADC را برای رطوبت 1٪ محاسبه کنیم:
(V در % RH) / (گام ADC)
0.0308 / 0.0195 = 1.57

%RH = مقدار ADC - ADC offset / (مراحل ADC در %RH)، یا
%RH = مقدار ADC - 41 / 1.57

فرمول نهایی محاسبه برای میکروکنترلر به صورت زیر خواهد بود: %RH = مقدار ADC - 41 * 100/157

کیس محافظ

با برش هر پانل به دو قسمت شروع کنید. تخته ها در یک قسمت از دو طرف محکم و در قسمت دوم فقط از یک طرف چسبیده می شوند. این قطعات را دور نریزید - آنها استفاده می شوند.

دو قسمت را به کل وصل کنید میله های چوبی 20mm x 20mm بالا و پایین، و قطعات دیگر را به آنها پیچ کنید.

یکی از تکه ها را با یک طرف کامل به اندازه برش دهید و به داخل یکی از طرف ها بچسبانید. اطمینان حاصل کنید که تخته ها به گونه ای چسبانده شده اند که شکل "^" را با هم تشکیل دهند. این کار را برای همه طرف انجام دهید.

سرعت سنج و جهت باد

مکانیکی

سنسورهای سرعت و جهت باد ترکیبی از اجزای مکانیکی و الکترونیکی هستند. قسمت مکانیکی برای هر دو سنسور یکسان است.

یک درج تخته سه لا (لایه دریایی) 12 میلی متری بین لوله PVC و دیسک فولادی ضد زنگ در انتهای بالای لوله قرار می گیرد. بلبرینگ به یک دیسک فولادی ضد زنگ چسبانده شده و توسط یک صفحه فولادی ضد زنگ در جای خود نگه داشته می شود.

هنگامی که همه چیز به طور کامل مونتاژ و راه اندازی شد، نواحی در معرض دید با درزگیر برای آب بندی آب بندی می شوند.

سه سوراخ دیگر در عکس برای تیغه ها است. تیغه هایی به طول 80 میلی متر شعاع چرخش 95 میلی متر را می دهند. فنجان به قطر 50 میلی متر. برای اینها از بطری های ادکلن برش خورده استفاده کردم که تقریباً کروی شکل هستند. من در مورد قابلیت اطمینان آنها مطمئن نیستم، بنابراین آنها را به راحتی قابل تعویض ساختم.

قطعه الکترونیکی

الکترونیک سنسور سرعت باد فقط از یک سوئیچ ترانزیستور، یک فوتودیود و دو مقاومت تشکیل شده است. آنها بر روی یک PCB گرد کوچک با قطر 32 میلی متر نصب می شوند. آنها آزادانه در لوله نصب می شوند تا رطوبت در صورت ورود بدون تماس با وسایل الکترونیکی به سمت پایین جریان یابد.

بادسنج یکی از سه سنسوری است که باید کالیبره شود (دو تای دیگر سنسور بارش و سنسور فشار هوا هستند)

فتودیود دو پالس در هر دور ایجاد می کند. در سیستم "سریالی" ساده ای که من هدفش را داشتم (همه سنسورها به نوبه خود نظرسنجی می شوند)، باید بین مدت زمان صرف شده برای نظرسنجی هر سنسور (در این مورد، شمارش پالس ها) و پاسخگویی سیستم وجود داشته باشد. در کل. در حالت ایده آل، یک چرخه کامل نظرسنجی از همه سنسورها نباید بیش از 2-3 ثانیه طول بکشد.

در عکس بالا، بررسی سنسور با استفاده از یک موتور با سرعت قابل تنظیم.

; دستورات خاص LCD با رنگ آبی نشان داده شده است hsersetup B9600_4, %10000 ; استفاده از پین LCD 1، بدون hserin hserout 0، (13): مکث 100 ; مقدار اولیه LCD hserout 0, (13) : pause 100 hserout 0, (13) : pause 100 pause 500 hserout 0, ("ac1", 13) ; پاک کردن مکث نمایشگر 50 hserout 0, ("acc"، 13) hserout 0, ("ac81", 13, "adcount: ", 13) ; چاپ سرفصل ها pause 10 hserout 0, ("ac95", 13, "adpulsin: ", 13) ; عناوین مکث 10 را چاپ کنید، C.2، 1000، w0 را بشمارید. تعداد پالس ها (دو در هر دور) w1 = 0 برای b8 = 1 تا 2 . اندازه گیری طول پالس دو بار پالسین C.2, 1, w2 ; در هر دور و... w1 = w1 + w2 بعدی w1 = w1 / 2 ; ... محاسبه میانگین hserout 0, ("ac89", 13, "ad ", #w0, " ", 13) ;مقدار شمارش hserout 0, ("ac9d", 13, "ad ", #w1, " را چاپ کنید "، 13) ;مقدار طول پالس مکث 100 حلقه را چاپ کنید

من می خواستم آن را در حین رانندگی کالیبره کنم، اما زمانی برای آن وجود نداشت. من در یک منطقه نسبتاً مسطح با فرودگاهی در فاصله چند مایلی زندگی می‌کنم، بنابراین سنسور را با مقایسه خوانش‌های سرعت باد خود با قرائت‌های فرودگاه کالیبره کردم.

اگر 100% راندمان داشتیم و تیغه ها با سرعت باد می چرخیدند، آنگاه:
شعاع روتور = 3.75 اینچ
قطر روتور = 7.5 اینچ = 0.625 فوت
دور روتور = 1.9642 فوت

1 فوت در دقیقه = 0.0113636 متر در ساعت،
1.9642 فوت در دقیقه = 1 دور در دقیقه = 0.02232 متر در ساعت
1 متر در ساعت = 1 / 0.02232 دور

1 متر در ساعت = 44.8 دور در دقیقه
? m/h = دور / 44.8
= (دور در دقیقه * 60) / 44.8

از آنجایی که در هر نوبت دو پالس وجود دارد
? m/h = (پالس در ثانیه * 30) / 44.8
= (پلس در ثانیه) / 448

سنسور جهت باد - قسمت مکانیکی

در سنسور جهت باد به جای صفحه آلومینیومی از آهنربا و به جای واحد اپتوالکترونیک از تراشه مخصوص AS5040 (رمزگذار مغناطیسی) استفاده شده است.

عکس زیر یک آهنربای 5 میلی متری را نشان می دهد که روی انتهای یک پیچ مرکزی نصب شده است. تراز آهنربا با تراشه بسیار مهم است. آهنربا باید دقیقاً در مرکز 1 میلی متر بالای تراشه باشد. هنگامی که همه چیز دقیقاً در یک راستا قرار گرفت، سنسور به درستی کار خواهد کرد.

سنسور جهت باد - قسمت الکترونیکی

طرح های مختلفی برای اندازه گیری جهت باد وجود دارد. اساساً آنها شامل 8 سوئیچ نی هستند که با فاصله 45 درجه در فواصل یک آهنربا در حال چرخش یا یک پتانسیومتر که می تواند کاملاً بچرخد.

هر دو روش مزایا و معایب خود را دارند. مزیت اصلی این است که اجرای هر دوی آنها آسان است. عیب این است که آنها در معرض سایش هستند - به ویژه پتانسیومترها. یک جایگزین برای استفاده از سوئیچ‌های نی، استفاده از حسگر اثر هال برای مقابله با سایش مکانیکی است، اما آنها هنوز به 8 موقعیت مختلف محدود می‌شوند... در حالت ایده‌آل، من چیزی متفاوت را امتحان می‌کنم و در نهایت در مورد یک سنسور آی سی مغناطیسی چرخشی تصمیم می‌گیرم. اگرچه این یک دستگاه نصب سطحی است (که من سعی می کنم از آن اجتناب کنم)، اما دارای تعدادی مزیت است که استفاده از آن را جذاب می کند!

دارای چندین فرمت خروجی مختلف است که دو مورد از آنها برای هدف ما مناسب ترین هستند. بهترین دقت با رابط SSI به دست می آید. AS5040 پالس هایی را از 1 میکروثانیه در 0 درجه تا 1024 میکرو ثانیه در 359.6 درجه ارائه می کند.

بررسی کالیبراسیون سنسور جهت باد:

Readadc10 B.3, w0 را انجام دهید ;از AS5040 مکث یاتاقان مغناطیسی بخوانید 100 w0 = w0 * 64 / 182 ; تبدیل به 0 - 360 (درجه) اشکال زدایی؛ نمایش در حلقه پنجره اشکال زدایی Prog/Edit

بارش سنج

تا جایی که امکان داشت، باران سنج را از پلاستیک و فولاد ضد زنگ ساختم، پایه آن از آلومینیوم ضخامت 3 میلی متر برای استحکام ساخته شده است.

دو سطل در باران سنج وجود دارد. هر سطل قبل از اینکه مرکز ثقل خود را تغییر دهد تا 6 میلی لیتر آب را در خود نگه می دارد که باعث می شود آب را داخل سطل بریزد و به یک حسگر سیگنال دهد. هنگامی که سطل واژگون می شود، پرچم آلومینیومی از یک حسگر نوری عبور می کند که سیگنالی را به الکترونیک واحد خارجی می فرستد.

در حال حاضر، من آن را با دیوارهای شفاف رها کرده ام (چون تماشای کار کردن آن لذت بخش است!). اما من فکر می کنم برای جلوگیری از تبخیر باید آن را سفید رنگ کرد تا گرما را در تابستان منعکس کند. من نتوانستم یک قیف کوچک پیدا کنم، بنابراین مجبور شدم خودم را بسازم. به سیم داخل قیف و در مرکز ناودان دقت کنید. این کار به توقف کشش سطحی آب در قیف کمک می کند و به چکیدن آب کمک می کند. بدون سیم، باران تمایل به "چرخش" دارد و مسیر حرکت آن غیرقابل پیش بینی خواهد بود.

نمای نزدیک حسگرهای نوری:

قسمت الکترونیکی باران سنج

با توجه به ماهیت تصادفی سنسور، وقفه نرم افزاری در MCU واحد خارجی رویکرد منطقی به نظر می رسید. متأسفانه، برخی از دستورالعمل های برنامه مکانیسم وقفه را در حین اجرا غیرفعال می کنند، بنابراین. این احتمال وجود دارد که سیگنال به جایی نرسد. به این دلایل، باران سنج میکروکنترلر 08M Picaxe خود را دارد.

استفاده از یک تراشه جداگانه به آن اجازه می دهد تا از آن برای ایجاد یک تاخیر 1 ساعته به اندازه کافی دقیق برای شمارش سطل ها در ساعت استفاده شود.

تنظیم

Picaxe 18m2 تعداد سطل های فعلی را در ساعت دریافت می کند و آن را روی نمایشگر و کامپیوتر نمایش می دهد.

به عنوان نقطه شروع، من از داده های زیر استفاده می کنم:
قطر قیف 120 میلی متر و مساحت ظرف 11.311 میلی متر مربع
1 میلی متر باران = 11.311 میلی متر مکعب یا 11.3 میلی لیتر.
هر سطل 5.65 میلی لیتر است. بنابراین، 2 سطل 2 x 5.65 = 11.3 میلی لیتر (یا 1 میلی متر) بارش. یک سطل = 0.5 میلی متر بارندگی.

برای مقایسه، من یک باران سنج ارزان خریدم.

مدار فوق و مدار 08M Picaxe از طرح PCB یکسانی برای سنسور استفاده می کنند. انرژی این دستگاه توسط یک باتری 12 ولتی 7 آمپر ساعتی از طریق تثبیت کننده 7805 تامین می شود.
من از کیت RF Connect برای بی سیم 433 مگاهرتز استفاده کردم. این کیت شامل یک جفت کنترلر PIC ویژه برنامه ریزی شده است. مجموعه ای از ماژول های بی سیم در طول آزمایشات کاملاً قابل اعتماد بودند.

08M Picaxe و 18m2 روی PP نصب شده است. هر کدام از آنها کانکتور برنامه نویسی خاص خود را دارند. کانکتورهای جداگانه، هر کدام با +5 ولت مخصوص به خود، به هر سنسور اختصاص داده شده اند - به جز دما و رطوبت.

لطفاً توجه داشته باشید که من نقاشی را در Paintshop Pro کشیدم بنابراین نمی توانم دقت فاصله پین ​​را تضمین کنم.

واحد داخلی

واحد داخلی از 18 متر مربع Picaxe، سنسور فشار و نمایشگر LCD استفاده می کند. یک رگولاتور ولتاژ 5 ولت نیز وجود دارد.

فشارسنج

پس از چندین تلاش ناموفق، من روی MPX4115A مستقر شدم. اگرچه سایر سنسورها دامنه اندازه گیری کمی بزرگتر دارند، اما دسترسی به آنها دشوار است. علاوه بر این، سنسورهای دیگر معمولاً با ولتاژ 3.3 ولت کار می کنند و نیاز به تنظیم کننده اضافی دارند. MPX4115A ولتاژ آنالوگ 3.79 ولت تا 4.25 ولت متناسب با فشار را فراهم می کند. اگرچه این وضوح تقریباً برای تشخیص 1 میلی بار تغییر فشار کافی است، پس از بحث در انجمن، یک ADC MCP3422 را اضافه کردم. می تواند در حالت 16 بیتی (یا بالاتر) در مقایسه با حالت 10 بیتی Picaxe اجرا شود. MCP3422 را می توان (مانند مدار ما) در حالت دیفرانسیل با ورودی آنالوگ از یک سنسور متصل کرد. مزیت اصلی این است که این اجازه می دهد تا خروجی سنسور تصحیح شود، در نتیجه به راحتی خطاهای MPX4115A جبران می شود و راه آسانی برای کالیبره کردن سنسور ارائه می شود.

MPC3422 در واقع دو ورودی دیفرانسیل دارد، اما از آنجایی که یکی از آنها استفاده نمی شود، اتصال کوتاه می شوند. خروجی MCP3422 دارای یک رابط I2C است و به پین ​​های SDA و SCL در 18 متر مربع Picaxe متصل می شود - به ترتیب پایه های B.1 و B.4. از نظر من، تنها ایراد استفاده از MCP3422 این است که یک دستگاه نصب سطحی کوچک است، اما من آن را به آداپتور لحیم کردم. علاوه بر رابط I2C، MCP3422 18m2 به سادگی داده های دریافتی از گیرنده بی سیم 433 مگاهرتز را پردازش می کند، داده ها را روی نمایشگر نمایش می دهد و داده ها را به رایانه شخصی منتقل می کند. برای جلوگیری از خطاهای واحد داخلی هنگامی که رایانه کار نمی کند، هیچ پاسخی از طرف رایانه وجود ندارد. واحد داخلیداده ها را منتقل می کند و ادامه می دهد. داده ها را در فواصل تقریبی 2 ثانیه ارسال می کند تا از دست دادن داده ها برای دفعه بعد به سرعت جبران شود. من از پورت های استفاده نشده روی 18 متر مربع برای اتصال دکمه روی پنل جلویی استفاده کردم. سوئیچ S1 (ورودی C.5) برای روشن کردن نور پس زمینه LCD استفاده می شود. سوئیچ S2 (ورودی C.0) مقدار فشار (mbar) را روی صفحه نمایش LCD بازنشانی می کند. سوئیچ S3 (ورودی C.1) میزان بارندگی نمایش داده شده بر روی صفحه نمایش LCD را بین کل ساعت قبل و فعلی تغییر می دهد. دکمه ها باید بیش از 1 ثانیه نگه داشته شوند تا پاسخ دهند.

مونتاژ یونیت داخلی

همانند PCB برای یونیت خارجی، من طرح را با دست با استفاده از Paintshop Pro ترسیم کردم، بنابراین ممکن است در فواصل خطا وجود داشته باشد.

تخته کمی بزرگتر از حد لازم برای قرار گرفتن در شکاف های کیس آلومینیومی است.
من عمداً کانکتور برنامه نویسی را از لبه برد کمی "داخل" کردم تا از تماس آن با کیس جلوگیری کنم. بریدگی صفحه نمایش ال سی دی دریل شده و به ابعاد دقیق بریده شده است.

عکس همه چیزهایی را که قبلاً در کیس نصب شده است نشان می دهد.

پین های روی برد نصب آن را در کیس سخت می کند، بنابراین مجبور شدم آنها را لحیم کاری کنم و صفحه نمایش را با سیم به برد لحیم کنم.

واحد بیرونی - کد Picaxe

; ================================================== ================ ; کد اصلی 18M2 برای ایستگاه هواشناسی Picaxe در فضای باز (فرستنده)؛ دقت اعشاری روال رطوبت و دما، ; حق چاپ، پیتر اچ اندرسون، بالتیمور، MD، ژان، "04 ; ================================= =============================== #Picaxe 18M2 Symbol HValue = w0 Symbol HighWord = w1 Symbol LowWord = w2 Symbol RH10 = w3 نماد HQuotient = b0 نماد HFract = b1 نماد X = b0 نماد aDig = b1 نماد TFactor = b2 نماد Tc = b3 نماد SignBit = b4 نماد TValue = w4 نماد TQuotient = b10 نماد TFract = MagDymbol0 Temp b1D1 = MagD10 = نماد b14 MagDirHi = b15 نماد WindSpeed ​​= w8 نماد WindSpeedLo = b16 نماد WindSpeedHi = b17 نماد ThisHour = b18 نماد LastHour = b19 نماد RainRequest = b20 نماد سخت افزاری B6Humi RymBRymBR = Humi. 3 نماد سرعت = B.0 انجام؛ رطوبت خواندن ReadADC10 HumidRaw، HValue؛ دریافت رطوبت (HValue) HighWord = 1613 ** HValue؛ محاسبه RH LowWord = 1613 * HValue RH10 = HValue RH10 = RH10 LowWord = H10 LowWord / 10 + LowWord RH10 = RH10 - 258 مکث 100؛ Rea d دما Readtemp12 TempRaw, TValue ; دریافت درجه حرارت SignBit = TVvalue / 256 / 128 اگر SignBit = 0 و سپس مثبت ; این منفی است بنابراین TValue = TValue ^ $ffff + 1 ؛ دو بار مقایسه مثبت بگیرید: TempC_100 = مقدار TV * 6 ؛ TC = مقدار * 0.0625 TVValue = TVValue * 25 / 100 TempC_100 = TempC_100 + TVValue TQuotient /0C = TQuotient /0C_0 % 100 / 10 X = TQuotient / 10 ؛ محاسبه ضریب تصحیح دما برای رطوبت اگر SignBit = 0 سپس SignBit = " " در غیر این صورت SignBit = "-" endif اگر SignBit = "-" سپس X = 4 - X دیگری X = X + 4 endif GoSub TempCorrection ;compensate RH HQuotient = RH10 / 10 ; محاسبه ضریب RH و... HFract = RH10 % 10 ;... مکان اعشاری.اگر HQuotient > 99 سپس ;Over range HQuotient = 99 HFract = 99 HFract اگر HQuotient = 129 سپس؛ زیر محدوده HQuotient = 0 HFract = 0 endif؛ رمزگذار مغناطیسی AS540 را برای جهت باد بخوانید readadc10 DirRaw، MagDir؛ خواندن از AS5040 مکث 100 یاتاقان مغناطیسی؛ خواندن دور در دقیقه از شمارشگر سرعت باد، سرعت، 1000، هر چرخه، 30 ثانیه تقریباً 1 دقیقه)، داده های باران سنج را از 08M inc RainRequest اگر RainR درخواست کنید equest >= 30 سپس بالای C.1 serin , C.0, N2400, ("r"), LastHour, ThisHour ; باران شمار کم C.1 RainRequest = 0 endif ; ارسال داده ها به واحد داخلی در بلوک های 8 بایتی. گروه اول نیازی به کالیبراسیون ندارد بنابراین محاسبات ابتدا در اینجا انجام می شود. ; گروه دوم به "ترکیب" نیاز دارند - به راحتی در انتهای داخلی انجام می شود. serout C.2، N2400، ("t"، SignBit، TQuotient، TFract، HQuotient، HFract، "A"، "B") مکث 100 serout C.2، N2400، ("m"، MagDirHi، MagDirLo، WindSpeedHi، WindSpeedLo، LastHour، ThisHour، "C") حلقه تصحیح Temp: جستجوی X, (87, 89, 91, 93, 95, 97, 99, 101, 103, 106, 108, 110, 113, 116, 121 ), TFactor " -40 -30 -20 -10 0 10 20 30 40 50 60 70 80 90 100 110 120 if TFactor< 100 then aDig = TFactor / 10 RH10 = RH10 * aDig / 10 TFactor = TFactor % 10 aDig = TFactor RH10 = RH10 * aDig / 100 + RH10 else TFactor = TFactor % 100 aDig = TFactor / 10 RH10 = RH10 * aDig / 10 + RH10 TFactor = TFactor % 10 aDig = TFactor RH10 = RH10 * aDig / 100 + RH10 endif return

حافظه استفاده شده = 295 بایت از 2048

شمارنده بارندگی - کد 08M

#picaxe 08M نماد ThisHour = b2 ; ذخیره تعداد سنسور فعلی در b2 نماد LastHour = b3 ; تعداد ساعت‌های قبلی را در b3 ذخیره کنید. به روز رسانی تعداد ساعت های گذشته با ThisHour = 0 ; ساعت جاری و تنظیم مجدد ساعت جاری وقفه ساعت بعدی را انجام دهید: setint %00010000, %00010000 ; اگر DataRequest = 1 بود وقفه را مجدداً وارد کنید سپس ; آیا وقفه از 18M2 بود؟ serout 2، N2400، ("r"، LastHour، ThisHour) ; بله، بنابراین تعداد ساعت‌های قبلی و تعداد کنونی ارسال شود. انجام دهید: حلقه بزنید در حالی که DataRequest = 1 است؛ صبر کنید تا 18M2 درخواست متوقف شود قبل از ادامه endif اگر BucketSensor = 1 است، سپس ؛ آیا وقفه از سنسور باران بوده است؟ inc ThisHour؛ بله، بنابراین افزایش می‌یابد تعداد نوک سطل انجام دهید: در حالی که BucketSensor = 1 حلقه بزنید؛ قبل از ادامه بازگشت endif مطمئن شوید که پرچم سنسور پاک شده است

واحد داخلی - کد Picaxe

;================================================= =========================== ; برنامه اصلی داخلی (گیرنده). ; ; داده ها را از واحد بیرونی دریافت می کند، روی LCD نمایش می دهد و داده ها را به رایانه شخصی منتقل می کند. همچنین فشار هوا را اندازه گیری می کند (به لطف "مادرپ") ;==================================== ====================================== #PICAXE 18M2 ; تعاریف متغیر (b2 تا b5 برای کد mBar وقتی در دسترس قرار می‌گیرند دوباره استفاده می‌شوند) نماد Quotient = نماد b2 Fract = نماد b3 SignBit = نماد b4 رطوبت = نماد b5 HFract = نماد b14 Dir = نماد w5 DirLo = نماد b10 DirHi = b11 نماد Speed ​​= نماد w3 SpeedLo = نماد b6 SpeedHi = نماد b7 RainCountThisHour = نماد b12 RainCountLastHour = نماد b13 LCDRainWhole = نماد b21 LCDRainFract = نماد b22 LastOrThis = b23; MCP3422 نماد متغیرهای ADC mb900 = 17429 ; خواندن ADC برای 900Mbar، سپس 72.288 تعداد در هر نماد mbar اضافه کنید adj0 = 72 نماد mBarADCValue = w0 نماد adj1 = b4 ; برای اضافه کردن 1 تعداد در هر نماد 4 mbar استفاده می شود adj2 = b5 ; برای افزودن 1 تعداد در هر نماد 24 میلی‌بار استفاده می‌شود mBar = w4; نماد متغیرهای خانه داری lastmbar = w8 ; نماد خواندن mBar قبلی RiseFall = b18 را به خاطر بسپارید. نشانگر افزایش یا کاهش فشار (فلش بالا یا پایین) نماد فعال = b19 ; Telltale فعالیت را بر روی صفحه نمایش LCD نشان می دهد LCD_Status = b20 ; آیا نور پس زمینه LCD روشن یا خاموش است (0 یا 1)؟ ; نماد تعاریف سخت افزار Wireless = C.7 ; اتصال ورودی از نماد گیرنده/رمزگشا بی سیم کامپیوتر = C.2 ; اتصال سریال خروجی به کامپیوتر نماد LCD = pinC.5 ; دکمه پنل جلویی برای علامت نور پس زمینه LCD خالی / خالی ClearRiseFall = pinC.0 ; دکمه پنل جلویی برای پاک کردن فشار نماد نشانگر "بالا/پایین" LastOrThisSwitch = pinC.1 ; دکمه پانل جلویی برای نمایش میزان بارندگی در ساعت‌های قبل یا جاری: hsersetup B9600_4، %10000؛ استفاده از پین LCD 1، بدون hserin؛ ByVac 20x4 IASI-2 LCD hi2csetup i2cmaster، %11010000، i222it برای M3cfate، i2cfate، i2cfate، %11010000. ADC chip.hi2cout (%00011000) ;تنظیم MCP3422 برای مکث تبدیل پیوسته 16 بیتی 500 hserout 0, (13): مکث 100 ;Initialize LCD hserout 0, (13) : pause 100 hserout 0, (13) : مکث 100 hserout 0: مکث 130 hserout 0 hserout 0، ("ac50"، 13) hserout 0، ("ad"، 32، 32، 32، 32، 49، 42، 36، 32، 13) ؛ کاراکتر فلش رو به پایین (char 10) hserout 0، (" ac1"، 13) ؛ پاک کردن مکث نمایشگر 50 hserout 0، ("acc"، 13) ؛ پنهان کردن نشانگر hserout 0، ("ac81"، 13، "ad "، $df، "C"، 13)؛ چاپ سرفصل ها hserout 0، ("ac88"، 13، "admBar"، 13) hserout 0، ("ac8e"، 13، "adRH %"، 13) hserout 0، ("acd5"، 13، "ad"، "dir" ، 13) ؛ پایه های چاپی hserout 0, ("acdc"، 13، "ad"، "mph"، 13) ؛ hserout 0، ("ace3"، 13، "ad"، "mm"، 13) lastmbar = 0 ؛ مقداردهی اولیه متغیرها LastOrThis = "c" ;==== ================================================== ===================== ; حلقه اصلی ;============================================== =========================== اصلی: ; بررسی کنید که آیا سوئیچ پنل جلو فشرده شده است یا خیر. مکانیسم وقفه Picaxe است. به دلیل تعداد زیاد دستورات serin و serout تقریباً برای همیشه غیرفعال شده است. بنابراین پاشیدن برنامه با "سوئیچ های gosub" برای بررسی وضعیت سوئیچ بیشتر است. موثر است که قطع می کند. سوئیچ های gosub ; اولین گروه از مقادیر را از واحد خارجی از طریق پیوند رادیویی 433 مگاهرتز دریافت کنید. serin Wireless، N2400، ("t")، SignBit، Quotient، Fract، Humidity، HFract، b15، b15 ; فلاش "telltale" روی LCD برای نشان دادن فعالیت و موفقیت آمیز "serin" از بی سیم. gosub telltale; نمایش گروه اول در LCD hserout 0، ("acc0"، 13) hserout 0، ("ad"، SignBit، #Quotient، "."، #Fract، " "، 13) hserout 0، ("acce"، 13) hserout 0، ("ad"، #رطوبت،."، #HFract، " "، 13) سوئیچ gosub ; ارسال گروه اول به پورت COM کامپیوتر . هر گروه یک شناسه شروع، داده و یک شناسه پایان دارد: ; شروع = "xS"، پایان "xE" است به عنوان مثال Wind Start WS است، Wind End WE است. داده های متعدد با یک کاراکتر فاصله جدا می شوند. serout Computer، N2400، ("TS"، SignBit، #Quotient، "، #Fract، "TE") ; Computer serout دما، N2400، ("HS"، #Humidity، " "، #HFract، "HE"); رطوبت؛ سوئیچ ها را دوباره و در فواصل زمانی معین در طول برنامه بررسی کنید. سوئیچ های gosub ; گروه دوم مقادیر را از پیوند رادیویی واحد خارجی دریافت کنید. serin Wireless، N2400، ("m")، DirHi، DirLo، SpeedHi، SpeedLo، RainCountLastHour، RainCountThisHour، b15 gosub telltale Speed ​​= Speed ​​* 300 / 448 ; تبدیل تخمینی از پالس در ثانیه به مایل در ساعت Dir = Dir * 64 / 182 ; تبدیل 0 - 1023 به 0 - 359 درجه . برای حفظ دقت، باران سنج باید با تنظیم ; مکانیکی روی سطل اوج متوقف می شود به طوری که 1 نوک آن 0.5 میلی متر باران است. اگر LastOrThis = "c" سپس ; تصمیم بگیرید که یک ساعت قبل LCDRainWhole = RainCountThisHour / 2 ؛ بارندگی یا ساعت فعلی نمایش داده شود. LCDRainFract = RainCountThisHour * 5 // 10 other LCDRainWhole = RainCountLastHour / 2 ; LCDRainFract = RainCountLastHour * 5 // 10 endif ; ارسال گروه دوم به LCD hserout 0، ("ac95"، 13) hserout 0، ("ad"، #Dir، " "، 13) hserout 0، ("ac9c"، 13) hserout 0، ("ad"، # سرعت، " "، 13) hserout 0، ("aca1"، 13) hserout 0، ("ad"، LastOrThis، " "، #LCDRainWhole، "."، #LCDRainFract، " "، 13) ; ارسال گروه دوم به کامپیوتر پورت COM serout Computer, N2400, ("WS", #Dir, ", #Speed, "WE") ; Wind serout Computer, N2400, ("RS", #RainCountLastHour," ", #RainCountThisHour, "RE" ); سوئیچ های باران ; با تشکر از "matherp" در انجمن Picaxe برای حلقه کد mbar: ; اندازه گیری فشار اتمسفر با MPX4115A. تبدیل آنالوگ به دیجیتال با استفاده از MCP3422. خروجی MPX به V+، 2. 5 ولت به V- ; ADC در حالت 16 بیتی hi2cin (b1,b0,b2)؛ در خواندن ADC بخوانید وبایت وضعیت از MCP3422 adj1 = 0 adj2 = 0 w1 = mb900 mbar = 900 انجام دهید در حالی که mBarADCValue > w1 ; mBarADCValue = w0 = b1:b0 inc mbar w1 = w1 + adj0 inc adj1 اگر adj1 = 4 سپس inc adj2 w1 = w1 + 1 adj1 = 0 endif اگر adj2 = 6 سپس w1 = w1 + 1 adj2 = 0 endif loop gosub سوئیچ می کند. گویای ارسال فشار به کامپیوتر پورت COM serout Computer, N2400, ("PS:"، #mbar، "PE") ; مقدار فشار قبلی (آخرین بار) را راه‌اندازی کنید، اگر از قبل تنظیم نشده باشد، اگر lastmbar = 0 باشد، سپس lastmbar = mbar RiseFall = " " endif ; اگر فشار تغییر کرده باشد، فلش رو به بالا یا پایین را نشان دهید اگر mbar > lastmbar then RiseFall = "^" ; ^ lastmbar = mbar endif اگر mbar< lastmbar then RiseFall = 10 ; Custom LCD character. Down arrow lastmbar = mbar endif hserout 0, ("acc7", 13) hserout 0, ("ad", RiseFall, #mbar, " ",13) gosub telltale goto main ; Check if one of the front panel buttons is pressed. switches: if LCD = 1 then ; LCD Backlight on/off Button is pressed if LCD_Status = 0 then ; Backlight is on so... hserout 0, ("ab0", 13) ; Turn it off LCD_Status = 1 else hserout 0, ("ab1", 13) ; Else turn it on. LCD_Status = 0 endif do: loop while LCD = 1 ; Don"t return while button is pressed endif if ClearRiseFall = 1 then ; Pressure rise/fall button is pressed RiseFall = " " ; Clear indicator and... hserout 0, ("acc7", 13) ; ... update display. hserout 0, ("ad", RiseFall, #mbar, " ",13) do: loop while ClearRiseFall = 1 endif if LastOrThisSwitch = 1 then ; Rain Previous Hour / Last Hour button. if LastOrThis = "c" then LastOrThis = "p" LCDRainWhole = RainCountLastHour / 2 ; Recalculate values and re-display to LCDRainFract = RainCountLastHour * 5 // 10 ; give visual confirmation of button-press else LastorThis = "c" LCDRainWhole = RainCountThisHour / 2 ; LCDRainFract = RainCountThisHour * 5 // 10 endif hserout 0, ("aca1", 13) hserout 0, ("ad", LastOrThis, " ", #LCDRainWhole, ".", #LCDRainFract, " ", 13) do: loop while LastOrThisSwitch = 1 endif return ; Flash "tell-tale" on LCD display to show activity telltale: if active = "*" then active = " " else active = "*" endif hserout 0, ("ac80", 13, "ad", active, 13) return

حافظه استفاده شده = 764 بایت از 2048

نرم افزار کامپیوتر

نرم افزاری که بر روی رایانه شخصی اجرا می شود با استفاده از Borland Delphi 7 نوشته شده است. این نرم افزار در شکل فعلی خود بسیار ابتدایی است، اما حداقل ارتباط بین Picaxe و رایانه را نشان می دهد.

نمودارها را می توان برای نمایش در یک دوره 1 ساعته یا 12 ساعته انتخاب کرد. نمودارها را می توان با موس به جلو و عقب پیمایش کرد. آنها را می توان نجات داد. برای این کار روی آنها کلیک راست کرده و نام و فایل مقدار را مشخص کنید. می توانید مجموعه محدودی از داده های APRS را تنظیم کنید که یک بار در دقیقه در هر خط از فایل APRS.TXT نوشته می شود و در همان پوشه Weather.exe ذخیره می شود. توجه داشته باشید که دما بر حسب درجه فارنهایت و میزان بارندگی 1/100 در هر اینچ است.

فهرست عناصر رادیویی

تعیین تایپ کنید فرقه تعداد توجه داشته باشیدخرید کنیددفترچه یادداشت من
سنسور دما و رطوبت نسبی
حسگر دما

DS18B20

1 به دفترچه یادداشت
سنسور رطوبتHIH-36101 به دفترچه یادداشت
مقاومت

4.7 کیلو اهم

1 به دفترچه یادداشت
سرعت سنج و جهت باد
فوتوترانزیستورIR1 به دفترچه یادداشت
دیود ساطع نورIR1 به دفترچه یادداشت
مقاومت

220 اهم

1 به دفترچه یادداشت
مقاومت

4.7 کیلو اهم

1 به دفترچه یادداشت
رمزگذار مغناطیسی1 به دفترچه یادداشت
خازن الکترولیتی10 uF4 به دفترچه یادداشت
خازن100 nF1 به دفترچه یادداشت
مقاومت

4.7 کیلو اهم

1 به دفترچه یادداشت
مقاومت

10 کیلو اهم

1 به دفترچه یادداشت
بارش سنج
MK PICAXE

PICAXE-08M

1 به دفترچه یادداشت
دیود یکسو کننده

1N4148

2 به دفترچه یادداشت
خازن100 nF1 به دفترچه یادداشت
مقاومت

4.7 کیلو اهم

1 به دفترچه یادداشت
مقاومت

10 کیلو اهم

4 به دفترچه یادداشت
مقاومت

22 کیلو اهم

1 به دفترچه یادداشت
مقاومت

220 اهم

2 به دفترچه یادداشت
دیود ساطع نورIR1
بالا