Სარჩევი:
- ნაბიჯი 1: მათემატიკური ფონი
- ნაბიჯი 2: პროგრამული უზრუნველყოფა
- ნაბიჯი 3: აპარატურა
- ნაბიჯი 4: გაყვანილობა
- ნაბიჯი 5: მომავალი გაუმჯობესება
ვიდეო: 2-ღილაკი კვადრატული განტოლების ამომხსნელი: 5 ნაბიჯი
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:17
შესავალი
კეთილი იყოს თქვენი მობრძანება ჩემს პირველ სასწავლებელში!
ეს პროექტი დავიწყე პროგრამირების ცოდნის გასაუმჯობესებლად. ხშირად, თქვენ უბრალოდ აერთიანებთ სხვადასხვა წყაროს კოდს თქვენთვის საჭირო პროგრამის შესაქმნელად. ჩემი მიზანი იყო დამეწერა ჩემი პროგრამის კოდი ინსტრუმენტთან ურთიერთობისათვის. მე მომეწონა გამოთვლის მარტივი ინსტრუმენტის შექმნა. რამდენიმე თვის წინ, მე მხარი დავუჭირე მეგობარს კვადრატული განტოლების ამოხსნაში.
ბაზინგა! ეს არის გამოყენების შემთხვევა!
მე ხელახლა გამოვიყენე ძველი მეტალის ყუთი. მე უპირატესობა მიანიჭა ინსტრუმენტების მინიმალისტურ სახეს და ინტერფეისს. ეს არის მიზეზი, რის გამოც მე უბრალოდ მინდა გამოვიყენო 2 ღილაკი შესაყვანად. კონკურენტი ნაჩვენები იქნება მარტივი LCD დისპლეით.
მარაგები
მასალების სია:
ყუთი
2 ღილაკი არკადული სტილი
არდუინო ნანო, ან მსგავსი
LCD დისპლეი 1602 I2C ადაპტერით
ჩართვა / გამორთვა
მავთულები
2x 10k Ohm რეზისტორი
ბატარეა 9 ვ ბლოკი
კონექტორი 9 ვ ბატარეისთვის
პურის დაფა
სხვადასხვა (ხის ნაჭერი, ლითონის კუთხე, საკაბელო კავშირები, ხრახნი, საყელურები)
ინსტრუმენტები:
დაინახა
soldering რკინის
საბურღი მანქანა
კომპიუტერი პროგრამირებისთვის
ნაბიჯი 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- ფორმულის გადასაჭრელად, მე ვქმნი სტრუქტურას ზემოთ:
რა თქმა უნდა, მე არ ვიმეორებ საჭეს. კოდის შესაქმნელად გამოვიყენე მოდული:
- დენონსირება
- ჩვენება
შემდეგი პუნქტები იყო ყველაზე დიდი გამოწვევები:
- როგორ შემიძლია ავირჩიო ნიშანი? მე გადავწყვიტე ეს გამოწვევა ფუნქციით modulo (ბმული). კოდი ყოფს შეყვანას 2. არის თუ არა შეყვანა კენტი რიცხვი, მნიშვნელობა ნეგატიური ხდება, წინააღმდეგ შემთხვევაში რიცხვი დადებითია.
- ყველა დონის გავლის შემდეგ, მე უნდა გამოვაცხადო ყველა მნიშვნელობა 0 -ზე.
- ნაჩვენები ტექსტი უბრალოდ წაშლის გაგზავნის სიმბოლოებს. თუ კოდები აგზავნის სიტყვას 4 სიმბოლოთი, მხოლოდ ეს 4 სიმბოლო გადაიტვირთება. თუ წინა სიტყვას მეტი სიმბოლო ჰქონდა, სიმბოლოები დარჩებიან. ამის გამოსასწორებლად, ნაჩვენები ტექსტი ივსება ბლანკებით. ზედიზედ 16 სიმბოლო იქნება გადატვირთული.
საბოლოო კოდი თან ერთვის.
ნაბიჯი 3: აპარატურა
ტექნიკა
ნაწილები ჩამოთვლილია ზემოთ. ამ პროექტისთვის, აპარატურა მარტივია. მე უბრალოდ მჭირდება Arduino მიკროპროცესორი, 2 ღილაკი და ეკრანი. კარგი, თუ მოგწონთ ყუთში ჩადება, თქვენ ასევე გჭირდებათ ყუთი და კვების ბლოკი.
მე ვიყენებ ძველი ლითონის ყუთს. მე გავაღე ხვრელი ღილაკზე, რომელიც ჩართულია დენის წყაროს გადამრთველში. ყუთის საფარს აქვს 3 ხვრელი. ორი ხვრელი გავხსენი დიდი ღილაკებისთვის და ფანჯარა გამოვაღე ეკრანისთვის. საფარის მიღმა ვდებ პატარა ხის ნაჭერს, რომ მეტი მასალა მქონდეს ეკრანის და ღილაკების დასაფიქსირებლად. გარეგნობის გასაუმჯობესებლად ყუთს აქვს სტიკერები.
ელექტროენერგიის მიწოდებისთვის, მე გირჩევთ დატენვის 9 ვ ბლოკის ბატარეებს. მე აკავშირებს ბატარეას დენის გადამრთველის საშუალებით არდუინოსთან. ბატარეა ფიქსირდება ყუთში მცირე ლითონის კუთხით. ბატარეის კონექტორი მხოლოდ ფიქსირდება საკაბელო კავშირებით.
მიკროპროცესორი არის არდუინო ნანოს კლონი. ამ გამოყენების შემთხვევაში, შესრულება საკმარისია. Attiny 85, მაგალითად Digispark მიკროპროცესორი, უარყოფილ იქნა. Arduino არის "პური დაფაზე" ეკრანის გვერდით.
ეკრანი არის 1602 LCD დისპლეი. თქვენ შეგიძლიათ გამოიყენოთ 16 სიმბოლო ორ რიგში. თქვენ შეგიძლიათ ნახოთ ეს ჩვენება სხვადასხვა მოწყობილობებში და ინსტრუმენტებში. ამ ჩვენების გამოყენების ორი განსხვავებული გზა არსებობს. თქვენ შეგიძლიათ დაუკავშიროთ ეკრანი უშუალოდ კონტროლერს ან გამოიყენოთ დანამატი ეკრანზე კომუნიკაციისთვის I2C საშუალებით. I2C არის სტანდარტული პროტოკოლი. მე გამოვიყენე, რადგან უფრო ადვილია ეკრანის დაკავშირება კონტროლერთან. თქვენ გჭირდებათ 4 კაბელი 16 – ის ნაცვლად, VCC– დან 5V– მდე, GND– დან GND– მდე, SDA– დან A4– მდე, SCL– დან A5– მდე. ჩვენება ფიქსირდება ხრახნებით ყუთის საფარზე.
ღილაკები უზარმაზარია! მათ აქვთ არკადული თამაშის ტიპიური სტილი. Მომწონს! ღილაკები დაკავშირებულია ციფრულ პინ 4 -თან და 7. გთხოვთ არ დაივიწყოთ 10K რეზისტორები!
საფარის გასახსნელად, მაგალითად, ბატარეის შესაცვლელად, მე გამოვიყენე უფრო გრძელი კაბელები, რომლებიც შედიოდა პურის დაფაზე.
ნაბიჯი 4: გაყვანილობა
ნაბიჯი 5: მომავალი გაუმჯობესება
მომავალი გაუმჯობესება
პროექტის დასრულების შემდეგ, თქვენ ყოველთვის პოულობთ შეცდომებს ან მახასიათებლებს გასაუმჯობესებლად. ამ პროექტში მოხარული ვარ, რომ მხოლოდ რამდენიმე პუნქტი ვიპოვე, მე მომავალში გავაუმჯობესებ.
მომდევნო დროს, მე გავაუმჯობესებ ექსპლუატაციას ყუთში. მე დავაფიქსირე ეკრანი, დენის გადამრთველი და ღილაკები ამ პროექტის დასაწყისში. დასასრულს, მე ცოტა პრობლემა შემექმნა, რომ გამომეძებნა საკმარისი ადგილი ბატარეისა და მიკროპროცესორისთვის ყუთში. როდესაც ღილაკს და ეკრანს უფრო გარეთ ვაყენებ, არ მექნება რაიმე პრობლემა ყუთის შიგნით ნაწილებისთვის.
ამ დროისთვის მე არ მაქვს კვადრატული განტოლების ამოხსნის გამოყენების შემთხვევა. ინსტრუმენტის გასაუმჯობესებლად, მე მინდა გავაფართოვო ინსტრუმენტი შემდგომი მათემატიკური საგნებით, მაგალითად ძირითადი გათვლებით ან ფორმულებით, როგორიცაა ბინომინალური ფორმულა ან პითაგორას წინადადება.
გირჩევთ:
სხვადასხვა სახის ტონების გენერირება მათემატიკური განტოლების გამოყენებით (MathsMusic) Arduino: 5 ნაბიჯი
სხვადასხვა სახის ტონების გენერირება მათემატიკური განტოლების გამოყენებით (MathsMusic) არდუინო: პროექტის აღწერა: დაიწყო ახალი მოგზაურობა, სადაც იდეების მარტივად განხორციელება შესაძლებელია ღია კოდის გამოყენებით (არდუინოს წყალობით). ასე რომ, აქ არის გზა · მიმოიხედე გარშემო და დააკვირდი შენს გარშემო · აღმოაჩინე პრობლემები, რომლებიც უნდა იყოს
სწრაფი ზღვარი კვადრატული ტალღის პულსის გენერატორი: 4 ნაბიჯი
Fast Edge Square Wave Pulse Generator: Fast Edge Pulse Generator - ულტრა სწრაფი კვადრატული ტალღის პულსის გენერატორი ეს მარტივი წრე, 74HC14N- ის გამოყენებით (ექვსი TTL ინვერტორი დაბალი დარტყმის სიჩქარით) მას შეუძლია შექმნას კვადრატული ტალღის სიგნალები 10MHZ– მდე. იდეალურია ელექტრონიკის ზოგიერთი ტესტირებისთვის. გაფუჭებით
სწრაფი ზღვარი კვადრატული ტალღის გენერატორი: 4 ნაბიჯი
სწრაფი ზღვარი კვადრატული ტალღის გენერატორი: თუ გსურთ გაზომოთ ინდუქტიურობა, ნებისმიერი კომპონენტის ტევადობა მაშინ გჭირდებათ სწრაფი ზღვარზე კვადრატული ტალღა ამ სტატიაში ჩვენ ვიგებთ ამის შესახებ
როგორ გავჭრათ კვადრატული/სამკუთხედის ხვრელები ABS პროექტის ყუთებში: 3 ნაბიჯი
როგორ გავჭრათ კვადრატული/სამკუთხედის ხვრელები ABS პროექტის ყუთებში: გამარჯობა, ეს არის მინი ინსტრუქცია, რადგან ის გამოსადეგი იქნება სხვა ინსტრუქციებისთვის, რომელსაც მე გამოვაქვეყნებ, რომელიც მოითხოვს კვადრატულ ხვრელებს ABS– ში! ვიფიქრე, რომ გამოვაქვეყნებ როგორ გავაკეთებ ამას - რადგან ძალიან დიდი დრო დამჭირდა დამაკმაყოფილებელი გამოსავლის მოსაძებნად. მე ვარ სტაბილური
კვადრატული განტოლების მაკრო Excel- ზე: 3 ნაბიჯი
კვადრატული განტოლების მაკრო Excel- ზე: თქვენ მარტივად შეგიძლიათ გადაჭრათ კვადრატული განტოლება მხოლოდ ინსტრუმენტებზე-მაკრო გაშვების მაკროზე. მე ახალი წევრი ვარ და ნამდვილად მჭირდება რაიმე სახის გამოხმაურება, რომელიც შეგიძლიათ მოგცეთ. ისიამოვნეთ არავითარი ქაღალდის გამოყენებით ამ განტოლების ამოხსნით