Სარჩევი:

Rotary Dialer PIC ინტერფეისი: 7 ნაბიჯი
Rotary Dialer PIC ინტერფეისი: 7 ნაბიჯი

ვიდეო: Rotary Dialer PIC ინტერფეისი: 7 ნაბიჯი

ვიდეო: Rotary Dialer PIC ინტერფეისი: 7 ნაბიჯი
ვიდეო: ახალი! ყველაზე იაფი ადამიანის თვალთვალის უსაფრთხოების კამერა Icsee Xmeye 2024, ნოემბერი
Anonim
Rotary Dialer PIC ინტერფეისი
Rotary Dialer PIC ინტერფეისი

მე აღმოვაჩინე სიმრავლის მბრუნავი ტელეფონები. სინამდვილეში, ისინი ყველგან არიან, სადაც მე ვიყურები. იმ იმედით, რომ ოდესმე მე შემიძლია მათი ნაკლები ნახო, დავიწყე მათი დაშლა და ხელახლა გამოყენება ნაწილები სხვა მიზნებისთვის.

რატომღაც ჩავიფიქრე ჩემს ტვინში, რომ მბრუნავი კონტროლის PIC ჩიპთან დაკავშირება კარგი იდეაა. მე შემიძლია ვიფიქრო ამ მომენტისთვის მხოლოდ რამდენიმე ბუნდოვან გამოყენებაზე და არცერთი არ არის განსაკუთრებით სასარგებლო, მაგრამ ვიმედოვნებ, რომ მომავალში რამე მაგარს გავაკეთებ.

ნაბიჯი 1: გადადით ნივთების მისაღებად

წადი მიიღეთ ნივთები
წადი მიიღეთ ნივთები

თქვენ დაგჭირდებათ: 1 - მბრუნავი ტელეფონი 3 - 220 ohm რეზისტორები 2 - 0.1uF კონდენსატორები 2 - 20K რეზისტორი (შეუძლია შეცვალოს ყველაფერი 10K– დან 47K– მდე) 2 - LED– ები 1 - PIC განვითარების დაფა (მე გამოვიყენე ძირითადი მიკრო განვითარების გარემო) 1 - 20 MHZ რეზონატორი ან კრისტალი 1 - Breadboard1 - 5V დენის წყარო 1 - ერთი ფეხი ან მეტი მავთულის 1 - Screwdriver1 - მავთულის სტრიპტიზიორი

ნაბიჯი 2: გაანალიზეთ ტელეფონი

გაანალიზეთ ტელეფონი
გაანალიზეთ ტელეფონი
გაანალიზეთ ტელეფონი
გაანალიზეთ ტელეფონი
გაანალიზეთ ტელეფონი
გაანალიზეთ ტელეფონი

გახსენით თქვენი მბრუნავი ტელეფონი. შიგნით შეამჩნევთ რამდენიმე ძირითად ნაწილს; მბრუნავი ციფერბლატი, ზარი, ორი ჯეკი, კაუჭის გადამრთველი და ძირითადი სქემა, რომელიც ჩვეულებრივ მოთავსებულია ლითონის კოლოფის მსგავსი ნივთში.

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

ნაბიჯი 3: განსაზღვრეთ რას აკეთებს მავთული

განსაზღვრეთ რას აკეთებს მავთული
განსაზღვრეთ რას აკეთებს მავთული
განსაზღვრეთ რას აკეთებს მავთული
განსაზღვრეთ რას აკეთებს მავთული

შეაერთეთ ორი LED, როგორც ეს მოცემულია ქვემოთ მოცემულ დიაგრამაში.

ორი თეთრი მავთული უნდა იყოს წყვილი, რომელიც ხურავს გადამრთველს, რომელიც შეგატყობინებთ, როდესაც აკრიფეთ. ლურჯი და მწვანე მავთული უნდა იყოს ის წყვილი, რომელიც გეცოდინებათ რა ნომერი აკრიფა. ამრიგად, როდესაც აკრიფეთ ციფერბლატი, თეთრ მავთულებთან დაკავშირებული LED უნდა ჩაირთოს, ხოლო ციფერბლატიდან რომ გაუშვათ, ლურჯ და მწვანე ხაზებთან დაკავშირებული LED უნდა აინთოს და გამორთოს რამდენჯერ აკრიფა (იხილეთ ვიდეო). მაგალითად, თუ აკრიფებთ 8 -ს, მწვანე და ლურჯ მავთულთან დაკავშირებული LED- ი გამორთული და ჩართული იქნება 8 -ჯერ. ეს ხდება იმიტომ, რომ ტელეფონის ნომრის აკრეფის ერთ -ერთი გზა არის კავშირის სწრაფად გაწყვეტა იმ ციფრზე, რამდენჯერაც აკრიფებთ. ასე რომ, კიდევ ერთხელ, 8 -ის აკრეფისათვის თქვენ უნდა სწრაფად გაწყვიტოთ კავშირი 8 -ჯერ.

ნაბიჯი 4: აკრიფეთ ამომრჩევი PIC ჩიპთან

დააკავშირეთ აკრიფეთ PIC ჩიპთან
დააკავშირეთ აკრიფეთ PIC ჩიპთან
შეაერთეთ აკრიფეთ PIC ჩიპთან
შეაერთეთ აკრიფეთ PIC ჩიპთან

შეაერთეთ მბრუნავი ამომრჩევი PIC ჩიპთან, როგორც ეს მოცემულია დიაგრამაში. გაითვალისწინეთ, რომ მე ვკითხულობ მბრუნავი აკრეფის მდგომარეობაში RC- დროის გამოყენებით. სხვა სიტყვებით რომ ვთქვათ, PIC ჩიპი ითვლის რამდენჯერ სჭირდება კონდენსატორის განმუხტვას (რაც იცვლება წინააღმდეგობის დამატებისას).

სწორედ აქ მოდის 20K რეზისტორი. ამის დამატება შესასვლელში იძლევა მკაფიო დიფერენცირებას სიგნალს შორის დახურული და ღია მბრუნავი გადამრთველის კავშირიდან.

ნაბიჯი 5: შეიკრიბეთ კოდი

შეიკრიბეთ კოდი
შეიკრიბეთ კოდი

ჩიპის პროგრამირების მიზნით, მე გამოვიყენე MBasic განვითარების გარემო, რომელიც ხელმისაწვდომია Basic Micro– დან. MBasic, მარტივად რომ ვთქვათ, არის Basic– ის ვარიაცია, რომელიც განკუთვნილია PIC ჩიპებით გამოსაყენებლად. ის ადვილად გარდაიქმნება უფრო უნივერსალურ (სასარგებლო) ენად. კოდი არსებითად განსაზღვრავს, როდის შემოაბრუნებს ციფერბლატი და შემდეგ აკეთებს სიგნალის ზღვარზე გამოვლენას (განსაზღვრავს დაბალ-მაღალ გადასვლებს) მანამ, სანამ ციფერბლატი არ დაუბრუნდება საწყის მდგომარეობას. მას შემდეგ, რაც შეაფასებს რამდენჯერმე ზომავს სიგნალის გადასვლას, შემდეგ ის აციმციმებს LED- ს შესაბამისად. მაგალითად, თუ აკრიფებთ 3-ს, PIC დაითვლის სამ დაბალ-მაღალ გადასვლას და შემდეგ სამჯერ აციმციმებს LED- ს. LED, როგორც თქვენ შეიძლება დაასკვნეთ, არასაჭიროა ამისთვის და მხოლოდ იმისთვისაა, რომ ხილული გამოხმაურება მოგაწოდოთ. თქვენ შეგიძლიათ შეცვალოთ ნებისმიერი გამომავალი მოწყობილობა, რომელიც საჭიროდ ჩათვლით. ********************* აქ არის რამდენიმე კოდი: ********************* CPU = 16F877MHZ = 20CONFIG 16254clicker var wordstartcountin var wordcountclicks var wordrepvar var wordclacker var wordlargefig var wordmain: countclicks = 0repvar = 0'sets/resets valueshigh B2rctime B2, 1, startcountincount countclicks = 0 if startcountin spump გადადის ქვეგანაკვეთზე, თუ მას აქვს მთავარი '============== countmeup: მაღალი B1 დრო დრო B1, 1, clacker's' s შეადარეთ მნიშვნელობა 'countmeuploop' ============ ===== countmeuploop: მაღალი B1 დრო B1, 1, clicker 'ამოწმებს დათვლის მნიშვნელობას largefig = clacker + 100 ადგენს მნიშვნელობას ბარიერისთვის, რომელიც იქნება 0-ზე დიდი, მაგრამ ნაკლები ვიდრე შესაძლო pin- მაღალი მნიშვნელობები < / strong> დიდი click + 1 დასძენს 1 მნიშვნელობას ყოველ ჯერზე დაბალიდან მაღალი გადასვლისას არის ჩაწერილი მაღალი B2 დრო B2, 1, დაწყება ითვლიან დაწყებას <10 მაშინ ათვლის შემდეგ> 0 თუ მას აქვს და ნომერი დარეკილია ის მიდის LED რუტინაზე> სხვაგვარად, თუ ნომერი არ არის დარეკილი მიდის mainclacker = clicker აღადგენს შედარების მნიშვნელობას მიმდინარე pin მნიშვნელობისთვის countmeuploop'no პაუზები საერთოდ !! გამეორებები ტოლია რამდენჯერ უნდა ანათებდეს LED მაშინ დაბრუნდება მთავარ რუტინაზე მოციმციმე

ნაბიჯი 6: ტესტირება

ტესტირება
ტესტირება

თუ თქვენ ყველაფერი ისე გააკეთეთ, როგორც მე, ის უნდა იმუშაოს (იხილეთ ვიდეო).

თუ ის არ მუშაობს, დარწმუნდით, რომ ყველაფერი სწორად შეაერთეთ და კოდი სწორად არის გადაწერილი. ასევე, დარწმუნდით, რომ თქვენი რეზონატორი (ან ბროლი) არის 20 MHZ. თუ თქვენ დაწერეთ თქვენი საკუთარი კოდი, დარწმუნდით, რომ არ არსებობს პაუზა რუტინაში, რომელიც ამოწმებს დაბალ-მაღალ გადასვლებს.

ნაბიჯი 7: გასცდით

წადი იქით
წადი იქით

გამოთვალეთ რაიმე სხვა გამოყენება მბრუნავი ციფერბლატისთვის, გარდა LED მოციმციმე.

გირჩევთ: