Სარჩევი:
- ნაბიჯი 1: მახასიათებლები
- ნაბიჯი 2: პასუხისმგებლობის უარყოფა და დამატებითი ინფორმაცია
- ნაბიჯი 3: ვალდებულებები
- ნაბიჯი 4: კომპონენტები (BOM)
- ნაბიჯი 5: ფუნქციის ანალიზი
- ნაბიჯი 6: პროგრამირება
- ნაბიჯი 7: შედუღება და შეკრება
- ნაბიჯი 8: ვიდეო
- ნაბიჯი 9: დასკვნა
ვიდეო: CheminElectrique (უნარების თამაში) - SRO2002: 9 ნაბიჯი
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:19
დღეს მე წარმოგიდგენთ თამაშის გაკეთებას, რომელიც მე გავაკეთე სკოლის ბოლო წლის წვეულებაზე ჩემი შვილისთვის. საფრანგეთში ჩვენ ვუწოდებთ ამ ფესტივალებს "კერმესს", არ ვიცი არსებობენ თუ არა ისინი სხვა ქვეყნებში და რას ეძახიან …
ამ წვეულებებზე ხშირად არის ერთი და იგივე თამაშები, რასაც მე კლასიკურ თამაშებს ვუწოდებ და წელს გადავწყვიტე შემექმნა უფრო კლასიკური თამაშებიდან ერთ -ერთი უფრო თანამედროვე ვერსია: "Chemin electrique" ან "Main chaude".
თამაშის მიზანი არის ძალიან მარტივი, არის მავთული, სადაც გადის ელექტრული დენი, შემდეგ გაქვს "ჯოისტიკი", რომელიც შედგება ლითონის წრისგან მის ბოლოს, რომელიც გადის ელექტრული მავთულის გარშემო და თამაშის მიზანი არის გადაკვეთა მავთული ერთი ბოლოდან მეორეზე შეხების გარეშე, წინააღმდეგ შემთხვევაში გამაფრთხილებელი შუქი და/ან ხმა ჩაქრება და თქვენ დაკარგავთ.
ტრადიციულად ამ თამაშის შესაქმნელად ელექტრონიკა ნამდვილად არ არის, მარტივი 12 ვ ბატარეა ნათურით და ელექტრო მავთული საკმარისია, მაგრამ მე მქონდა მაგარი იდეები, რომ თამაში უფრო თანამედროვე გამხდარიყო.
მოდით ვნახოთ რა დავამატე როგორც ფუნქციონალური!
ნაბიჯი 1: მახასიათებლები
როგორც უკვე ვთქვი, ეს თამაში უბრალოდ ანათებს შუქს, როდესაც მოთამაშე უნებლიედ ეხება მავთულს "ჯოისტიკით", ასევე საკმაოდ ხშირად ხდება, რომ თამაში გამოსცემს ხმას კონტაქტის დროს. თამაშის ჩემს ვერსიაში იქნება სულ 6 ბლოკი 4 LED- იდან (მწვანე-ყვითელი-ყვითელი-წითელი), რომელიც ერთდროულად ანათებს, ზარი, რომელიც გამოიღებს ხმას და ასევე ვიბრატორი ინტეგრირებული კონტროლერში, რომელიც გააქტიურდება როდესაც არის კონტაქტი ელექტრო მავთულსა და "ჯოისტიკს" შორის.
LED- ები თანდათან ანათებენ მწვანედან წითელს, იმისდა მიხედვით, თუ რამდენ ხანს გრძელდება კონტაქტი მავთულსა და კონტროლერს შორის.
მე ასევე დავამატე სირთულის დონის შერჩევა (ადვილი-ნორმალური-რთული), ასევე ვიბრატორისა და ხმის ჩართვის/გამორთვის შესაძლებლობა. ხმის მოცულობა ასევე რეგულირდება პოტენომეტრით.
სირთულის არჩევა ფაქტობრივად არის მეტ -ნაკლებად ხანგრძლივი შეფერხება იმ მომენტს შორის, როდესაც მავთულსა და ჯოისტიკს შორის არის კონტაქტი და იმ მომენტს შორის, როდესაც თამაში იწყებს ნათებას/დარეკვას/ვიბრაციას. მე დავადგინე წინასწარ განსაზღვრული დრო პროგრამირებით, მაგალითად მარტივ რეჟიმში თამაში ელოდება გაფრთხილებების დაწყებამდე 1 წამს, რთულ რეჟიმში კი გაფრთხილება დაუყოვნებლივ გააქტიურდება.
მე შევქმენი თამაში ისე, რომ მისი დემონტაჟი, საიმედოობა და, უპირველეს ყოვლისა, ის არ წარმოადგენს საფრთხეს იმ ბავშვებისთვის, ვინც გამოიყენებენ მას. მართლაც მას შემდეგ, რაც ელექტრული მავთული გადაკვეთს დენს და ის გაშიშვლებულია, უნდა დავრწმუნდე, რომ ის არ წარმოადგენს რაიმე საფრთხეს თამაშის მომხმარებლებისთვის.
ნაბიჯი 2: პასუხისმგებლობის უარყოფა და დამატებითი ინფორმაცია
უარი პასუხისმგებლობაზე:
თამაში იკვებება 4 ბატარეით 1.5 ვ, საერთო ძაბვით 6 ვ, ასევე ვზღუდავ დენს, რომელიც მავთულს კვეთს მხოლოდ რამდენიმე მიკროამპერზე. ჩვენ ვიმყოფებით უსაფრთხოების ძალიან დაბალი ძაბვის (SELV) სფეროში, მომხმარებლისთვის უკიდურესად დაბალი დენის მნიშვნელობით.
მაგრამ მე კარგად ვაზუსტებ, რომ ელექტრული დენის მნიშვნელობა არ არის უვნებელი, სუსტი დენი გარკვეულ შემთხვევებში შეიძლება საშიში იყოს ელექტროფიცირებული ადამიანისთვის. მე ბევრი კვლევა გავაკეთე ამის შესახებ ამ პროექტის შექმნისას და მიუხედავად იმისა, რომ არ არსებობს მეცნიერული კონსენსუსი იმ ლიმიტის მნიშვნელობის შესახებ, რომლის მიხედვითაც დენი არ ახდენს გავლენას ადამიანის სხეულზე, მიკროამპერის დენი, რომელიც კვეთს ელექტრო კაბელს, ძალიან ცოტა აქვს შანსი დააზარალებს ადამიანს.
მაგრამ ყურადღება, მე ვერ ვიქნები პასუხისმგებელი უბედური შემთხვევის შემთხვევაში! სიფრთხილე ყოველთვის უნდა იქნას მიღებული ცოცხალი ელექტრული გამტარების დამუშავებისას, თუნდაც ძალიან დაბალი დენის მნიშვნელობებით. მე მკაცრად გირჩევთ, მაქსიმალურად აცნობოთ საკუთარ თავს ელექტროენერგიის რისკების და სიფრთხილის ზომების შესახებ
დამატებითი ინფორმაცია:
ეს პროექტი ძალიან კარგად მუშაობს და აქვს ყველა ის თვისება, რაც მინდოდა, მაგრამ მას აქვს გარკვეული ხარვეზები. როდესაც ვქმნი ელექტრონულ პროექტს, ვცდილობ, რომ ყველაფერი მაქსიმალურად ოპტიმიზირდეს ღირებულების, კომპონენტების რაოდენობის, სივრცის თვალსაზრისით და განსაკუთრებით რომ მთლიანი მოქმედება იყოს რაც შეიძლება "ლოგიკური".
სანამ ამ პროექტს ვაკეთებდი და მისი დასრულების შემდეგ, ვფიქრობ, რომ არის ჩემი არჩევანი, რომელიც არ არის საუკეთესო, მაგრამ დროზე მომჭირდა, მე მხოლოდ 2 კვირა მქონდა, რომ ყველაფერი ნულიდან გამეკეთებინა (დიზაინი, პროგრამირება, კომპონენტების შეკვეთა, შექმნა სტრუქტურა და განსაკუთრებით ყველა ელემენტის შეკრება).
წარმოების საფეხურების გავლისას მივუთითებ იმას, რისი ოპტიმიზაციაც მე მგონია, თუ მომიწევს ამ თამაშის ხელახლა შექმნა. მაგრამ ვიმეორებ, რომ პროექტი საკმაოდ ფუნქციონალურია, მაგრამ მე ვარ პერფექციონისტი …
მე ასევე ვნანობ, რომ არ გადავიღე მეტი პროექტის სხვადასხვა ეტაპის ფოტოები, მაგრამ მირჩევნია მაქსიმალურად მივუძღვენი თავი პროექტს, რათა შევძლო მისი დროულად დასრულება.
მე კმაყოფილი ვარ ამ პროექტით, რადგან ეს იყო დიდი წარმატება ჩემი შვილის სკოლის წვეულებაზე, ასე რომ ვნახოთ რა არის მხეცის მუცელში;)
ნაბიჯი 3: ვალდებულებები
- უნდა იყოს ბატარეაზე (უსაფრთხოებისა და მობილობისთვის)- თამაში უნდა იყოს უსაფრთხო (მას გამოიყენებენ 2-დან 10 წლამდე ბავშვები)
- პარამეტრები ხელმისაწვდომი უნდა იყოს (ხმის/ვიბრატორის გააქტიურების არჩევანი და სირთულის არჩევანი)
- პარამეტრები უნდა იყოს მარტივი გასაგები და ადვილად მისაწვდომი (უნდა ვივარაუდოთ, რომ პირმა, რომელიც იზრუნებს თამაშზე წვეულების დროს, არაფერი იცის ელექტრონიკაში/ტექნიკაში)
- ხმა უნდა იყოს საკმარისად ხმამაღალი (თამაში გამოყენებული იქნება გარეთ საკმაოდ ხმაურიან გარემოში).
- სისტემა უნდა იყოს მაქსიმალურად მოსახსნელი შესანახად და ადვილად შესაცვლელი ფიზიკური ნაწილები (ჯოისტიკი, ელექტრო მავთული …)
- უნდა იყოს მიმზიდველი ბავშვებისთვის (ეს არის მთავარი მიზანი, რისთვისაც ისინი თამაშობენ …:))
ნაბიჯი 4: კომპონენტები (BOM)
საქმისთვის:- ხის ფიცარი
- ხატვა
- რამდენიმე ხელსაწყო საბურღი და მოსაჭრელად …
"ჯოისტიკისთვის":- 1 ვიბრატორი
- საკაბელო ჯეკი 3.5 (სტერეო)
- ჯეკის კონექტორი 3.5 (სტერეო)
- ელექტრო მავთული 2.5 მმ²
- პატარა PVC მილი
Ელექტრონული ნაწილები:
- 16F628A
- 12F675
- ULN2003A
- 2 x 2N2222A
- ზენერის დიოდი 2.7 ვ
- 12 ცისფერი LED
- 6 მწვანე LED
- 6 წითელი LED
- 12 ყვითელი LED
- 5 რეზისტორი 10K
- 2 რეზისტორი 4.7K
- 1 რეზისტორი 470 ოჰმი
- 6 რეზისტორი 2.2K
- 6 რეზისტორი 510 ოჰმი
- 18 რეზისტორი 180 ohm
- 1 პოტენომეტრი 1K
- 1 ON-OFF გადამრთველი
-2 ON-OFF-ON გადამრთველი
- 1 ზუზუნი
- 1 DC გამაძლიერებელი გადამყვანი
- ელექტრო მავთული 2.5 მმ²
- მამაკაცის 2 ბანანის კონექტორი
- 2 ბანანის კონექტორი ქალი
- ჯეკის კონექტორი 3.5 (სტერეო)
- დამჭერი 4 LR6 ბატარეისთვის
- ზოგიერთი PCB პროტოტიპის დაფა
ელექტრონული ინსტრუმენტები: - პროგრამისტმა შეიყვანოს კოდი მიკროჩიპში 16F628A და 12F675 (მაგ. PICkit 2) -
მე გირჩევთ გამოიყენოთ მიკროჩიპი MPLAB IDE (უფასოდ) თუ გსურთ კოდის შეცვლა, მაგრამ ასევე დაგჭირდებათ CCS შემდგენელი (გაზიარებული პროგრამა). თქვენ ასევე შეგიძლიათ გამოიყენოთ სხვა შემდგენელი, მაგრამ დაგჭირდებათ ბევრი ცვლილება პროგრამაში.
მაგრამ მე მოგაწვდით. HEX ფაილები, ასე რომ თქვენ შეგიძლიათ მათი ინექცია უშუალოდ მიკროკონტროლერებში.
ნაბიჯი 5: ფუნქციის ანალიზი
მიკროკონტროლერი 16F628A (Func1): ეს არის მთელი სისტემის "ტვინი", ეს არის ეს კომპონენტი, რომელიც ამოიცნობს პარამეტრების გადამრთველების პოზიციას, რომელიც ამოიცნობს არის თუ არა კონტაქტი "ჯოისტიკსა" და ელექტრო მავთულს შორის და რომელიც იწვევს გაფრთხილებები (სინათლე, ხმა და ვიბრატორი). მე ავირჩიე ეს კომპონენტი, რადგან მაქვს საკმაოდ დიდი მარაგი და იმიტომ, რომ მე მიჩვეული ვარ მასთან პროგრამირებას, და რადგან ამ პროექტის განსახორციელებლად დიდი დრო არ მქონია, მირჩევნია ავიღო რაიმე მასალა, რომელიც კარგად ვიცი.
კვების ინტერფეისი ULN2003A (Func2): ეს კომპონენტი ემსახურება როგორც კვების ინტერფეისს 16F628A- სა და სქემებს შორის, რომელიც მოიხმარს მეტ ენერგიას, ვიდრე მიკროკონტროლერს შეუძლია უზრუნველყოს (LED, ზუზუნი, ვიბრატორი).
ბუზერის კონტროლი (Func3):
PIC 16F628A ვერ უზრუნველყოფს საკმარის დენს ბუზერის გასაძლიერებლად, მით უმეტეს, რომ ზარი უნდა იკვებებოდეს გამაძლიერებელი გადამყვანის საშუალებით, რათა გაიზარდოს მისი ხმის სიმძლავრე.
მართლაც მას შემდეგ, რაც ასამბლეა მიეწოდება 6V- ს და რომ ზუზერს სჭირდება 12V მაქსიმალური ფუნქციონირებისთვის, ვიყენებ კონვერტორს კარგი ძაბვის მისაღებად. ასე რომ, მე ვიყენებ ტრანზისტორს, როგორც გადამრთველს (კომუტაციის რეჟიმი) ბუზერის დენის წყაროს გასაკონტროლებლად. კომპონენტი, რომელიც მე ავირჩიე არის კლასიკური 2N2222A, რომელიც ძალიან შესაფერისია ამ გამოყენებისთვის.
აქ არის ზუზერის მახასიათებლები: 12V 25mA, ეს ნიშნავს, რომ მას სჭირდება თეორიული ძალა P = UI = 12 x 25mA = 0.3W
ასე რომ, DC სიმძლავრის კონვერტორიდან არის 0.3W სიმძლავრის მოთხოვნა, DC გამაძლიერებელ მოდულს აქვს ეფექტურობა 95%, ასე რომ დაახლოებით 5% დანაკარგია. ამრიგად, კონვერტორის შეყვანისას საჭიროა მინიმალური სიმძლავრე 0.3W + 5% = 0.315W.
ახლა შეგვიძლია დავასკვნათ მიმდინარე Ic რომელიც გადაკვეთს ტრანზისტორ Q1- ს:
P = U * Ic
Ic = P / U
Ic = P / Vcc-Vcesat
Ic = 0, 315 / 6-0, 3
Ic = 52 mA
ჩვენ ახლა გამოვთვლით ბაზის რეზისტორს, რომელიც საშუალებას აძლევს ტრანზისტორი იყოს კარგად გაჯერებული:
Ibsatmin = Ic / Betamin
Ibsatmin = 52mA / 100
Ibsatmin = 0.5mA
Ibsat = K x Ibsatmin (მე ვირჩევ სურ-გაჯერების კოეფიციენტს K = 2)
Ibsat = 2 x Ibsatmin
Ibsat = 1 mA
R12 = Ur12 / Ibsat
R12 = Vcc - Vbe
R12 = (6 - 0.6) / 1 mA
R12 = 5.4K
ნორმალიზებული მნიშვნელობა (E12) R12 = 4.7K
ვიბრატორის კონტროლი (Func4):
რაც შეეხება ზუზერს, 16F628A ვერ უზრუნველყოფს ვიბრატორს საკმარის დენს, რომელიც მოითხოვს 70mA დენს, უფრო მეტიც ის მაქსიმალურად უნდა მიეწოდოს 3V ძაბვით. ამიტომ მე ავირჩიე ზენერის დიოდის გამოყენება ტრანზისტორთან ერთად ვიბრატორისთვის 2.7V ძაბვის რეგულატორის შესაქმნელად. ზენერ-ტრანზისტორული ასოციაციის მოქმედება მარტივია, ზენერი აფიქსირებს 2.7 ვ ძაბვას ტრანზისტორის ბაზაზე და ტრანზისტორი "ასლის" ამ ძაბვას და ამარაგებს ენერგიას.
დენი, რომელიც გადაკვეთს ტრანზისტორ Q2- ს, ამდენად ტოლია Ic = 70mA
ჩვენ ახლა გამოვთვლით ბაზის წინააღმდეგობას, რომელიც საშუალებას იძლევა ტრანზისტორი კარგად იყოს გაჯერებული:
Ibsatmin = Ic/Betamin
Ibsatmin = 70mA / 100
Ibsatmin = 0, 7mA
Ibsat = K x Ibsatmin (მე ვირჩევ სურ-გაჯერების კოეფიციენტს K = 2) Ibsat = 2 x Ibsatmin
Ibsat = 1, 4mA
მინიმალური დენი ზენერის დიოდში უნდა იყოს მინიმუმ Iz = 1mA მისი მუშაობისთვის, ასე რომ ჩვენ შეგვიძლია დავასკვნათ, რომ დენი გადის რეზისტორ R13– ში:
Ir13 = Ibsat + Iz
Ir13 = 1, 4mA + 1mA
Ir13 = 2, 4mA
იმის უზრუნველსაყოფად, რომ ზენერის დიოდის მიმდინარეობა ყოველთვის სწორი მოქმედების დიაპაზონშია, უსაფრთხოების ზღვარი მიიღება: Ir13_fixed = 5mA (ღირებულების სრულიად თვითნებური არჩევანი)
ახლა გამოვთვალოთ R13 მნიშვნელობა:
R13 = U13 / Ir13_ დაფიქსირდა
R13 = VCC-Vz / Ir13_ დაფიქსირდა
R13 = 6-2, 7 / 5mA
R13 = 660 ომი
ნორმალიზებული მნიშვნელობა (E12) R13 = 470 ohm
E12 სერიაში შემეძლო 560 ომის არჩევა, მაგრამ მე არ მქონდა ეს მნიშვნელობა, ამიტომ ავიღე წინა მნიშვნელობა…
შესაძლებელია ოპტიმიზაცია
პროექტის დიზაინის შექმნისას არ მიფიქრია ტრანზისტორის Vbe– ზე, ვიბრატორის სიმძლავრის ნაცვლად 2.7V მქონდა მხოლოდ 2.7V-0.6V = 2.1V. მე უნდა ავიღო მაგალითად 3.3 ვ ზენერი, ვიბრატორი იქნებოდა ცოტა უფრო ძლიერი, თუნდაც შედეგი საკმაოდ დამაკმაყოფილებელი იყოს, მე არ ვიყენებ ვიბრატორის მთელ ძალას…
გამაფრთხილებელი ები (Func5):
LED- ები განლაგებულია ვერტიკალურად, თითქოს მათ შექმნეს ლიანდაგი: წითელი
ყვითელი 2
ყვითელი 1
მწვანე
როდესაც კონტაქტი გამოვლენილია "ჯოისტიკსა" და ელექტრო მავთულს შორის, ისინი თანდათან ანათებენ მწვანედან წითელს.
LED- ები უკავშირდება VCC ჯგუფებს მათი ფერის მიხედვით:
- მწვანე LED- ების ყველა ანოდი ერთმანეთთან არის დაკავშირებული
- ყვითელი 1 შუქდიოდის ყველა ანოდი ერთმანეთთან არის დაკავშირებული
- ყვითელი 2 LED- ების ყველა ანოდი ერთმანეთთან არის დაკავშირებული
- წითელი LED- ების ყველა ანოდი ერთმანეთთან არის დაკავშირებული
შემდეგ მიკროკონტროლი ააქტიურებს მათ კათოდის დამიწებით ULN2003A- ს საშუალებით.
Შენიშვნა:
სქემატურზე არის თითოეული ფერის მხოლოდ ერთი LED, რომლის გვერდიც არის სიმბოლო "X6", რადგან მე ვიყენებ Cadence Capture- ის უფასო ვერსიას და შეზღუდული ვარ კომპონენტების მაქსიმალური რაოდენობით დიაგრამაზე, ასე რომ მე არ შემიძლია ყველა LEDS გამოჩნდება …
ბუზერის ხმის დონის მართვა (Func6):
ეს უბრალოდ პოტენომეტრია სერიაში ზუზუნით, რაც შესაძლებელს ხდის ხმის მოცულობის რეგულირებას.
"დეკორატიული" LED- ები (Func7 - სქემატური/გვერდი 2):
ამ LED- ების მიზანია შექმნას დევნა თამაშის გაფორმებისთვის. ისინი ანათებენ მარცხნიდან მარჯვნივ. სულ არის 12 ცისფერი LED: 6 კურსის დასაწყისში წარმოადგენს საწყის ხაზს და 6 კურსის ბოლოს წარმოადგენს ფინიშის ხაზს
მე ავირჩიე ამ LED- ების ჩვენების მულტიპლექსირება, რადგან მათ შეკვეთას გაცილებით მეტი ქინძისთავები დასჭირდებოდა (6 პინი მუტლიპლექსით, 12 პინი მულტიპლექსირების გარეშე).
უფრო მეტიც, მათ მონაცემთა ფურცელში მითითებულია, რომ Vf არის 4V, ამიტომ მე ვერ შევძლებ 2 LED- ის სერიას (VCC არის 6V) და ვერც პარალელურად დავდებ, რადგან მათ თეორიულად სჭირდებათ 20 mA და რომ მიკროკონტროლერს შეუძლია უზრუნველყოს მხოლოდ 25 mA მაქსიმალური პინზე, ამიტომ 40mA შეუძლებელი იქნებოდა.
მოკლედ რომ ვთქვათ, მე ვერ შევძელი LED- ის ასოციაციის შექმნა (სერიულად ან პარალელურად) და მე არ მქონდა საკმარისი მიკროკონტროლერის დამაგრება, რომ მაინც დამეძრა… ასე რომ, მე შევარჩიე გამოვიყენო 8 ქინძისთავის სხვა მიკროკონტროლერი (12F675), რათა შემეძლოს მათი მართვა. ამ მიკროკონტროლერის წყალობით მე ვაკონტროლებ LED- ების აქტივაციას მათი ანოდების მაღალი ლოგიკური დონის (VCC) დაყენებით და ვიყენებ PIC 16F628A და ULN2003A მულტიპლექსირების შესასრულებლად.
შესაძლებელია ოპტიმიზაცია:
მე მივხვდი ტესტების ჩატარებისას, რომ იგივე მიმდინარეობისთვის I = 20mA LED- ებს ჰქონდათ დიდი განსხვავება სიკაშკაშეს მათი ფერის მიხედვით. მაგალითად 20mA– ით ლურჯი LED– ები ბევრად უფრო ნათელი იყო ვიდრე მწვანე. მე არ მიმაჩნდა ესთეტიკურად, რომ ზოგიერთი LED- ები ბევრად უფრო ნათელი იყო, ვიდრე სხვები, ამიტომ მე ცვალებადობა შევიცვალე სერიაში ლურჯი LED- ებით, სანამ არ მივიღე იგივე მანათობელი ძალა, როგორც მწვანე LED- ები 20mA დენით.
და მივხვდი, რომ ლურჯ LED- ებს ჰქონდათ იგივე სიკაშკაშე, როგორც მწვანე LED- ებს მხოლოდ 1 mA დენით! რაც იმას ნიშნავს, რომ მე რომ ვიცოდე მანამდე შემეძლო ავირჩიო ლურჯი LED- ების სერია (2 ჯგუფში). და მე მხოლოდ 3 სხვა ქინძისთავები მჭირდებოდა 16F675A– ზე (რომლებიც ხელმისაწვდომია), ამიტომ არ მჭირდებოდა სხვა მიკროკონტროლერის დამატება, რომელიც ეძღვნებოდა ამ LED- ების მართვას.
მაგრამ დიზაინის ამ დროს მე არ ვიცოდი, ზოგჯერ არის უმნიშვნელო განსხვავება ტექნიკური დოკუმენტაციის მახასიათებლებსა და კომპონენტების რეალურ მახასიათებლებს შორის…
დენის შეზღუდვა (Func0):
მე ეს დიზაინი საერთოდ არ მქონდა დაგეგმილი დიზაინის დროს, მე დავამატე მხოლოდ პროექტის ბოლოს, როდესაც ყველაფერი უკვე დასრულებული იყო. დასაწყისში მე უბრალოდ ვუერთებდი VCC პირდაპირ ელექტრო მავთულს უბრალოდ დასაშლელი რეზისტორით, რათა შემეყვანა მიკროკონტროლის შეყვანა, რომელიც ამოიცნობს კონტაქტს მიწასთან.
მაგრამ, როგორც უკვე ვთქვი, ბევრი კვლევა ჩავატარე იმის გასარკვევად, შეიძლება თუ არა ელექტრული მავთულის გავლით მიმდინარე დენი საშიში, თუკი მას ექნება კონტაქტი მავთულსა და ადამიანის სხეულს შორის.
მე ვერ ვიპოვე ზუსტი პასუხი ამ თემაზე, ასე რომ მე მირჩევნია დავამატო წინააღმდეგობა VCC- სა და ელექტრო მავთულს შორის, რათა მაქსიმალურად შევამცირო მავთულის გადაკვეთა მიმდინარე.
ამიტომ მინდოდა მაღალი ღირებულების რეზისტორი დამეყენებინა, რათა დამემცირებინა დენი ყველაზე დაბალ მნიშვნელობამდე, მაგრამ რადგან მე უკვე დავამთავრე პროექტი და, შესაბამისად, ყველა შედუღებული და მავთულხლართული სხვადასხვა ბარათი, მე ვეღარ ამოვიღებ 10Kohm– ის გამაძლიერებელ რეზისტორს. აქედან გამომდინარე, მე უნდა ავირჩიო წინააღმდეგობის მნიშვნელობა, რათა მივიღო VCC– ს 2/3 BR0 პინზე (პინ 6 16F628A) ისე, რომ მიკროკონტროლერი აღმოაჩენს, თუმცა ეს არის მაღალი ლოგიკური დონე, როდესაც არის კონტაქტი ჯოისტიკსა და ელექტრო მავთულს შორის რა მე რომ ზედმეტი წინააღმდეგობა დავამატო, მე მექნებოდა რისკი, რომ მიკროკონტროლერი ვერ აღმოაჩენს ცვლილებას დაბალ ლოგიკურ მდგომარეობასა და მაღალ ლოგიკურ მდგომარეობას შორის.
ასე რომ, მე შევარჩიე 4.7K წინააღმდეგობის დამატება, რათა მივიღო ძაბვა დაახლოებით 4V პინზე, როდესაც ჯოისტიკსა და ელექტრო მავთულს შორის არის კონტაქტი. თუ ამას დავამატებთ ადამიანის კანის წინააღმდეგობას ელექტრო მავთულის ხელით შეხების შემთხვევაში, მაგალითად, სხეულში გამავალი დენი იქნება 1mA- ზე ნაკლები.
და მაშინაც კი, თუ ადამიანი შეეხო მავთულს, ის მხოლოდ კონტაქტში იქნება ბატარეების დადებით ტერმინალთან და არა დადებით და უარყოფით ტერმინალებს შორის, მაგრამ როგორც ვთქვი პასუხისმგებლობის შეზღუდვაში ყოველთვის ყურადღება მიაქციეთ რას აკეთებთ ელექტრული დენით.
შენიშვნა: მე დიდხანს ვყოყმანობდი ამ წინააღმდეგობის დამატებაში, რადგან მომხმარებლისათვის შესაძლო ელექტრული დენი (ელექტრო მავთულის საშუალებით) სუსტია და რომ ასამბლეა მიეწოდება ბატარეას მხოლოდ 6 ვ ძაბვით და რომ ეს შეიძლება იყოს ზედმეტად ზედმეტი შეზღუდეთ ბატარეებიდან დენი, მაგრამ რადგან ის განკუთვნილია ბავშვებისთვის, მირჩევნია რაც შეიძლება მეტი სიფრთხილის ზომების მიღება.
ნაბიჯი 6: პროგრამირება
პროგრამები დაწერილია C ენაზე MPLAB IDE– ით და კოდი შედგენილია CCS C შემდგენლით.
კოდი სრულად არის კომენტარირებული და გასაგებიც საკმაოდ მარტივია, მაგრამ მე სწრაფად ავხსნი 2 კოდის ძირითად ფუნქციებს (16F628A და 12F675).
პირველი პროგრამა -CheminElectrique.c- (16F628A):
LED მულტიპლექსირების მართვა: ფუნქცია: RTCC_isr ()
მე ვიყენებ მიკროკონტროლის ქრონომეტრს, რომელიც იწვევს ყოველ 2 ms გამტარიანობას, რაც საშუალებას გაძლევთ მართოთ LED- ების მულტიპლექსირება.
კონტაქტების გამოვლენის მენეჯმენტი:
ფუნქცია: void main ()
ეს არის მთავარი მარყუჟი, პროგრამა ამოიცნობს არის თუ არა კონტაქტი ჯოისტიკსა და ელექტრო მავთულს შორის და ააქტიურებს LED- ებს/ზუმერს/ვიბრატორს კონტაქტის დროის მიხედვით.
მართვის სირთულე:
ფუნქცია: ხანგრძლივი GetSensitivityValue ()
ეს ფუნქცია გამოიყენება გადამრთველის პოზიციის შესამოწმებლად, რომელიც საშუალებას იძლევა შეარჩიოს სირთულე და დააბრუნოს ცვლადი, რომელიც წარმოადგენს სიგნალიზაციის გააქტიურებამდე ლოდინის დროს.
სიგნალიზაციის პარამეტრების მართვა:
ფუნქცია: int GetDeviceConfiguration ()
ეს ფუნქცია გამოიყენება გადამრთველის პოზიციის შესამოწმებლად, რომელიც ირჩევს ზუმერისა და ვიბრატორის გააქტიურებას და აბრუნებს ცვლადს, რომელიც წარმოადგენს სიგნალიზაციას, რომელიც უნდა იყოს აქტიური.
მეორე პროგრამა -LedStartFinishCard.c- (12F675):
ლურჯი LED აქტივაციის მართვა: ფუნქცია: ბათილი მთავარი ()
ეს არის პროგრამის მთავარი მარყუჟი, ის ააქტიურებს LED- ებს ერთმანეთის მიყოლებით მარცხნიდან მარჯვნივ (დევნის შესაქმნელად)
ქვემოთ იხილეთ MPLAB პროექტის zip ფაილი:
ნაბიჯი 7: შედუღება და შეკრება
"ფიზიკური" ნაწილი: დავიწყე ყუთის შექმნით, ასე რომ მე დავჭრა ხის დაფები დაახლოებით 5 მმ სისქით ზედა და გვერდებზე და ავირჩიე დაფა 2 სმ სისქით, რომ ქვედა უფრო მეტი წონა ჰქონდეს და თამაში არ მოძრაობდეს.
მე შევიკრიბე დაფები ხის წებოთი ყოფნას შორის, არ დამიდია ხრახნები და ლურსმნები და ის მართლაც მყარია!
იმისათვის, რომ თამაში უფრო მიმზიდველი ყოფილიყო, ვიდრე უბრალო შეღებილი ყუთი, მე ვთხოვე ჩემს მეუღლეს, შეექმნა დეკორი ყუთის ზედა ნაწილში (რადგან მე ნამდვილად მაინტერესებს გრაფიკული დიზაინი …). მე ვთხოვე მას გრაგნილი გზის გაკეთება (მავთულთან კავშირი …) მოსახვევების კიდეებზე ქილებით/პანელით, რათა შემეძლოს ჩემი გამაფრთხილებელი LED- ების ჩართვა. დეკორაციების ლურჯი LED- ები იქნება დაწყების და დასრულების ხაზების მსგავსი. მან შექმნა "მარშრუტი 66" -ის სტილის პეიზაჟები, გზაზე, რომელიც კვეთს ერთგვარ უდაბნოს და რამოდენიმე შთაბეჭდილების შემდეგ LED- ების კარგი მდებარეობის საპოვნელად ჩვენ საკმაოდ კმაყოფილები ვართ შედეგით!
შემდეგ გავაღე ხვრელები ყველა კონექტორის, კონცენტრატორის და რა თქმა უნდა LED- ებისთვის.
ელექტრული მავთული გადაუგრიხეს ზიგ – ზაგების შესაქმნელად თამაშის სირთულის გასაზრდელად და თითოეული ბოლო ხრახნიან მამაკაცის ბანანის კონექტორში. კონექტორები შემდეგ იქნება დაკავშირებული ბანანის მდედრობითი კონექტორებით, რომლებიც მიმაგრებულია საცხოვრებლის საფარზე.
ელექტრონული ნაწილი:
მე ელექტრონული ნაწილი დავყავი რამდენიმე პატარა პროტოტიპის ბარათად.
Არიან, იმყოფებიან:
- ბარათი 16F628A- სთვის
- ბარათი 12F675
- 6 გამაფრთხილებელი LED ბარათი
- 4 ბარათი დეკორატიული LED- ებისთვის (საწყისი ხაზი და დასრულების ხაზი)
ყველა ეს ბარათი დავაფიქსირე ყუთის სახურავის ქვეშ და ბატარეის დამჭერი ჩავდე ყუთის ქვედა ნაწილში ზუზუნით და DC გამაძლიერებელი მოდულით.
ყველა ელექტრონული ელემენტი ერთმანეთთან არის დაკავშირებული მავთულის შეფუთვით, მე დავაჯგუფე ისინი მაქსიმალურად მათი მიმართულების მიხედვით და მე ერთმანეთთან ერთად გადავახვიე ისინი და დავაფიქსირე ცხელი წებოთი, რათა ისინი მაქსიმალურად "სუფთა" იყვნენ და განსაკუთრებით იქ, სადაც არის არ არსებობს ცრუ კონტაქტები ან მავთულები, რომლებიც გათიშულია. მართლაც ბევრი დრო დამჭირდა მავთულის სწორად გაჭრის/ზოლის/შედუღების/პოზიციონირებისთვის!
"ჯოისტიკის" ნაწილი:
ჯოისტიკისთვის მე ავიღე PVC მილის პატარა ნაჭერი (1.5 სმ დიამეტრი და სიგრძე 25 სმ). და შემდეგ გავამაგრე ქალი ჯეკის კონექტორი ასე:
- ტერმინალი, რომელიც დაკავშირებულია მავთულთან ჯოისტიკის ბოლოს (ContactWire სქემატურ რეჟიმში)
- ტერმინალი, რომელიც დაკავშირებულია ვიბრატორის პოზიტიურ ტერმინალთან (2A J1A კონექტორზე სქემატურად)
- ტერმინალი, რომელიც დაკავშირებულია ვიბრატორის უარყოფით ტერმინალთან (სქემატურად 1A J1A კონექტორზე)
შემდეგ მე გავაერთიანე მავთული, ვიბრატორი და ჯეკის კონექტორი მილის შიგნით და დავაფიქსირე ბუდე ცხელი წებოთი, რათა დავრწმუნდე რომ არაფერი მოძრაობს ჯოისტიკსა და სისტემის სხვა ნაწილს შორის ჯეკის კაბელის შეერთებისას.
ნაბიჯი 8: ვიდეო
ნაბიჯი 9: დასკვნა
ახლა პროექტი დასრულდა, მართლაც მაგარი იყო ამ პროექტის გაკეთება, მიუხედავად იმისა, რომ ვნანობ, რომ ამის გაკეთება ძალიან ცოტა დრო მქონდა. მან მომცა ახალი გამოწვევის აღების საშუალება;) ვიმედოვნებ, რომ ეს თამაში მრავალი წლის განმავლობაში იმუშავებს და ის გაამხიარულებს ბევრ ბავშვს, რომლებიც აღნიშნავენ სასწავლო წლის დასრულებას!
მე გთავაზობთ საარქივო ფაილს, რომელიც შეიცავს ყველა დოკუმენტს, რომელიც მე გამოვიყენე/შევქმენი პროექტისათვის.
არ ვიცი, სწორი იქნება თუ არა ჩემი წერის სტილი, რადგან ნაწილობრივ ვიყენებ ავტომატურ თარჯიმანს, რომ უფრო სწრაფად წავიდე და ვინაიდან მე არ ვლაპარაკობ მშობლიურ ენაზე, მე ვფიქრობ, რომ ზოგიერთი წინადადება ალბათ უცნაური იქნება მათთვის, ვინც ინგლისურად მშვენივრად წერს.
თუ თქვენ გაქვთ რაიმე შეკითხვა ან კომენტარი ამ პროექტთან დაკავშირებით, გთხოვთ შემატყობინოთ!
გირჩევთ:
DIY 37 Leds Arduino Roulette თამაში: 3 ნაბიჯი (სურათებით)
წვრილმანი 37 Leds Arduino Roulette თამაში: Roulette არის კაზინოს თამაში სახელწოდებით ფრანგული სიტყვისა, რომელიც ნიშნავს პატარა ბორბალს
დინო თამაში LDR– ის გამოყენებით: 5 ნაბიჯი
DINO GAME USING LDR: დინოზავრის თამაში, ასევე ცნობილი როგორც T-Rex Game და Dino Runner, არის ჩაშენებული ბრაუზერის თამაში Google Chrome ბრაუზერში. თამაში შეიქმნა სებასტიან გაბრიელის მიერ 2014 წელს და მასზე წვდომა შესაძლებელია Google Chrome– ზე ხაზგარეშე ხაზის გასწვრივ. A L
სიმონ თამაში - სახალისო თამაში!: 5 ნაბიჯი
სიმონ თამაში - სახალისო თამაში!: ცნობა: აქ გრძელი შაბათ -კვირის შემდეგ, თქვენ ნამდვილად უნდა შეეცადოთ დაასრულოთ ყველა ის ამოცანა და სამუშაო, რომელზედაც თქვენ ხართ პასუხისმგებელი. დროა ჩვენც მოვამზადოთ ტვინი, არა? გარდა იმ მოსაწყენი და უაზრო თამაშებისა, არის თამაში სახელწოდებით Simon Game
Aruduino LED თამაში სწრაფი დაწკაპუნებით ორი მოთამაშის თამაში: 8 ნაბიჯი
Aruduino LED თამაში სწრაფი დაწკაპუნებით ორი მოთამაშის თამაში: ეს პროექტი შთაგონებულია @HasonAlkeim– ით. თუ თქვენ მზად ხართ ღრმად შეხედოთ აქ არის ბმული, რომლის ნახვა შეგიძლიათ https://www.instructables.com/id/Arduino-Two-Player-Fast-Button-Clicking-Game/. ეს თამაში არის Alkeim's– ის გაუმჯობესებული ვერსია. Ეს არის
სამეურვეო თამაში სეგა სატურნის თამაში კომპიუტერზე: 6 ნაბიჯი
სამეურვეო თამაში Sega Saturn თამაში კომპიუტერზე: მე ვარ Sega Saturn კონსოლის დიდი ფანი და ბევრი თამაშის სათაურების კოლექცია. მე ფლობდი იაპონიის შავ და თეთრ მოდელს. და ორივე მწყობრიდან გამოდის. ასე რომ, მე მოუთმენლად ველოდები ინტერნეტში Sega Saturn- ის ემულატორს და შევხვდები GigiGigi Saturn- ს