Мазмуну:
- 1 -кадам: Математикалык маалымат
- 2 -кадам: Программалык камсыздоо
- 3 -кадам: Аппараттык
- 4 -кадам: Кабелдөө
- 5 -кадам: Келечекти жакшыртуу
Video: 2-Button Quadratic Equation Solver: 5 Steps
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:40
Киришүү
менин биринчи насаатыма кош келиңиз!
Мен бул долбоорду программалоо боюнча билимимди кеңейтүү үчүн баштадым. Көбүнчө, сиз керектүү программаны түзүү үчүн ар кандай баштапкы кодду бириктиресиз. Менин максатым инструмент менен иштөө үчүн өз программамдын кодун жазуу болчу. Мен эсептөө үчүн жөнөкөй куралды түзүүнү жактырдым. Бир ай мурун мен бир досумду квадрат теңдемени чечүүгө колдодум.
Bazinga! бул колдонуу учуру!
Мен эски темир кутуну кайра колдондум. Мен куралдардын минималисттик көрүнүшүн жана интерфейсин жактырчумун. Мен жөн гана киргизүү үчүн 2 баскычты колдонгум келгендин себеби. Конкурс жөнөкөй ЖК дисплейи аркылуу көрсөтүлөт.
Жабдуулар
материалдык тизмеси:
кутуча
2 баскыч Аркада стили
Arduino Nano же окшош
ЖК дисплей 1602 I2C адаптери менен
күйгүзүү/өчүрүү
зымдар
2x 10k Ohm каршылыгы
батарея 9v блогу
9v батарея үчүн туташтыргычы
нан
ар кандай (жыгач, металл бурчу, кабель байламталары, бурама, шайбалар)
куралдар:
көрдү
кандооч
тешүүчү станок
программалоо үчүн компьютер
1 -кадам: Математикалык маалымат
Математикалык арткы план
2 баскычтуу квадрат теңдеме квадрат функциясы X огун кесип өткөн маанилерди көрсөтөт. Квадраттык функция X огун эч качан, бир же эки жолу кесип өтө албайт.
Бул баалуулуктарды эсептөөнүн ар кандай жолдору бар. Менин куралым үчүн мен PQ формуласын колдоном (бул сөз дүйнө жүзү боюнча колдонулабы же жокпу, билбейм).
Квадрат теңдеменин формасы бар:
ax²+bx+c = 0
Өтмө чекиттерди эсептөө үчүн форманы x²+px+q = 0го бөлүү менен p = b/a; q = c/a
PQ формуласы:
x1 = -p/2 + sqrt ((p/2) ² -q)
x2 = -p/2 -sqrt ((p/2) ² -q)
Натыйжа x 0, 1 же 2 мааниге ээ болот. Бул квадрат тамыры астындагы мааниге көз каранды.
0 мааниси барбы, анда PQ-Формуланын эки чечими бар.
Мааниси = 0, анда PQ-Формуланын бир чечими бар
<0 мааниси, анда PQ формуласынын чечими жок. Функция X огунан өтпөйт.
2 -кадам: Программалык камсыздоо
Программалык камсыздоо
Программалоо үчүн мен расмий Arduino IDE колдондум. Менин максатым жеке программалык камсыздоону түзүү болчу. Менин интерфейсимде эки баскыч болушу керек. Бир баскыч ар кандай деңгээлдердин ортосунда кадам таштоо үчүн, экинчи баскыч ар кандай деңгээлдеги баалуулуктарды өзгөртүү үчүн.
PQ-Формуласын чечүү үчүн мен жогорудагы структураны түзөм:
Албетте, мен дөңгөлөктү кайра ойлоп тапкан жокмун. Кодду түзүү үчүн мен модулду колдондум:
- четтетүү
- дисплей
Төмөнкү пункттар эң чоң кыйынчылыктар болду:
- Белгини кантип тандайм? Мен бул көйгөйдү модуль функциясы менен чечтим (шилтеме). Код киргизүүнү 2ге бөлөт: Кирүү так санбы, мааниси терс болот, антпесе сан оң болот.
- Бардык деңгээлдерден өткөндөн кийин, мен бардык баалуулуктарды 0 деп жарыялашым керек.
- Көрсөтүлгөн текст жөн эле жөнөтүүчү белгилерди өчүрөт. Эгерде коддор 4 белгиден турган сөздү жөнөтсө, бул 4 белгиден гана кайра жүктөлөт. Эгерде мурунку сөз көбүрөөк символдорго ээ болсо, каармандар калат. Муну оңдоо үчүн, көрсөтүлгөн текст боштуктар менен толтурулат. Катардагы 16 белгинин баары кайра жүктөлөт.
Акыркы код тиркелет.
3 -кадам: Аппараттык
Аппараттык
Бөлүктөр жогоруда көрсөтүлгөн. Бул долбоор үчүн жабдык жөнөкөй. Мага Arduino микропроцессору, 2 баскычы жана дисплей керек. Макул, эгер сиз кутуга салууну жактырсаңыз, сизге куту жана электр энергиясы керек.
Мен эски темир кутуну кайра колдоном. Мен электр менен камсыздоо үчүн өчүргүчтү туташтыруу үчүн баскычты тешип койгом. Коробканын капкагы 3 тешикке ээ болгон. Чоң баскычтар үчүн эки тешик бургуладым жана дисплей үчүн терезени кесип алдым. Дисплейди жана баскычтарды оңдоого көбүрөөк нерселер болушу үчүн кичинекей жыгачты капкактын артына жабыштырам. Көрүнүштү жаңыртуу үчүн, кутучага стикерлер бар.
Электр энергиясы менен камсыздоо үчүн, мен 9В блоктук кайра заряддалуучу батареяларды сунуштайм. Мен батарейканы Arduinoго электр которгуч аркылуу туташтырам. Батарея кичинекей металл бурч менен кутуга бекитилет. Батарейканын туташтыргычы кабелдик байланыштар менен гана бекитилет.
Микропроцессор - Arduino наносунун клону. Бул учурда, аткаруу жетиштүү. Attiny 85, мисалы Digispark микропроцессору, четке кагылды. Arduino дисплейдин жанында "нан салынган".
Дисплей 1602 LCD дисплей болуп саналат. эки катарда 16 белгини колдоно аласыз. Сиз бул дисплейди көптөгөн машиналардан таба аласыз. Бул дисплейди колдонуунун эки башка жолу бар. Сиз дисплейди түздөн-түз контроллерге туташтыра аласыз же дисплейге I2C аркылуу байланышуу үчүн кошумча колдоно аласыз. I2C - бул стандарттуу протокол. Мен муну колдондум, анткени дисплейди контроллерге туташтыруу оңой. Сизге 16 кабелдин ордуна 4 кабель керек, VCC - 5V, GND - GND, SDA - A4, SCL - A5. Дисплей кутучанын капкагына бурамалар менен бекитилген.
Баскычтар абдан чоң! алар типтүү аркада оюн стили бар. Бул мага жакты! Баскычтар 4 жана 7 санарип пинге туташкан. Сураныч, 10K резисторлорун унутпаңыз!
Капкагын ачуу үчүн, мисалы, батарейканы алмаштыруу үчүн, мен нанга такалган узунураак кабелдерди колдондум.
4 -кадам: Кабелдөө
5 -кадам: Келечекти жакшыртуу
Келечекти жакшыртуу
Долбоорду аяктагандан кийин, ар дайым жакшыртуу үчүн мүчүлүштүктөрдү же функцияларды табасыз. Бул долбоордо мен бир нече пункттарды тапканыма кубанычтамын, мен келечек үчүн жакшыртмакмын.
Кийинки жолу, мен кутудагы эксплуатацияны жакшыртмакмын. Мен бул долбоордун башында дисплейди, кубатты которууну жана баскычтарды оңдоп койдум. Акыр -аягы, мен батарейкага жана кутуга микропроцессорго жетиштүү орун таба албай кыйналдым. Мен баскычты жана дисплейди көбүрөөк сыртка койгондо, кутунун ичиндеги бөлүктөрдүн боштугунда эч кандай кыйынчылык болбойт эле.
Учурда менде квадрат теңдемени чечүү үчүн колдонуу учурум жок. Куралды жакшыртуу үчүн, мен куралды андан ары математикалык нерселер менен кеңейтким келет, мисалы, негизги эсептөө же формулалар биноминалдуу формула же Пифагор сүйлөмү.
Сунушталууда:
2d Rocket Landing Sim: 3 Steps
2d Rocket Landing Sim: Сиз жөн эле симуляцияны/ оюнду ойногуңуз келсе, көшөгө жасоо, ракеталарды тартуу жана индикаторду баштоо үчүн (албетте, чийүүнү колдонуу үчүн интернет байланышы керек болот), бул жерди басыңыз же https://scratch.mit.edu/projects/432509470 дарегине өтүңүз
Ардуино Mega Stepper Shield for Rubiks Cube Solver: 4 Steps
Рубик кубун чечүүчү үчүн Arduino Mega Stepper Shield: Бир аз мурун мен 3x3 Rubiks Cube шифрленген автоматтык түрдө чечүүчү машинада иштеп жаткам. Бул боюнча менин көрсөтмөлөрүмдү бул жерден көрө аласыз. Долбоордо полулудагы айдоочулар алты моторду айдаш үчүн колдонулган. Буларды бириктирүү үчүн экөө
ARS - Arduino Rubik Solver: 13 кадам (сүрөттөр менен)
ARS - Arduino Rubik Solver: ARS - бул Рубиктин кубун чечүү үчүн толук система: ооба, кубду чечүү үчүн дагы бир робот! ARS - бул 3D басылган бөлүктөр жана лазердик кесилген структуралар менен жасалган үч жылдык мектеп долбоору: Arduino түзүлгөн туура ырааттуулукту алат үйдө жасалган диван менен
Rubics Cube Solver Bot: 5 кадам (Сүрөттөр менен)
Rubics Cube Solver Bot: Физикалык Рубик кубун чечүүчү автономдуу робот жасоо. Бул Robotics Club, IIT Guwahati астындагы долбоор. Бул оңой табууга мүмкүн болгон жөнөкөй материалдын жардамы менен жасалган. Негизинен биз Servo моторлорун & аларды башкара турган Arduino, акрил
Excelдеги Quadratic Equation макро: 3 кадам
Excelдеги Quadratic Equation Macro: сиз жөн эле инструменттерге баруу менен квадрат теңдемени чече аласыз-макро иштетүү макро.Мен жаңы мүчөмүн жана сиз бере турган ар кандай пикирге муктажмын. Бул теңдемелерди чечүүдө эч кандай кагазды колдонбой ырахат алыңыз