İçindekiler:
- Adım 1: Matematiksel Arka Plan
- 2. Adım: Yazılım
- 3. Adım: Donanım
- Adım 4: Kablolama
- Adım 5: Gelecekteki İyileştirme
Video: 2 Düğmeli İkinci Dereceden Denklem Çözücü: 5 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:18
Tanıtım
ilk dersime hoş geldiniz!
Programlama bilgimi genişletmek için bu projeye başladım. Çoğu zaman, ihtiyacınız olan programı oluşturmak için farklı kaynak kodlarını birleştirirsiniz. Amacım, bir araçla etkileşim için kendi program kodumu yazmaktı. Hesaplamak için basit bir araç yaratmayı sevdim. Bir ay önce, ikinci dereceden denklemi çözmesi için bir arkadaşıma yardım ettim.
Bazinga! bu kullanım durumu!
Eski bir metal kutuyu yeniden kullandım. Araçların minimalist görünümünü ve arayüzünü tercih ettim. bu yüzden girdi vermek için sadece 2 düğme kullanmak istiyorum. Yarışma basit bir LCD ekran ile gösterilecektir.
Gereçler
malzeme listesi:
kutu
2 düğmeli Arcade stili
Arduino Nano veya benzeri
I2C adaptörlü LCD ekran 1602
açma / kapama düğmesi
teller
2x 10k Ohm direnç
pil 9v blok
9v pil için konektör
ekmek tahtası
muhtelif (tahta parçası, metal köşebent, kablo bağları, vida, pullar)
aletler:
testere
havya
sondaj makinesi
programlama için bilgisayar
Adım 1: Matematiksel Arka Plan
matematiksel arka plan
2 düğmeli ikinci dereceden denklem, ikinci dereceden işlevin X eksenini geçtiği değerleri gösterir. İkinci dereceden bir fonksiyon, X eksenini asla, bir veya iki kez geçemez.
Bu değerleri hesaplamanın farklı yolları vardır. Aracım için PQ formülünü kullanıyorum (bu ifadenin tüm dünyada kullanılıp kullanılmayacağından emin değilim).
İkinci dereceden bir denklem şu şekildedir:
ax²+bx+c=0
Geçiş noktalarını hesaplamak için, formu p= b/a ile x²+px+q=0'a bölün; q=c/a
PQ Formülü:
x1 = -p/2 + sqrt((p/2)²-q)
x2 = -p/2 - sqrt((p/2)²-q)
Sonuç x 0, 1 veya 2 değer alabilir. Bu, karekökün altındaki değere bağlıdır.
Değer > 0 ise, PQ-Formülünün iki çözümü vardır.
Değer = 0 ise, PQ-Formülünün bir çözümü vardır
< 0 ise, PQ Formülünün çözümü yoktur. İşlev, X Eksenini geçmiyor.
2. Adım: Yazılım
Yazılım
Programlama için resmi Arduino IDE'yi kullandım. Hedefim kendi yazılım programımı oluşturmaktı. Arayüzümde iki düğme olmalı. Farklı düzeyler arasında geçiş yapmak için bir düğme, farklı düzeylerdeki değerleri değiştirmek için ikinci düğme.
PQ-Formülünü çözmek için yukarıdaki yapıyı oluşturuyorum:
Elbette, tekerleği yeniden icat etmiyorum. Kodu oluşturmak için modülü kullandım:
- geri tepme
- Görüntüle
Aşağıdaki noktalar en büyük zorluklardı:
- İşareti nasıl seçebilirim? Bu zorluğu modulo (bağlantı) işleviyle çözdüm. Kod, girişi 2'ye böler. Girilen tek sayıysa değer negatif olur, aksi halde sayı pozitif olur.
- Tüm seviyeleri geçtikten sonra, tüm değerleri 0 olarak bildirmem gerekiyor.
- Görüntülenen metin yalnızca gönderme karakterlerini siler. Kodlar 4 karakterli bir kelime gönderirse, sadece bu 4 karakter yeniden yüklenecektir. Önceki kelimenin daha fazla karakteri varsa, karakterler kalacaktır. Bunu düzeltmek için görüntülenen metin boşluklarla doldurulacaktır. Bir satırdaki 16 karakterin tümü yeniden yüklenecek.
Son kod ektedir.
3. Adım: Donanım
Donanım
Parçalar yukarıda listelenmiştir. Bu proje için donanım basittir. Sadece bir Arduino mikroişlemcisine, 2 düğmesine ve bir ekrana ihtiyacım var. Tamam, eğer bir kutuya koymayı seviyorsan, bir kutuya ve güç kaynağına da ihtiyacın var.
Eski bir metal kutuyu yeniden kullanıyorum. Güç kaynağı anahtarını takmak için düğmeye bir delik açtım. Kutu kapağında 3 delik var. Büyük düğmeler için iki delik açtım ve ekran için bir pencere kestim. Ekranı ve düğmeleri düzeltmek için daha fazla şey olması için kapağın arkasına küçük bir tahta parçası yapıştırıyorum. Görünümü yükseltmek için kutunun çıkartmaları var.
Güç kaynağı için şarj edilebilir 9V blok pilleri öneririm. Pili güç anahtarı ile Arduino'ya bağlarım. Pil, kutuya küçük bir metal açıyla sabitlenmiştir. Akü konektörü sadece kablo bağları ile sabitlenir.
Mikroişlemci, Arduino nano'nun bir klonudur. Bu kullanım durumu için performans yeterlidir. Bir Attiny 85, örneğin bir Digispark mikroişlemci reddedildi. Arduino, ekranın yanında "ekmek tahtasında".
Ekran 1602 LCD ekrandır. iki satırda 16 karakter kullanabilirsiniz. Bu ekranı birçok farklı makinede ve alette bulabilirsiniz. Bu ekranı kullanmanın iki farklı yolu vardır. Ekranı doğrudan kontrolöre bağlayabilir veya I2C aracılığıyla ekranla iletişim kurmak için bir eklenti kullanabilirsiniz. I2C standart bir protokoldür. Ekranı kontrolöre bağlamak daha kolay olduğu için kullandım. 16 yerine 4 kabloya ihtiyacınız var, VCC'den 5V'a, GND'den GND'ye, SDA'dan A4, SCL'den A5'e. Ekran, kutu kapağına vidalarla sabitlenmiştir.
Düğmeler çok büyük! tipik bir arcade oyun stiline sahipler. Beğendim! Butonlar digital pin 4 ve 7'ye bağlıdır. Lütfen 10K Dirençleri unutmayınız!
Kapağı açmak için, örneğin pili değiştirmek için, devre tahtasına takılı daha uzun kablolar kullandım.
Adım 4: Kablolama
Adım 5: Gelecekteki İyileştirme
Gelecekteki İyileştirme
Bir projeyi bitirdikten sonra, her zaman iyileştirme için hatalar veya özellikler bulursunuz. Bu projede, sadece birkaç nokta bulduğum için mutluyum, gelecek için kendimi geliştireceğim.
Bir dahaki sefere kutudaki sömürüyü iyileştirecektim. Bu projenin başında ekranı, güç düğmesini ve düğmeleri düzelttim. Sonunda kutuda pil ve mikroişlemci için yeterli alan bulmakta biraz zorlandım. Düğmeyi ve ekranı daha dışarıya koyduğumda kutunun içindeki parçalar için alan sıkıntısı çekmezdim.
Şu anda ikinci dereceden denklemi çözmek için bir kullanım durumum yok. Aracı geliştirmek için, aracı daha fazla matematiksel şeyle genişletmek istiyorum, örneğin temel hesap veya binominal formül veya Pisagor cümlesi gibi formüller.
Önerilen:
İki Düğmeli Röle Anahtarı: 3 Adım
İki Düğmeli Röle Anahtarı: Bu makale, buton anahtarının nasıl AÇIK ve KAPALI konuma getirileceğini gösterir. Bu devre iki anahtarla yapılabilir. Bir düğmeye basarsınız ve ampul yanar. Başka bir düğmeye basarsınız ve ampul söner. Ancak bu İns
AÇMA-KAPAMA Düğmeli DIY Fan - M5StickC ESP32: 8 Adım
ON-OFF Düğmeli DIY Fan - M5StickC ESP32: Bu projede M5StickC ESP32 kartı kullanarak bir FAN L9110 modülünün nasıl kullanılacağını öğreneceğiz
Gerçek Düğmeli Flight Sim için Akrilik Tablet Standı: 4 Adım
Gerçek Düğmeli Uçuş Sim için Akrilik Tablet Standı: Bu, uçuş simülatörü yazılımı ile kullanım için bir tablet (örn. iPad) standıdır. Döner kodlayıcı modülleri ve bir Arduino Mega kullanarak, sim'deki belirli enstrüman işlevlerini kontrol etmek için fiziksel düğmelerin eşlenebileceği bir çözüm yarattım. olarak
Bir Analog Giriş Kullanan 4 Düğmeli Oyun: 6 Adım (Resimlerle)
Bir Analog Giriş Kullanan 4 Düğmeli Oyunlar: Bu talimat, birbirinden bağımsız olarak algılanabilen birden fazla düğme için bir analog giriş hattı kullanmaya odaklanır. Ve bu düğmelerin kullanımını vurgulamak için, dört farklı 4 Düğmeli oyun oynamak için bir yazılım bulunur. Tüm oyunlar (8 inç
Excel'de İkinci Dereceden Denklem Makrosu: 3 Adım
Excel'de İkinci Dereceden Denklem Makrosu: İkinci dereceden bir denklemi sadece araçlar-makro-çalıştır makroya giderek kolayca çözebilirsiniz.Yeni bir üyeyim ve gerçekten verebileceğiniz her türlü geri bildirime ihtiyacım var.Bu denklemleri çözerken herhangi bir kağıt kullanmamanın tadını çıkarın