|
-qadam: Hamma narsani birgalikda ulash
|
bet | 4/5 | Sana | 20.05.2024 | Hajmi | 1,75 Mb. | | #246279 |
Bog'liq O\'rnatilgan tizimlar ma\'ruza7-qadam: Hamma narsani birgalikda ulash
9-rasm . Qobiqning ko’rinishi
Keyin men dremel asbobim yordamida Plexiglasning kichik qismini kesib oldim. Men dremel vositasidan birinchi marta foydalanayotgan edim, shuning uchun natija juda yaxshi emas, lekin u juda yaxshi ishlaydi. Men uni joyiga yopishtirdim va elektronikani tayyorlash vaqti keldi.
Men LEDlarni joyiga yopishtirdim va keyin sxematik diagramma bo'yicha hamma narsani lehimladim. Ko'rib turganingizdek, men ulkan tartibsizlikni yaratdim. Men fotorezistorni uning ochilishiga qo'ydim, keyin voltmetrni ulash vaqti keldi. Dremel asbobidan foydalanib, yana kattaroq voltmetr yuzini yopishtirish uchun voltmetrdan ikkita plastik vintli teshikni olib tashladim. Ilova qilingan fotosuratga qarang.
Men yangi yuzni qalin fotografik qog'oz yordamida chop qildim, u osonlikcha deformatsiyalanmaydi va u oddiy bosma qog'ozga qaraganda yaxshiroq ko'rinadi. Men Photoshop-da Art Deco shrifti yordamida yuzni loyihalashtirdim. Ushbu ko'rsatmada biriktirilgan yangi yuz uchun faylni topishingiz mumkin.
Keyin voltmetrni korpus ichiga qo'yish vaqti keldi. Men voltmetrni o'zim xohlagan joyga qo'yish uchun loydan foydalandim. Men ham hamma narsani joyida ushlab turish uchun juda ko'p issiq elim ishlatardim va korpus qismlarini yopishtirish vaqti keldi. Avval korpusning orqa tomoni, keyin esa taglik. Hammasi, loyiha tayyor va u juda zo'r ko'rinadi! Termometr har qanday 5V quvvat manbaidan quvvatlanishi mumkin, masalan, arzon telefon zaryadlovchi. U ishlayotganda faqat 4mA oqim oladi!
8-qadam: Loyiha kodeksi
10-rasm. Dastur kodi
Keling, loyihaning dasturiy tomonini qisqacha ko'rib chiqaylik. Ko'rib turganingizdek, loyiha kodi uning eng oddiy qismidir.
void loop() {
float temperature = getTemperature();
int lightIntensity = getLightIntensity();
if(lightIntensity < 30 && counter<60)
{
counter++;
digitalWrite(12,HIGH);
}
else if(lightIntensity < 30 && counter>=60)
{
digitalWrite(12,LOW);
}
else if(lightIntensity >= 30)
{
counter = 0;
digitalWrite(12,LOW);
}
int voltage = temperatureToPWM(temperature);
analogWrite(9,voltage);
delay(1000);
}
Dastlab biz sensorlardan harorat va yorug'lik intensivligini o'qiymiz. Agar qorong'i bo'lsa va LEDlar bir daqiqadan ko'proq vaqt davomida yoqilmasa, LEDni yoqing, aks holda biz ularni o'chirib qo'yamiz. Keyin biz haroratni 0 dan 5V gacha kuchlanishga aylantiramiz va biz bu qiymatni PWM piniga yuboramiz.
|
| |