Სარჩევი:
- ნაბიჯი 1: მე გამოყენებული ნაწილები
- ნაბიჯი 2: წრე
- ნაბიჯი 3: PCB
- ნაბიჯი 4: კოდის ატვირთვა
- ნაბიჯი 5: შეკრება
- ნაბიჯი 6: შეცდომები და მომავალი მუშაობა
ვიდეო: ხელის ძირითადი კომპიუტერი: 6 ნაბიჯი (სურათებით)
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:15
ეს ინსტრუქცია აღწერს ჩემს პროცესს მცირე ხელის კომპიუტერის შექმნის პროცესში, რომელიც მუშაობს BASIC– ზე. კომპიუტერი აგებულია ATmega 1284P AVR ჩიპის გარშემო, რომელმაც ასევე შთააგონა კომპიუტერის სულელური სახელი (HAL 1284).
ეს ნაგებობა მძიმედ არის შთაგონებული აქ ნაპოვნი საოცარი პროექტით და SuperCON BASIC სამკერდე ნიშნით.
კომპიუტერი მუშაობს TinyBasic- ის შეცვლილ ვერსიაზე, თუმცა პროგრამული უზრუნველყოფის დიდი ნაწილი დაფუძნებულია პროექტზე dan14. თქვენ, რა თქმა უნდა, შეგიძლიათ დაიცვას ეს ინსტრუქცია, ან კიდევ უკეთესი, გააუმჯობესოთ იგი, რადგან მე დავუშვი რამდენიმე შეცდომა.
ამ პროექტისთვის მეც შევქმენი სახელმძღვანელო. მასში ნახსენებია შეცდომები და სპეციფიკა არჩეული მონიტორისთვის, მაგრამ რაც მთავარია, მას აქვს ძირითადი ოპერაციების სია.
ამის გამოქვეყნების შემდეგ, მე გადავიღე ვიდეო, რომელიც აჩვენებს პროექტს.
ნაბიჯი 1: მე გამოყენებული ნაწილები
ძირითადი IC– სთვის:
- ATmega 1284P
- კრისტალი 16 MHz
- 2x 22pf კერამიკული კონდენსატორი
- 10KΩ რეზისტორი (გადატვირთვისთვის დახევისკენ)
- 4 პინიანი ღილაკი (გადატვირთვისთვის)
- 470Ω Reistor (კომპოზიციური ვიდეოსთვის)
- 1kΩ რეზისტორი (კომპოზიციური ვიდეო სინქრონიზაციისათვის)
- 3 პინიანი მხტუნავი (ვიდეო სიგნალისთვის)
- პასიური ბუზერი
კლავიშთა კონტროლისთვის:
- ATmega 328P (ისევე როგორც Arduino Uno– ში გამოყენებული)
- კრისტალი 16 MHz
- 2x 22pf კერამიკული კონდენსატორი
- 12x 10KΩ რეზისტორი (გადატვირთვისთვის გაიყვანეთ ზემოთ და ღილაკები)
- 51x 4 პინიანი ღილაკი (ფაქტობრივი კლავიატურისთვის)
ძალაუფლებისთვის:
- L7805 ძაბვის რეგულატორი
- 3 მმ LED
- 220Ω რეზისტორი (LED- ისთვის)
- 2x 0.1µF ელექტროლიტური კონდენსატორი
- 0.22 µF ელექტროლიტური კონდენსატორი (თქვენ შეგიძლიათ შეცვალოთ ეს 0.22 და ერთი 0.1 ერთი 0.33 -ით. მე ასევე მითხრეს, რომ ღირებულებებს ნამდვილად არ აქვს მნიშვნელობა, მაგრამ მე არ ვარ დიდი კონდენსატორებით)
- 2x 2 პინიანი ჯუმპერი (დენის შეყვანისთვის და ძირითადი გადამრთველისთვის)
GPIO (შესაძლოა დაამატოთ კიდევ რამდენიმე საფუძველი):
- 7 პინიანი მხტუნავი
- 2x 8 პინიანი მხტუნავი
- 2 პინიანი მხტუნავი (5V და GND– ისთვის)
- 3-4 პინიანი ჯუმპერი (სერიული კომუნიკაციისთვის)
არა PCB:
- 4 ინჩიანი ეკრანი კომპოზიტური ვიდეოთი (ჩემსას ჰქონდა შეყვანის ძაბვა 7-30 ვ-ს შორის)
- 3D დაბეჭდილი დამჭერი საჩვენებლად
- ერთგვარი გადამრთველი
ნაბიჯი 2: წრე
წრე არ არის ძალიან ლამაზი და ძირითადი IC რეგიონის უმეტესობა შთაგონებულია dan14- ით. როგორც ითქვა, ეს არის საკმაოდ პირდაპირი არდუინო პურის დაფაზე. კლავიატურა მარტივი ბადეა და მას აკონტროლებს ATmega328. ორი AVR ჩიპი ურთიერთობს UART სერიული ქინძისთავების საშუალებით.
როგორც სურათი, ასევე ჩემი არწივის ფაილები მიმაგრებულია და იმედია საკმარისი იქნება წრის ხელახლა შესაქმნელად. თუ არა, მოგერიდებათ შემატყობინოთ და მე განვაახლებ ინსტრუქციას.
ნაბიჯი 3: PCB
PCB არის 2 ფენიანი და შექმნილია ავტო მარშრუტის გამოყენებით (ოჰ, რა ** ხვრელია!). მას აქვს ღილაკები და დენის მაჩვენებელი LED წინა და დანარჩენი უკანა. მე მქონდა ჩემი PCB დამზადებული JCL PCB– ით და მათ საოცარი სამუშაო გააკეთეს მასში. PCB– ის ხელახლა შესაქმნელად საჭირო ფაილები უნდა იყოს Eagle– ის ფაილებში.
მე გირჩევთ, გადააკეთოთ PCB, რადგან მე მაქვს რაღაცეები, რისი გაკეთებაც სხვანაირად მინდა. თუ მოგწონთ ჩემი დიზაინი, მე ჯერ კიდევ მაქვს (წერისას) ოთხი გამოუყენებელი დაფა, რომელთა გაყიდვაზე მეტის სურვილი მაქვს.
დაფას აქვს ოთხი საბურღი ხვრელი, რომელიც მე გამოვიყენე LCD ეკრანის დასაყენებლად.
ნაბიჯი 4: კოდის ატვირთვა
როგორც 1284, ასევე 328, რა თქმა უნდა, საჭიროა კოდი და კოდი, რომელსაც მე ვიყენებ, შეგიძლიათ იხილოთ აქ: https://github.com/PlainOldAnders/HAL1284 ArduinoSrc/src. მე უბრალოდ გამოვიყენე Arduino IDE კოდის შეცვლისა და ატვირთვისთვის, მაგრამ სანამ ამის გაკეთება მოხდება, თქვენ დაგჭირდებათ ჩამტვირთავების დაწვა IC- ებზე:
ATMega328:
ეს არის მარტივი, იმ თვალსაზრისით, რომ არსებობს ბევრი მხარდაჭერა იქ, თუ როგორ უნდა დაწვათ ჩამტვირთავი და ატვირთოთ კოდი ამ IC- ში. მე ჩვეულებრივ მივყვები ამ სახელმძღვანელოს, ძირითადად იმიტომ, რომ მე ვივიწყებ სპეციფიკას.
კოდი 328 -ისთვის (ArduinoSrc/კლავიატურის ქვეშ) საკმაოდ მარტივია. ის მთლიანად ეყრდნობა Adafruit_Keypad- სამაგისტრო ბიბლიოთეკას. იმ შემთხვევაში, თუ რამე შეიცვლება lib- ში, მე ჩავრთე ვერსია, რომელიც გამოვიყენე ჩემს github გვერდზე ArduinoSrc/lib.
ATmega1284:
ეს ჩემთვის ცოტა რთული იყო, როდესაც პირველად მივიღე IC. დავიწყე აქედან ჩამტვირთავი ჩამტვირთავი და მივყევი ინსტალაციის სახელმძღვანელოს. ჩამტვირთავის დასაწვავად, მე იგივე გავაკეთე, რაც 328 -ში და დახმარება მივიღე აქედან. ორივე IC– სთვის მე უბრალოდ გამოვიყენე Arduino Uno როგორც ჩამტვირთავი მოწყობილობის დაწვისთვის, ასევე კოდის ასატვირთად (გადმოტვირთვისას IC ამოღებულია Arduino Uno– დან).
კოდი (ArduinoSrc/HAL1284Basic) ჩემთვის ძალიან რთულია, მაგრამ მე შევძელი კოდის ზოგიერთი ნაწილის შეცვლა:
მე დავამატე რამდენიმე ბრძანება (ის, რაც მითითებულია [A] - ში სახელმძღვანელოში. Pdf) და ასევე შევცვალე სხვა ბრძანებები:
ტონი: ტონი ბრძანება უბრალოდ იყენებდა არდუინოს ტონის ფუნქციას ადრე, მაგრამ როდესაც გამოდიოდა ბიბლიოთეკა, ამან გამოიწვია ზუზერის არასწორად მუშაობა. მე შევცვალე ის TVout– ის ტონის ფუნქციის გამოსაყენებლად, მაგრამ ეს ნიშნავს, რომ ტონის პინი უნდა იყოს პინ 15 (atmega1284– ისთვის)
სერიული კომუნიკაცია: რადგან კლავიატურა არის წვრილმანი, ის იყენებს სერიულ კომუნიკაციას პერსონაჟების წასაკითხად. ვინაიდან აქ გამოიყენება atmega1284, არსებობს ორი სერიული საკომუნიკაციო ხაზი, ხოლო როდესაც "sercom" ჩართულია, კოდი ასევე იძლევა სერიული პორტის საშუალებით ჩაწერის საშუალებას (კომპიუტერიდან ან ნებისმიერი სხვადან).
რეზოლუცია: ამ პროექტისთვის გამოყენებული მონიტორი საკმაოდ მუნჯია და საჭიროა მცირე გარჩევადობა, თორემ სურათი ციმციმებს. თუ უკეთესი მონიტორი გამოიყენება, მე გირჩევთ შეცვალოთ რეზოლუცია დაყენების ფუნქციაში.
ნაბიჯი 5: შეკრება
კოდი ატვირთული და PCB და ნაწილები მზად არის, ახლა დროა შეკრების. ყველა ნაწილი, რომელიც მე გამოვიყენე, იყო ხვრელის გავლით, ასე რომ, შედუღება არ იყო ძალიან რთული (განსხვავებით იქ არსებული badass-SMD-soldering-fellas). მონიტორი დამაგრებულია PCB– ის ოთხ საბურღი ხვრელზე, 3D ბეჭდვით დამჭერით. თუ სხვა მონიტორი გამოიყენება, ოთხი საბურღი ხვრელი შეიძლება გამოყენებულ იქნას ამის დასაყენებლად.
მონიტორის დამჭერი, რომელიც აქ გამოიყენება, ასევე შექმნილია გადასატანი გადამრთველის (PCB- ზე "გადამრთველის" ჯუმბერთან) და მონიტორის სამი საკონტროლო ღილაკის შესანახად. დამჭერი დამაგრებულია პლასტიკური M3 ჭანჭიკებით და გამყოფებით.
დენის დანამატისთვის გამოვიყენე JST PCB კონექტორი, თუმცა გლუვი ლულის ბუდე იქნებოდა უფრო გლუვი. დაფის გასაძლიერებლად, მე გადავედი 12V კვების ბლოკზე ან სამ 18650 ბატარეას შორის. ჩემზე უფრო რბილ კოვბოის ალბათ შეეძლო დაემუშავებინა ბატარეის გლუვი დაფა დაფისთვის.
ნაბიჯი 6: შეცდომები და მომავალი მუშაობა
ისრის ღილაკები: ისრის ღილაკები შემთხვევით არის დაყენებული და არ ასრულებს დიდ ფუნქციებს. ეს ართულებს ნავიგაციას
ფაილი I/O: არსებობს ფაილის I/O შესაძლებლობები, მაგრამ ეს არ არის განხორციელებული. ამის წინააღმდეგ საბრძოლველად, HAL1284Com პროგრამულ უზრუნველყოფას შეუძლია ფაილების ატვირთვა დაფაზე. ასევე შესაძლებელია ატვირთვა EEPROM– ში.
PEEK/POKE: PEEK და POKE დატესტილია და მე არ ვარ დარწმუნებული რა მისამართებია.
შესვენება: შესვენება (Esc) ზოგჯერ არეულობს მთელ კოდს, უსასრულო მარყუჟებში.
პინ 7: PWM პინ 7 შეიძლება იყოს რთული, როდესაც ცდილობ DWRITE High ან AWRITE 255. ის მშვენივრად მუშაობს AWRITE 254– ით.
იდიოტი: იდეალური იქნება ასევე UART1- ით ატვირთვა, მაგრამ ატვირთვა შესაძლებელია მხოლოდ UART0- ის საშუალებით, ამიტომ ატვირთვა უნდა მოხდეს ძირითადი IC- ის ამოღებით. ეკრანი და ძაბვის რეგულატორი 5 ძალიან ცხელდება დიდი ხნის განმავლობაში მუშაობის დროს.
გირჩევთ:
MutantC V3 - მოდულური და მძლავრი ხელის კომპიუტერი: 9 ნაბიჯი (სურათებით)
MutantC V3 - მოდულური და მძლავრი ხელის კომპიუტერი: Raspberry -pi ხელის პლატფორმა ფიზიკური კლავიატურით, ჩვენების და გაფართოების სათაური საბაჟო დაფებისთვის (არდუინოს ფარის მსგავსად). MutantC_V3 არის მუტანტის მემკვიდრე C_V1 და V2. შეამოწმეთ mutantC_V1 და mutantC_V2.https: //mutantc.gitlab.io/https: // gitla
Arduino ძირითადი კომპიუტერი VGA გამომავალით: 5 ნაბიჯი (სურათებით)
Arduino ძირითადი კომპიუტერი VGA გამომავალით: ჩემს წინა ინსტრუქციებში მე ვაჩვენე, თუ როგორ უნდა ავაშენოთ რეტრო 8 ბიტიანი კომპიუტერი BASIC, ორი Arduino– ს საშუალებით და გამომავალი სიგნალით B & W ტელევიზორის ეკრანზე. ახლა მე ვაჩვენებ, თუ როგორ უნდა ავაშენოთ ერთი და იგივე კომპიუტერი, მაგრამ გამომავალი სიგნალით
კენტი ან ლუწი ხელის კრიკეტის თამაში V დაზვერვის დამატებული კომპიუტერი C ++ - ში: 4 ნაბიჯი
კენტი ან ლუწი ხელის კრიკეტის თამაში დაზვერვის დამატებული კომპიუტერი C ++ - ში: ხელის კრიკეტი/ კენტი ან ლუქსი არის პოპულარული თამაში ჩვენ შორის სკოლის პერიოდიდან. ამ ინსტრუქციურად, ჩვენ განვავითარებთ ამ თამაშს C ++ - ში. ეს არის ერთი მოთამაშის თამაში, რომელშიც თქვენ უნდა ითამაშოთ კომპიუტერთან, რომელიც არ არის მუნჯი. კომპიუტერი არ აყენებს შემთხვევით რიცხვს
Arduino ძირითადი კომპიუტერი სატელევიზიო გამომავალი: 5 ნაბიჯი (სურათებით)
Arduino ძირითადი კომპიუტერი სატელევიზიო გამომავალით: ამ ინსტრუქციებში მე ვაჩვენებ, თუ როგორ უნდა ავაშენოთ რეტრო 8 ბიტიანი კომპიუტერი BASIC, ორი Arduino და რამდენიმე სხვა კომპონენტის საშუალებით. თქვენ შეგიძლიათ შეიყვანოთ ცვლადები და BASIC პროგრამა PS2 კლავიატურით, ხოლო გამომავალი ნაჩვენებია მონიტორზე
შექმენით კომპიუტერი/ ელექტრონიკის ძირითადი გაგება: 9 ნაბიჯი (სურათებით)
ააშენეთ კომპიუტერი/ ელექტრონიკის ძირითადი გაგება: გსურდათ ოდესმე თავი მოჩვენოთ, რომ ნამდვილად ჭკვიანი ხართ და ნულიდან ააშენოთ საკუთარი კომპიუტერი? არაფერი იცით რა არის საჭირო მინიმალური კომპიუტერის შესაქმნელად? ისე, ადვილია, თუ საკმარისად იცი ელექტრონიკა, რომ IC– ები ერთად დააგდო