Სარჩევი:

გეტოს განვითარების გარემო: 5 ნაბიჯი
გეტოს განვითარების გარემო: 5 ნაბიჯი

ვიდეო: გეტოს განვითარების გარემო: 5 ნაბიჯი

ვიდეო: გეტოს განვითარების გარემო: 5 ნაბიჯი
ვიდეო: ჯენიფერ გეიზი - "უკიდურესი სიმაღლე" - აუდიო წიგნი 2024, ნოემბერი
Anonim
გეტოს განვითარების გარემო
გეტოს განვითარების გარემო

ცოტა ხნის წინ, მე გამოვაქვეყნე სწრაფი და ბინძური "el cheapo" მეთოდი Atmel AVR სერიის ჩიპების დაპროგრამების დასაწყებად: Ghetto Programmer (ვერსია 1.0) მას შემდეგ, მე ვამპენი, ხელახლა ვამპირი და სხვაგვარად გავაუმჯობესე ჩემი კონფიგურაცია. ვფიქრობდი, რომ კარგი იქნებოდა ამის დოკუმენტირება. მიზანი იყო მოქნილი, კომპაქტური, პორტატული, ყველგან გამოყენებადი, AVR დაფუძნებული მიკროკონტროლერის პროტოტიპირების გარემოს მიღება. იაფად (იშ). ასე რომ, ყოველგვარი გაფრთხილების გარეშე, აქ არის გეტოს განვითარების გარემო (GDE) (ვერსია 1.2).

ნაბიჯი 1: ნაკრები

ნაკრები
ნაკრები

ძირითადი ნაკრები შეიცავს შემდეგ ნივთებს: USB პროგრამისტი. იმის გამო, რომ გსურთ შეძლოთ თქვენი ლეპტოპის მიკროკონტროლერების პროგრამირება სადმე. და რადგან USB არის ძალიან მოსახერხებელი წყარო +5 ვ. პროგრამირების აკვანი. ერთი თითოეული ჩიპისთვის, რომელთანაც თამაშობ. ჩემთვის ეს ნიშნავს ერთს 8 ქინძისთავით (ATtiny13, 15), ერთს 20 ქინძისთავით (ATtiny 2313) და ერთს 28 ქინძისთავით (ATmega8). მოციმციმე ნათურები. როდესაც რაღაც არასწორია თქვენს კოდში, არაფერი არ ასუფთავებს მას, როგორც განათების ჩასართავად დიაგნოზის დასასმელად. გარდა ამისა, LED მოციმციმე პროგრამა არის მიკროკონტროლერების "Hello World". პურის დაფა. ყოველივე ამის შემდეგ, ეს არის განვითარების ნაკრები.

ნაბიჯი 2: USB პროგრამისტი

USB პროგრამისტი
USB პროგრამისტი
USB პროგრამისტი
USB პროგრამისტი

Ghetto Programmer– ში (v.1.0) მე გამოვიყენე პარალელური პორტის პროგრამისტი. ეს შესანიშნავია, რადგან ეს არის მარტივი, იაფი და სწრაფი. მაგრამ ჩემს ლეპტოპს არ აქვს პარალელური პორტი. მე ცოტათი ვიმუშავე სერიული პორტის პროგრამისტების შექმნით, მაგრამ გულწრფელად რომ ვთქვათ, ისინი ისეთივე რთულია, როგორც USB ვერსია და სერიული პორტებიც კი მწირი ხდება. მართლაც, ჩემს ლეპტოპს აქვს მხოლოდ USB. ასე რომ USB არის. მიმოიხედე გარშემო, USBTiny პროგრამისტი საკმაოდ მარტივია და მუშაობს უფასო GNU/AVR-GCC ინსტრუმენტებით. გააკეთე ეს საკუთარ თავს ან იყიდე ნაკრები? წვრილმანი გზა კარგია, თუ უკვე შეგიძლია დაპროგრამო ATTiny2313 (პარალელურად პროგრამისტთან ერთად) და გქონდეს 12 MHz კრისტალი. USBTiny გვერდი ასახავს საფუძვლებს. ის წყვეტს პროგრამირების კაბელს პარალელური პორტით, მაგრამ მე მას დავამთავრებდი სტანდარტული 6 პინიანი სათაურით, თუ თავიდან ვიწყებდი. (რატომ? იმიტომ, რომ ის სტანდარტულია.) აქ არის მისი პინ-აუთები და შეამოწმეთ ქვემოთ მოყვანილი სურათი კაბელის განლაგებისათვის. PD3 - MISOPD5 - გადატვირთვა PD6 - SCKPD7 - MOSII თუ თქვენ თვითონ გააკეთებთ, გთხოვთ ისწავლოთ ჩემი გამოცდილებიდან და ჩადოთ ლამაზ პლასტმასის ყუთში. თუ არა, ის საბოლოოდ ჩავარდება, როდესაც 12 მჰც ბროლი იშლება. რის გამოც მე ახლა ვიყენებ … სწრაფი და ელეგანტური გზა არის Ladyada- ს USBtinyISP ნაკრები. ეს დაგიბრუნებთ $ 22-ს, მაგრამ თქვენ მიიღებთ ლამაზ PCB- ს, წინასწარ დაპროგრამებულ ATTiny2313- ს და სუფთა ყუთს ლამაზი კაბელებით. ნედლეული 15-16 დოლარამდეა და თქვენ არ გჭირდებათ დიგიკეიზე დარეკვა და შემდეგ თქვენი 2313 -ის პროგრამირებაზე ფიქრი. ყველაფრის შედუღებას 30 წუთი სჭირდება - 1 სთ. გაფურჩქვნა. Დამიჯერე. (არა კუთვნილება, კმაყოფილი მომხმარებელი) და ახლახან ვნახე ეს ბმული: Ladyada– ს AVR სამეურვეო პროგრამა, რომელიც საკმაოდ კარგად მეჩვენება. (და გაითვალისწინეთ, რომ ლედიადის დიზაინი და ორიგინალური USBTiny იყენებენ სხვადასხვა USB პროდუქტის საიდენტიფიკაციო კოდებს-თქვენ მოგიწევთ იპოვოთ ID სტრიქონები და ხელახლა შეადგინოთ avrGCC, თუ ორს შორის გადადიხართ. მე ვფიქრობ, რომ შესაბამის ვებგვერდებზე არის ინსტრუქცია.)

იმ შემთხვევაში, თუ თქვენ ხართ Ubuntu Linux სისტემაში და იყენებთ USBTiny პროგრამისტს, აქ არის ბრძანებები, რომლებიც ამოქმედებს მთელს ინსტრუმენტს: sudo apt-get install install-avr-libc binutils-avr gcc-avr avrdude (ტესტირება ჰარდი ჰერონზე) თუ თქვენ გაქვთ AMD64 თაღი, შეიძლება დაგჭირდეთ: byacc libusb-dev flex bison libc6-devand შემდეგ AVRdude ხელით შედგენა: (wget https://download.savannah.gnu.org/releases/avrdude/ avrdude-5.5.tar.gz tar xvzf avrdude-5.5.tar.gz cd avrdude-5.5 ## Patch საჭირო AMD64: wget https://savannah.nongnu.org/patch/download.php?file_id=14754 patch -p1 <avrdude -5.5. გაკეთებულია ჰო, და დამსახურებაა ვენდელ ოსკაი სტანდარტული პროგრამისტის პინოგრამების დიაგრამისთვის.

ნაბიჯი 3: პროგრამირების აკვანი

პროგრამირების აკვანი
პროგრამირების აკვანი
პროგრამირების აკვანი
პროგრამირების აკვანი
პროგრამირების აკვანი
პროგრამირების აკვანი

Ghetto Programmer v.1.0 – ში მე გამოვიყენე პროგრამირების აკვანი არასტანდარტული პინის შეყვანის საშუალებით და მდედრობითი პინ-სათაურებით, რომ შევიტანო პერსონალი. არასტანდარტული ქინძისთავები ცუდი იდეაა, რადგან თქვენ ვერ შეძლებთ გამოიყენოთ თქვენი აკვანი სხვის პროგრამისტთან და პირიქით. ქალი სათაურები იყო სახალისო, რადგან თქვენ შეგიძლიათ პირდაპირ ჩართოთ LED- ები მათში, მაგრამ როდესაც მე დავიწყებ რაიმე უფრო რთული საქმის გაკეთებას, მე მაინც დავასრულებ მას საცხობ დაფაზე მაინც. ახალი აკვნით, მე შუამავალი გავწყვიტე. ნაკლები ხელით გაყვანილობა = უკეთესი. მაგრამ ამ აკვანის დიზაინის ყველაზე დიდი უპირატესობა ის არის, რომ აკვანი შეგიძლიათ შეაერთოთ თითქმის ყველგან, სადაც შეგიძლიათ ჩაწეროთ AVR ჩიპი. ეს აღმოჩნდება უზარმაზარი. იმის ნაცვლად, რომ შეიმუშაოთ ISP სქემები თქვენს რობოტში ან სხვაგვარად, თქვენ უბრალოდ მიამაგრეთ ეს აკვანი ნივთს IC სოკეტში. შემდეგ თქვენ შეგიძლიათ პროგრამირება/ხელახლა დაპროგრამება თქვენი რობოტის ტვინის ჩართვა. განვითარების პროცესის დასრულებისთანავე ჩართეთ AVR პირდაპირ და გადადით შემდეგზე. აკვანების დამზადება საკმაოდ ადვილია-ყველაფერი რაც თქვენ გჭირდებათ არის დააკავშიროთ ქინძისთავები 6 პინიანი სათაურიდან სწორ ადგილას ჩიპები. ამჯერად, მე გამოვიყენე ამოტვიფრული PCB. თქვენ ასევე შეგიძლიათ ხელით გაართვათ ყველაფერი პერფორტზე. ATTiny13/15 აკვანი დამზადებულია 8-პინიანი მავთულის გადასატანად. მე მიყვარს ესენი. ადვილია ჩიპის ჩადება მის ლამაზ მრგვალ ხვრელებში და გრძელი ფეხები უზრუნველყოფს დამატებით კლირენსს დაფაზე. მე დავამუშავე PCB კვალი Sharpie– ით ხელით. ATTiny2313 აკვანი დამზადებულია არწივისა და ლაზერული ქაღალდის ტონერის გადაცემის მეთოდით. მე ვერ ვიპოვნე 20-პინიანი მავთულის გადასატანი სოკეტი, ამიტომ მომიწია 20-პინიანი რეგულარული ბუდის მიწოდება, რომელიც შეკრული იყო 2 10-პინიანი პინების სათაურებში. ეს მთავრდება აკვანი მოკლე ფეხებით, მაგრამ ის მუშაობს. სქემატური და PDF, რომელიც მე გამოვიყენე წრეში, ქვემოთ მოცემულია. ორივეზე, ხელით უნდა გამეყვანა დამატებითი ხაზი. Ასეთია ცხოვრება.

ნაბიჯი 4: მოციმციმე ნათურები

მოციმციმე ნათურები
მოციმციმე ნათურები
მოციმციმე ნათურები
მოციმციმე ნათურები

თვით სიმარტივე. მე საერთოდ არ აღვნიშნავდი მათ, თუ ისინი ასე არ იყვნენ მოსახერხებელი.

შეაერთეთ რეზისტორი (150-220 ohms არის კარგი მნიშვნელობა.) პირდაპირ ზოგიერთი LED- ების უარყოფითად. ის ანათებს დაახლოებით 2v-6v– დან დამწვრობის გარეშე. და რეზისტორი გეხმარებათ დაიმახსოვროთ რომელი მხარეა უარყოფითი. მიამაგრეთ ისინი იქ, სადაც გსურთ იცოდეთ რომ არის ელექტროენერგია. გაარკვიეთ აფეთქდა თუ არა ტრანზისტორი. გადააქციე ნიკადის ბატარეა ხანგრძლივ ღამის შუქად. გამოიყენეთ მოციმციმე კოდის ინტერფეისი თქვენი მიკროპროცესორის ღირებულებების წასაკითხად (ნელა). ან გააკეთეთ 8 მათგანი და თქვენ გაქვთ ერთი ბაიტიანი ჩვენება (პლუს აქტიური ინგრედიენტი ცილონის თვალში.) გააკეთეთ ისინი. გააკეთე ბევრი. გააკეთე ისინი ახლა.

ნაბიჯი 5: დასასრული

Დასასრული
Დასასრული

ეს "სისტემა" აკმაყოფილებს ჩემს განვითარების თითქმის ყველა საჭიროებას. ეს არის მოდულური, მასშტაბური, კომპაქტური და პორტატული.

მაგალითად, მე შევიმუშავე რუტინული შეტყობინებების გადახვევა თვითმფრინავზე 4 ნიშნა ეკრანზე (შესავალი გვერდი) მეგობრის ქორწილისკენ მიმავალ გზაზე. ბორტგამცილებლებთან ერთად კარგ ყინულმჭრელს ხდის. ეს პოტენციომეტრი -> ADC -> PWM- ზე ორიენტირებული ამმეტრის კონფიგურაცია იყო დაფარული, კოდირებული და გამართული მთლიანად ჩემს დივანსა და სასადილო მაგიდას შორის და იწმინდება 2 წუთის განმავლობაში, როდესაც მეგობრები მოდიან. (ეს არის მაღვიძარა-დროის დაყენების ნაწილი იმისა, რაც იქნება მეტრიანი საათი.) მე მოვიყვან კონფიგურაციას სამუშაოდ, როდესაც მე ვთამაშობ ხუჭუჭად. დაამატეთ წვრილმანების პატარა ტომარა (ზოგიერთი კონდენსატორი და რეზისტორი, მავთული, ტრანზისტორი, პიეზო სპიკერი, ფოტოდიოდები, მიკროფონები, მცირე ძრავები და ა.შ.) და თქვენ ბევრად უსწრებთ MacGuyver– ს ეს სასაცილოც კი არ არის.

გირჩევთ: