Mundarija:
- 1 -qadam: Matematik ma'lumot
- 2 -qadam: dasturiy ta'minot
- 3 -qadam: Uskuna
- 4 -qadam: simlarni ulash
- 5 -qadam: kelajakni yaxshilash
Video: 2-tugmachali kvadrat tenglamalar yechuvchisi: 5 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:25
Kirish
Mening birinchi o'qituvchimga xush kelibsiz!
Men bu loyihani dasturlash bilimimni kengaytirish uchun boshladim. Ko'pincha, kerakli dasturni yaratish uchun siz har xil kodni birlashtirasiz. Mening maqsadim asbob bilan ishlash uchun o'z dastur kodimni yozish edi. Men oddiy hisoblash vositasini yaratishni yoqtirardim. Bir necha oy oldin, men do'stimni kvadrat tenglamani yechish uchun qo'llab -quvvatladim.
Bazinga! bu foydalanish holati!
Men eski metall qutini qayta ishlatdim. Men asboblarning minimalist ko'rinishini va interfeysini afzal ko'rardim. shuning uchun men kirish uchun 2 tugmani ishlatmoqchiman. Musobaqa oddiy LCD displeyda ko'rsatiladi.
Ta'minotlar
materiallar ro'yxati:
quti
2 tugma Arkada uslubi
Arduino Nano yoki shunga o'xshash
I2C adapterli 1602 LCD displey
yoqish/o'chirish tugmasi
simlar
2x 10k Ohm qarshilik
batareya 9v blok
9V batareya uchun ulagich
non taxtasi
har xil (yog'och bo'lagi, metall burchak, simi rishtalari, vintlar, kir yuvish mashinalari)
asboblar:
ko'rdim
lehim temir
burg'ulash mashinasi
dasturlash uchun kompyuter
1 -qadam: Matematik ma'lumot
Matematik fon
2 tugmachali kvadrat tenglama kvadrat funktsiya X o'qini kesib o'tadigan qiymatlarni ko'rsatadi. Kvadrat funktsiya X o'qini hech qachon, bir yoki ikki marta kesib o'tishi mumkin.
Bu qiymatlarni hisoblashning turli usullari mavjud. Mening asbobim uchun men PQ formulasidan foydalanaman (bu ifoda butun dunyoda ishlatiladimi, amin emasman).
Kvadrat tenglama quyidagi shaklga ega:
ax²+bx+c = 0
O'tish nuqtalarini hisoblash uchun shaklni x²+px+q = 0 ga bo'linib, p = b/a; q = c/a
PQ formulasi:
x1 = -p/2 + sqrt ((p/2) ² -q)
x2 = -p/2 -sqrt ((p/2) ² -q)
Natijada x 0, 1 yoki 2 qiymatga ega bo'lishi mumkin. Bu kvadrat ildiz ostidagi qiymatga bog'liq.
Qiymat> 0 bo'lsa, PQ-formulaning ikkita echimi bor.
Qiymat = 0 bo'lsa, PQ-formulaning bitta echimi bor
<0 qiymati, keyin PQ formulasining yechimi yo'q. Funktsiya X o'qini kesib o'tmaydi.
2 -qadam: dasturiy ta'minot
Dasturiy ta'minot
Dasturlash uchun men rasmiy Arduino IDE -dan foydalanardim. Maqsadim o'z dasturiy ta'minotimni yaratish edi. Mening interfeysimda ikkita tugma bo'lishi kerak. Har xil darajalarda o'tish uchun bitta tugma, har xil darajadagi qiymatlarni o'zgartirish uchun ikkinchi tugma.
PQ-formulasini hal qilish uchun men yuqoridagi tuzilmani yarataman:
Albatta, men g'ildirakni kashf qilmayman. Kodni yaratish uchun men moduldan foydalandim:
- chiqish
- ko'rsatish
Quyidagi fikrlar eng katta qiyinchiliklar edi:
- Belgini qanday tanlash mumkin? Men bu muammoni modulo (havola) funktsiyasi bilan hal qildim. Kod kirishni 2 ga bo'linadi. Kirish toq sonmi, qiymat manfiy bo'ladi, aks holda raqam musbat bo'ladi.
- Barcha darajalarni bosib o'tgandan so'ng, men barcha qiymatlarni 0 ga e'lon qilishim kerak.
- Ko'rsatilgan matn yuborish belgilarini o'chirib tashlaydi. Agar kodlar 4 ta belgidan iborat so'zni yuborsa, aynan shu 4 ta belgi qayta yuklanadi. Agar oldingi so'z ko'proq belgidan iborat bo'lsa, belgilar qoladi. Buni tuzatish uchun ko'rsatiladigan matn bo'sh joylar bilan to'ldiriladi. Ketma -ket 16 ta belgi qayta yuklanadi.
Yakuniy kod biriktirilgan.
3 -qadam: Uskuna
Uskuna
Bo'limlar yuqorida ko'rsatilgan. Ushbu loyiha uchun uskunalar oddiy. Menga faqat Arduino mikroprotsessori, 2 tugma va displey kerak. Yaxshi, agar siz qutiga solishni xohlasangiz, sizga quti va quvvat manbai ham kerak bo'ladi.
Men eski metall qutini qayta ishlataman. Men quvvat manbai kalitini ulash uchun tugmachani teshdim. Qutining qopqog'ida 3 teshik bor. Men katta tugmalar uchun ikkita teshik ochdim va displey uchun oynani kesib tashladim. Men ekran va tugmalarni to'g'rilash uchun ko'proq narsalar bo'lishi uchun qopqoqning orqasiga kichik bir yog'och bo'lakni yopishtiraman. Tashqi ko'rinishini yaxshilash uchun qutiga stikerlar qo'yilgan.
Quvvat manbai sifatida men zaryadlanuvchi 9V blokli batareyalarni tavsiya qilaman. Men batareyani quvvat tugmasi orqali Arduino -ga ulayman. Batareya kichik metall burchak bilan qutiga o'rnatiladi. Batareya ulagichi faqat kabellar orqali o'rnatiladi.
Mikroprotsessor - Arduino nano klonidir. Bunday holda, ishlash etarli darajada. Attiny 85, masalan, Digispark mikroprotsessori rad etildi. Arduino displey yonida "nonga o'ralgan".
Displey - 1602 LCD displey. ikki qatorda 16 ta belgidan foydalanishingiz mumkin. Siz ushbu displeyni turli xil asbob -uskunalarda topishingiz mumkin. Bu displeydan foydalanishning ikki xil usuli bor. Siz displeyni to'g'ridan-to'g'ri boshqaruvchiga ulashingiz yoki I2C orqali displey bilan bog'lanish uchun plaginni ishlatishingiz mumkin. I2C - bu standart protokol. Men uni ishlatganman, chunki displeyni boshqaruvchiga ulash osonroq. Sizga 16 o'rniga 4 ta kabel, VCC - 5V, GND - GND, SDA - A4, SCL - A5. Displey vintlar yordamida qutining qopqog'iga o'rnatiladi.
Tugmalar juda katta! ular odatiy arja o'yin uslubiga ega. Menga yoqdi! Tugmalar raqamli pin 4 va 7 ga ulangan. Iltimos, 10K rezistorlarni unutmang!
Qopqoqni ochish uchun, masalan, batareyani almashtirish uchun, men non paneliga ulangan uzunroq kabellardan foydalanardim.
4 -qadam: simlarni ulash
5 -qadam: kelajakni yaxshilash
Kelajakni takomillashtirish
Loyihani tugatgandan so'ng, siz har doim takomillashtirish uchun xatolar yoki xususiyatlarni topasiz. Ushbu loyihada men bir nechta fikrlarni topganimdan xursandman, men kelajak uchun yaxshilanaman.
Keyingi safar men qutidagi ekspluatatsiyani yaxshilardim. Men loyihaning boshida displeyni, quvvat tugmachasini va tugmachalarni tuzatdim. Oxir -oqibat, men qutidagi batareya va mikroprotsessor uchun etarli joy topa olmaslik muammosiga duch keldim. Men tugmachani va displeyni tashqariga qo'yganimda, qutidagi qismlar uchun bo'sh joy bilan hech qanday muammo bo'lmaydi.
Hozir menda kvadrat tenglamani yechish uchun foydalanish holati yo'q. Asbobni takomillashtirish uchun men asbobni boshqa matematik narsalar bilan kengaytirmoqchiman, masalan, asosiy hisoblar yoki formulalar, binominal formula yoki Pifagor jumlasi.
Tavsiya:
"Qora kvadrat" eshik qo'ng'irog'i: 5 qadam
"Qora kvadrat" eshik qo'ng'irog'i: Ushbu loyiha sizga studiya yoki kichkina kvartira uchun etarlicha baland, oddiy, ammo samarali eshik qo'ng'irog'ini qanday qurishni ko'rsatadi. (Qurilmaning ko'rinishi Malevichning "Qora maydoniga" to'g'ri keladi). Bu qo'ng'iroqni qilish uchun sizga kerak bo'lgan narsa:
Matematik tenglamalar (MathsMusic) yordamida turli xil tovushlarni yaratish Arduino: 5 qadam
Matematik tenglamalar (MathsMusic) yordamida turli xil tovushlarni yaratish Arduino: Loyihaning tavsifi: Ochiq manbali hamjamiyat yordamida g'oyalarni osonlik bilan amalga oshirish mumkin bo'lgan yangi sayohat boshlandi (Arduino tufayli). Shunday qilib, bu erda · O'z atrofingizga nazar soling va atrofingizdagi narsalarni kuzatib boring · Mumkin bo'lgan muammolarni kashf eting
Tez qirrali kvadrat to'lqinli puls generatori: 4 qadam
Tez qirrali to'lqinli puls generatori: tez qirrali puls generatori - Ultra tez kvadrat to'lqinli impuls generatori 74HC14N (past aylanish tezligi bilan oltita TTL inverteri) yordamida 10 MGts gacha bo'lgan to'lqinli signallarni ishlab chiqarishga qodir. Ba'zi elektronika sinovlari uchun ideal. Chirish bilan
ABS loyiha qutilarida kvadrat/uchburchak teshiklarni qanday kesish mumkin: 3 qadam
ABS loyiha qutilarida kvadrat/uchburchak teshiklarni qanday kesish mumkin: Hammaga salom, bu mini-ko'rsatma, chunki bu men yozadigan boshqa ko'rsatmalarni o'qish uchun foydali bo'ladi, ular ABSda to'rtburchaklar teshiklarni talab qiladi! Men buni qanday qilishimni yozaman deb o'yladim, chunki menga qoniqarli echim topish uchun juda uzoq vaqt kerak bo'ldi. Men haligacha
Excelda kvadrat tenglama makrosi: 3 qadam
Excel-dagi kvadratik tenglama makrosi: siz kvadratik tenglamani osongina echishingiz mumkin, faqat asboblar-makro-ishlaydigan makroga o'ting, men yangi a'ziman va sizga beradigan har qanday fikr-mulohazalarga muhtojman