Სარჩევი:
- ნაბიჯი 1: საჭირო მასალები
- ნაბიჯი 2: 4 ბიტიანი შემქმნელის გაგება
- ნაბიჯი 3: შექმენით 4 ბიტიანი შემქმნელი
- ნაბიჯი 4: მიაწოდეთ ძალა და საფუძველი წრედს
- ნაბიჯი 5: LED- ების გაყვანილობა
- ნაბიჯი 6: გაყვანილობის საერთო ანოდი RGB LED
- ნაბიჯი 7: LCD ეკრანის გაყვანილობა
- ნაბიჯი 8: კოდის წერა
ვიდეო: ორობითი ათწილადის გამომთვლელი: 8 ნაბიჯი
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:18
მეთერთმეტე კლასის კომპიუტერული ინჟინერიისათვის, მე უნდა გადამეწყვიტა საბოლოო პროექტი. თავიდან არ ვიცოდი რა გამეკეთებინა, რადგან ის უნდა აერთიანებდეს ტექნიკის გარკვეულ კომპონენტებს. რამდენიმე დღის შემდეგ, ჩემმა თანაკლასელმა მითხრა, რომ შევასრულებ პროექტს, რომელიც დაფუძნებულია ოთხ ბიტიან დამატებაზე, რომელიც ჩვენ შევქმენით რამდენიმე თვის წინ. იმ დღის შემდეგ, ჩემი ოთხი ბიტიანი დამატების გამოყენებით, მე შევძელი ორობითი ათწილადის გადამყვანის შექმნა.
ამ პროექტის შექმნა მოითხოვს ბევრ კვლევას, რომელიც მოიცავს ძირითადად იმის გაგებას, თუ როგორ მუშაობს სრული და ნახევარი შემმუშავებელი.
ნაბიჯი 1: საჭირო მასალები
ამ პროექტისთვის დაგჭირდებათ შემდეგი მასალები:
- Arduino UNO
- ოთხი დაფა
- ცხრა ვოლტიანი ბატარეა
- შვიდი XOR კარიბჭე (2 XOR ჩიპი)
- შვიდი და კარიბჭე (2 და ჩიპი)
- სამი OR კარიბჭე (1 OR ჩიპი)
- ხუთი LED
- რვა 330 ოჰმიანი რეზისტორი
- LCD დისპლეი
- ოთხი კაცი-ქალი მავთული
- ბევრი მამაკაცი-კაცი მავთული
- მავთულის სტრიპტიზიორი
- საერთო ანოდი RGB LED
ღირებულება (მავთულის გარეშე): $ 79.82
ყველა მასალის ღირებულება ნაპოვნია ABRA ელექტრონიკაზე.
ნაბიჯი 2: 4 ბიტიანი შემქმნელის გაგება
სანამ დავიწყებთ, თქვენ უნდა გესმოდეთ, თუ როგორ მუშაობს ოთხი ბიტიანი დამატება. როდესაც ჩვენ პირველად ვუყურებთ ამ წრეს, თქვენ შეამჩნევთ, რომ არსებობს ნახევარი ამომრთველი წრე და სამი სრული ამომრთველი სქემა. იმის გამო, რომ ოთხი ბიტიანი შემავსებელი არის სრული და ნახევარი შემკვრელის კომბინაცია, მე გამოვაქვეყნე ვიდეო, სადაც განმარტებულია, თუ როგორ მუშაობს ორი სახის შემმუშავებელი.
www.youtube.com/watch?v=mZ9VWA4cTbE&t=619s
ნაბიჯი 3: შექმენით 4 ბიტიანი შემქმნელი
ახსნა, თუ როგორ უნდა ავაშენოთ ოთხი ბიტიანი დამატება ძალიან რთულია, რადგან ის მოიცავს უამრავ გაყვანილობას. ამ სურათების საფუძველზე შემიძლია რამდენიმე ხრიკი მოგაწოდოთ ამ წრის შესაქმნელად. პირველ რიგში, თქვენი ლოგიკური ჩიპების მოწყობის გზა შეიძლება იყოს ძალიან მნიშვნელოვანი. იმისათვის, რომ გქონდეთ სუფთა წრე, შეუკვეთეთ თქვენი ჩიპები ამ თანმიმდევრობით: XOR, AND, OR, AND, XOR. ამ წესრიგის დაცვით, არა მხოლოდ თქვენი წრე იქნება მოწესრიგებული, არამედ მისი ორგანიზებაც ძალიან გაგიადვილდებათ.
კიდევ ერთი დიდი ხრიკი არის თითოეული შემქმნელის აშენება სათითაოდ და მარჯვენა მხრიდან მარცხენა მხარეს. საერთო შეცდომა, რაც ბევრმა ადამიანმა დაუშვა არის ყველა დამატების ერთდროულად გაკეთება. ამით თქვენ შეიძლება გაგიფუჭდეთ გაყვანილობაში. 4-ბიტიანი დამატების ერთმა შეცდომამ შეიძლება გამოიწვიოს ყველაფერი არ იმუშაოს,
ნაბიჯი 4: მიაწოდეთ ძალა და საფუძველი წრედს
9 ვოლტიანი ბატარეის გამოყენებით მიეცით ენერგია და დაფქვა პურის დაფაზე, რომელიც შეიცავს ოთხ ბიტიან დამატებას. დანარჩენი 3 დაფისთვის, მიეცით მას ძალა და საფუძველი Arduino UNO– ს საშუალებით.
ნაბიჯი 5: LED- ების გაყვანილობა
ამ პროექტისათვის ხუთი LED- ები გამოყენებული იქნება როგორც შემავალი და გამომავალი მოწყობილობა. როგორც გამომავალი მოწყობილობა, LED აანთებს ორობითი რიცხვის რაოდენობას, რაც დამოკიდებულია ოთხ ბიტიან დამატებაზე შეტანილ შეყვანის მიხედვით. როგორც შეყვანის მოწყობილობა, იმისდა მიხედვით, თუ რომელი LED- ები არის ჩართული და გამორთული, ჩვენ შევძლებთ LCD ეკრანზე გადაკეთებული ორობითი რიცხვის პროგნოზირებას ათობითი რიცხვის სახით. LED- ის დასაკავშირებლად თქვენ დაუკავშირდებით ოთხი ბიტიანი დამატების მიერ შექმნილ ერთ ჯამს LED- ის ანოდის ფეხს (LED- ის გრძელი ფეხი), თუმცა ამ ორს შორის მოათავსეთ 330 ოჰმეტიანი რეზისტორი. შემდეგ შეაერთეთ LED- ის კათოდური ფეხი (LED- ის მოკლე ფეხი) სახმელეთო რკინიგზასთან. რეზისტორსა და ჯამის მავთულს შორის, დააკავშირეთ მამაკაცი მამრობითი მავთული Arduino UNO– ს ნებისმიერ ციფრულ პინთან. გაიმეორეთ ეს ნაბიჯი სამი დარჩენილი თანხისთვის და განხორციელებისთვის. ციფრული ქინძისთავები, რომლებიც მე გამოვიყენე, იყო 2, 3, 4, 5 და 6.
ნაბიჯი 6: გაყვანილობის საერთო ანოდი RGB LED
ამ პროექტისთვის, ამ RGB LED– ის მიზანია შეცვალოს ფერები, როდესაც ახალი ათობითი რიცხვი იქმნება LCD ეკრანზე. როდესაც პირველად უყურებთ RGB საერთო ანოდს, შეამჩნევთ, რომ მას აქვს 4 ფეხი; წითელი ფეხის ფეხი, ძალა (ანოდი) ფეხი, მწვანე შუქი ფეხი და ლურჯი შუქი ფეხი. დენის (ანოდი) ფეხი დაუკავშირდება ელექტროგადამცემი ხაზს, მიიღებს 5 ვოლტს. შეაერთეთ დარჩენილი სამი ფერის ფეხი 330 ოჰმეტიანი რეზისტენტებით. რეზისტორის მეორე ბოლოში გამოიყენეთ მამრობითი და მამრობითი მავთულები, რათა დაუკავშიროთ ის PWM ციფრულ პინთან Arduino– ზე. PWM ციფრული პინი არის ნებისმიერი ციფრული პინი, რომლის გვერდით არის მოქნილი ხაზი. PWM ქინძისთავები, რომლებიც მე გამოვიყენე, იყო 9, 10 და 11.
ნაბიჯი 7: LCD ეკრანის გაყვანილობა
ამ პროექტისთვის, LCD დისპლეი დააპროექტებს მოაქციე ორობითი რიცხვის ათწილადში. როდესაც ჩვენ ვუყურებთ LCD ეკრანს, შეამჩნევთ 4 მამაკაცის ქინძისთავებს. ეს ქინძისთავებია VCC, GND, SDA და SCL. VCC– სთვის გამოიყენეთ მამრობითი და მდედრობითი მავთული, რათა დააკავშიროთ VCC პინი პურის დაფაზე დენის სარკინიგზო ხაზთან. ეს უზრუნველყოფს 5 ვოლტს VCC პინზე GND ქინძისთავისთვის დააკავშირეთ იგი მიწის სარკინიგზო მაგისტრალურ მამაკაცთან მდედრობითი მავთულით. SDA და SCL ქინძისთავებით, შეაერთეთ იგი ანალოგიურ პინთან მამრობითი და მავთულხლართებით. მე დავუკავშირე SCL პინი ანალოგიურ პინ A5– ს და SDA პინ ანალოგ პინ A4– ს.
ნაბიჯი 8: კოდის წერა
ახლა, როდესაც მე ავუხსენი ამ პროექტის სამშენებლო ნაწილი, ახლა დავიწყოთ კოდი. პირველ რიგში, ჩვენ უნდა გადმოვწეროთ და შემოვიტანოთ შემდეგი ბიბლიოთეკები; LiquidCrystal_I2C ბიბლიოთეკა და მავთულის ბიბლიოთეკა.
#ჩართეთ #ჩართეთ
ამის დასრულების შემდეგ, თქვენ უნდა გამოაცხადოთ ყველა საჭირო ცვლადი. ნებისმიერი ტიპის კოდში, თქვენ ჯერ უნდა გამოაცხადოთ თქვენი ცვლადები.
const int ციფრი 1 = 2;
const int ციფრი 2 = 3;
const int ციფრი 3 = 4;
const int ციფრი 4 = 5;
const int ციფრი 5 = 6;
int ციფრული 1 = 0;
int ციფრული 2 = 0;
int digitum3 = 0;
int ციფრები 4 = 0;
int ციფრული 5 = 0;
char array1 = "ორობითი ათწილადიდან";
char array2 = "გადამყვანი";
int tim = 500; // შეფერხების დროის მნიშვნელობა
const int redPin = 9;
const int greenPin = 10;
const int bluePin = 11;
#განსაზღვრეთ COMMON_ANODE
LiquidCrystal_I2C LCD (0x27, 16, 2);
Void setup- ში () თქვენ აცხადებთ პინის ტიპს თქვენი ყველა ცვლადისთვის. თქვენ ასევე გამოიყენებთ სერიულ დაწყებას, რადგან ჩვენ ვიყენებთ analogWrite () - ს
ბათილად დაყენება ()
{
სერიული.დაწყება (9600);
pinMode (ციფრი 1, INPUT);
pinMode (ციფრი 2, INPUT);
pinMode (ციფრი 3, INPUT);
pinMode (ციფრი 4, შეყვანა);
pinMode (ციფრი 5, INPUT);
lcd.init ();
lcd. განათება ();
pinMode (redPin, OUTPUT);
pinMode (greenPin, OUTPUT);
pinMode (bluePin, OUTPUT);
Void კონფიგურაციაში (), მე შევქმენი for მარყუჟი, რომ შევქმნა შეტყობინება ამ პროექტის სახელის შესახებ. მიზეზი, რის გამოც ის არ არის ბათილი მარყუჟში () არის ის, რომ თუ ის ამ სიცარიელეშია, შეტყობინება კვლავ განმეორდება
lcd.setCursor (15, 0); // დააყენეთ კურსორი სვეტზე 15, სტრიქონი 0
for (int positionCounter1 = 0; positionCounter1 <17; positionCounter1 ++)
{
lcd.scrollDisplayLeft (); // გადააქვს ეკრანის შინაარსი ერთი სივრცე მარცხნივ.
lcd.print (მასივი 1 [positionCounter1]); // დაბეჭდეთ შეტყობინება LCD– ზე.
დაგვიანება (დრო); // დაელოდეთ 250 მიკროწამს
}
lcd. წმინდა (); // ასუფთავებს LCD ეკრანს და ათავსებს კურსორს მარცხენა ზედა კუთხეში.
lcd.setCursor (15, 1); // დააყენეთ კურსორი სვეტზე 15, სტრიქონი 1
for (int positionCounter = 0; positionCounter <9; positionCounter ++)
{
lcd.scrollDisplayLeft (); // გადააქვს ეკრანის შინაარსი ერთი სივრცე მარცხნივ.
lcd.print (array2 [positionCounter]); // დაბეჭდეთ შეტყობინება LCD ეკრანზე.
შეფერხება (დრო); // დაელოდეთ 250 მიკროწამს
}
lcd. წმინდა (); // ასუფთავებს LCD ეკრანს და ათავსებს კურსორს მარცხენა ზედა კუთხეში.
}
ახლა, როდესაც ჩვენ დავასრულეთ ბათილი კონფიგურაცია (), მოდით გადავიდეთ ბათილ მარყუჟზე (). სიცარიელის მარყუჟში, მე შევქმენი რამდენიმე if-else განაცხადი, რათა დავრწმუნდე, რომ როდესაც გარკვეული შუქები ჩართულია ან გამორთულია, ის აჩვენებს ეკრანზე გარკვეულ ათობითი რიცხვს. მე დავურთე დოკუმენტი, რომელიც აჩვენებს რა არის ჩემი ბათილი მარყუჟის შიგნით და ბევრი სხვა სიცარიელე, რაც მე შევქმენი. დააწკაპუნეთ აქ დოკუმენტის სანახავად
ახლა თქვენ მხოლოდ უნდა გაუშვათ კოდი და ისიამოვნოთ თქვენი ორობითი ათწილადიანი კონვერტორით.
გირჩევთ:
მიკრო ორობითი საათი: 10 ნაბიჯი (სურათებით)
მიკრო ორობითი საათი: ადრე შეიქმნა Instructable (ორობითი DVM), რომელიც იყენებს შეზღუდული ჩვენების არე ბინარულ გამოყენებას. ეს იყო მხოლოდ მცირე ნაბიჯი, რომელმაც ადრე შექმნა ძირითადი კოდის მოდული ათწილადში ორობითი კონვერტაციისთვის ორობითი საათის შესაქმნელად, მაგრამ
როგორ გავაკეთოთ ოთხი ფუნქციური გამომთვლელი CPP– ში: 6 ნაბიჯი
როგორ გავაკეთოთ ოთხი ფუნქციური გამომთვლელი CPP– ში: კალკულატორები გამოიყენება ყველას ყოველდღიურ ცხოვრებაში. მარტივი კალკულატორი შეიძლება გაკეთდეს C ++ პროგრამის გამოყენებით, რომელსაც შეუძლია დაამატოს, გამოაკლოს, გაამრავლოს და გაყოს მომხმარებლის მიერ შესული ორი ოპერანდი. If და goto განცხადება გამოიყენება კალკულატორის შესაქმნელად
ორობითი ათწილადის მატჩის თამაში: 10 ნაბიჯი
ორობითი ათწილადის მატჩის თამაში: ეს ინსტრუქცია აჩვენებს პროცესს და მოდულებს, რომლებიც საჭიროა ჩვენი ორობითი და ათწილადის შესატყვისი თამაშის შესაქმნელად. 60 წამის განმავლობაში, მომხმარებლები გადათარგმნიან და შეიყვანენ შემთხვევით წარმოქმნილ ათეულ რიცხვს შვიდ სეგმენტის ჩვენებაზე ორობაში გადართვით
უმაღლესი საერთო ფაქტორების გამომთვლელი: 6 ნაბიჯი
უმაღლესი საერთო ფაქტორების კალკულატორი: ბევრ ჩემს მეგობარს და ბავშვს, რომელსაც აქვს დამხმარე მასწავლებელი, აქვს რიცხვების ნებისმიერი რაოდენობის უმაღლესი საერთო ფაქტორის (HCF) პოვნა. ეს ძირითადად იმიტომ ხდება, რომ ჩემს ქვეყანაში განათლება მართლაც არასტანდარტულია. ბავშვები, როგორც წესი, მიმართავენ სწავლას და მკაცრ წესებს. ამ
ქაღალდის რეზისტორის გამომთვლელი: 8 ნაბიჯი
ქაღალდის რეზისტენტული კალკულატორი: აქ არის პატარა რეზისტორ კალკულატორი სამი ამონაწერით, რომლის დამზადებაც შეგიძლიათ ბარათის ქაღალდისგან. ეს ვერსია არ შეიცავს ტოლერანტობის ჯგუფს, მაგრამ თუ საკმარისი ინტერესი არსებობს, მომწერეთ ხაზი და შემიძლია შევცვალო დიზაინი, რომ შევიტანო ერთი