Სარჩევი:

შექმენით ელექტრო სულის დონე: 15 ნაბიჯი
შექმენით ელექტრო სულის დონე: 15 ნაბიჯი

ვიდეო: შექმენით ელექტრო სულის დონე: 15 ნაბიჯი

ვიდეო: შექმენით ელექტრო სულის დონე: 15 ნაბიჯი
ვიდეო: ეკჰარტ ტოლე - "აწმყოს ძალა" - აუდიო წიგნი - Audible Read Along 2024, ნოემბერი
Anonim
შექმენით ელექტრო სულის დონე
შექმენით ელექტრო სულის დონე

გამოიყენეთ ეს სულიერი დონე, რომ სწრაფად და მარტივად აჩვენოთ მიმაგრებული ნებისმიერი ობიექტის დახრილობა!

შექმნილია ქეითლინის მიერ რაფლის ინსტიტუტიდან.

ნაბიჯი 1: მიზნები

ისწავლეთ მიკრო: ბიტის ჩამონტაჟებული ამაჩქარებლის წაკითხვა.

ისწავლეთ მიკრო მუშაობა: ბიტის 5x5 LED ეკრანი!

ნაბიჯი 2: მასალები

1 x BBC მიკრო: ბიტი

1 x მიკრო USB კაბელი

2 x AA ბატარეები

1 x ორმაგი AA ბატარეის პაკეტი

ნაბიჯი 3: წინასწარი კოდირება: შეაერთეთ თქვენი მიკრო: ბიტი

  1. შეაერთეთ BBC მიკრო: ბიტი თქვენს კომპიუტერს მიკრო USB კაბელის გამოყენებით.
  2. წვდომა javascript რედაქტორზე მიკრო: bit- ზე makecode.microbit.org.

ნაბიჯი 4: ნაბიჯი 0: კოდის ნაკადი

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

ელექტრული სულის დონისთვის, ნაბიჯები, რომელსაც ჩვენ გადავიღებთ კოდში თითოეული მარყუჟისთვის არის:

  • წაიკითხეთ დახრის კითხვები ამაჩქარებელიდან.
  • გადაიყვანეთ დახრის საკითხები დახრის დონეზე, რათა გამოჩნდეს LED მატრიცაზე.
  • შეამოწმეთ წინა მარყუჟის დახრის დონის კითხვის ცვლილება.
  • შექმენით LED კოორდინატების მასივი სხვადასხვა დახრის შემთხვევებისა და მიმართულებებისათვის.
  • გამოსახეთ LED კოორდინატები მიკრო: ბიტ LED მატრიცაზე.

რამდენიმე დამატებითი ფუნქცია, რომელიც უნდა შევიტანოთ არის:

  • კალიბრაცია საწყისი დახრის პოზიციისთვის.
  • ბრუნდება ნაგულისხმევი დახრის კალიბრაციაზე.

ნაბიჯი 5: ნაბიჯი 1: ცვლადების განსაზღვრა

ჩვენ ვიწყებთ ცვლადების განსაზღვრით, როგორც ეს ნაჩვენებია. რამდენიმე ცვლადის გაყოფა არის:

  • tiltList: მასივი, რომელიც ინახავს დახრის ხარისხს 0-4 მნიშვნელობების მიხედვით (მარცხნივ, მარჯვნივ, წინ, უკან)
  • tiltBoundary: საზღვარი პირველი დახრის დონეს შორის 0 (დახრის გარეშე) და 1 (მცირე დახრილობა)
  • prevState: მასივი, რომელიც ინახავს მიკრო დახრის მნიშვნელობებს: ბიტი წინა მარყუჟიდან იმავე ფორმატში, როგორც tiltList, რომელიც გამოიყენება გამეორებებს შორის დახრის ცვლილების შესამოწმებლად
  • ledPlotList: ნაკვეთი led კოორდინატთა მასივები სახით (x, y). მასივის განსაზღვრისათვის, ჩვენ ვიყენებთ ტიპის ნომერს , რათა აღვნიშნოთ ტიპის ცვლადების წყვეტილი მასივი: ნომერი.

ნაბიჯი 6: ნაბიჯი 2: გადაიყვანეთ დახრის მნიშვნელობები დონეებზე

ვინაიდან 5x5 LED მატრიცას შეუძლია მხოლოდ ამდენი ინფორმაციის ჩვენება, დახრის ფაქტობრივი მნიშვნელობები არ გამოდგება ჩვენებისათვის.

ამის ნაცვლად, ფუნქცია tiltExtent () იღებს პარამეტრს num, რომელიც ეხება ამაღლების მნიშვნელობის დახრის მნიშვნელობას და ამ დახრის მნიშვნელობებს (რიცხვს) აქცევს დახრის დონემდე 0 -დან 4 -მდე.

0 მიუთითებს მოცემულ მიმართულებით დახრილობაზე და 4 მიუთითებს ძალიან დიდ დახრილობაზე, ხოლო -1 ბრუნდება შეცდომის დროს.

აქ tiltBoundary და tiltSensitivity გამოიყენება როგორც სასაზღვრო მნიშვნელობები დახრის დონეს შორის.

ნაბიჯი 7: ნაბიჯი 3: შეადგინეთ დახრის დონეები

ორი ფუნქცია checkRoll () და checkPitch () ჩაწერს დახრის დონეს მიღებული tiltExtent ()-დან tiltList– ში როლისთვის (მარცხნივ – მარჯვნივ) და მოედანზე (წინ – უკან) ღერძებზე.

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

ვინაიდან აქსელერომეტრის მაჩვენებლები უარყოფითია როგორც მარცხენა, ისე წინ გადახრისათვის, ჩვენ უნდა გამოვიყენოთ Math.abs () ფუნქცია, რათა მივიღოთ tiltExtent () ფუნქციისათვის მინიჭებული უარყოფითი მნიშვნელობის მოდული, როგორც პარამეტრი ამ ორი მიმართულებისათვის.

ნაბიჯი 8: ნაბიჯი 4: ჩაწერეთ LEDPlotList ფუნქციები

TiltList– ში დახრილობის დონის მოპოვების შემდეგ ჩვენ შეგვიძლია დავწეროთ led გრაფიკული ფუნქციები სხვადასხვა შემთხვევებისათვის, რომლებიც შეიძლება წარმოიშვას, კერძოდ

  • plotSingle (): დახრილობა მხოლოდ ერთი მიმართულებით, მოცემული მიმართულებით დახრის მოცულობის გათვალისწინებით, როგორც პარამეტრი.
  • plotDiagonal (): დახრილობა ერთი და იმავე სიდიდის ორი მიმართულებით, ორივე მიმართულებით პარამეტრის მიხედვით დახრის ხარისხი.
  • plotUnequal (): დახრილი ორი სიდიდის ორი მიმართულებით, თითოეული მიმართულებით დახრის მოცულობის გათვალისწინებით, როგორც პარამეტრი. პირველად იყენებს plotDiagonal () - ს და შემდეგ ამატებს ledPlotList მასივს.

ეს შეთქმულების ფუნქციები წერს led კოორდინატების მასივს ledPlotList– ში, რომელიც მოგვიანებით უნდა იყოს გამოსახული.

ნაბიჯი 9: ნაბიჯი 5: შეადგინეთ LED მატრიცა თითოეული შემთხვევისთვის

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

PlotResult () შეიცავს მრავალ პირობას, რომელიც ამოწმებს დახრის ტიპს და შესაბამისად ადგენს LED მატრიცას led.plot (x, y) გამოყენებით. დახრის შესაძლო კომბინაციებია:

ერთი მიმართულება: მხოლოდ მარცხნივ ან მხოლოდ მარჯვნივ

ერთი მიმართულება: მხოლოდ წინ ან მხოლოდ უკან

ორი მიმართულება: წინ-მარცხნივ ან უკან-მარცხნივ

ორი მიმართულება: წინ-მარჯვნივ ან უკან-მარჯვნივ

შენიშვნა: ორი მიმართულებით დახრისთვის, თითოეულ კომბინაციას შეიძლება ჰქონდეს იგივე ან განსხვავებული სიდიდე (შემოწმებულია maxX და maxY– ს შედარების გზით) და, შესაბამისად, ნაჩვენებია plotDiagonal () ან plotUnequal () შესაბამისად.

ნაბიჯი 10: ნაბიჯი 6: დაწერეთ კალიბრაციის ფუნქციები

კოდის ძირითადი ნაწილის დასრულების შემდეგ, ჩვენ დავამატებთ calibTilt () და resetTilt () ფუნქციებს.

calibTilt () მომხმარებლებს საშუალებას აძლევს მიკრო: ბიტის ამჟამინდელ პოზიციაზე დახრის ნული

resetTilt () აღადგენს დაფის კალიბრაციას პირვანდელ მდგომარეობაში.

ნაბიჯი 11: ნაბიჯი 7: ჩაწერეთ სახელმწიფო ფუნქცია

ჩვენ ვამატებთ უბრალო ფუნქციას checkState (), რათა შევამოწმოთ შეიცვალა თუ არა დახრის დონე წინა გამეორებისგან.

თუ არ არის შეცვლილი დახრის დონეები წინა გამეორებიდან, ანუ stateChange == 0, ჩვენ შეგვიძლია პირდაპირ გადავიდეთ შემდეგ გამეორებაზე და გამოვტოვოთ LED მატრიცის შედგენა, რაც ამცირებს გამოთვლას.

ნაბიჯი 12: ნაბიჯი 8: ყველაფერი ერთად ერთად ნაწილი 1

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

პირველ რიგში, ჩვენ ვაყენებთ ღილაკს A და B მიკროზე: ბიტი calibTilt () და resetTilt () შესაბამისად, შესაბამისად input.onButtonPressed () გამოყენებით და ვხატავთ LED მატრიცაზე კალიბრაციის დასრულების შემდეგ.

ნაბიჯი 13: ნაბიჯი 9: ყველაფერი ერთად ერთად ნაწილი 2

შემდეგი გაუშვით საჭირო ფუნქციები ჩვენი კოდის ნაკადის მიხედვით ნაბიჯი 0 და შეამოწმეთ მდგომარეობის ცვლილება (რაც იმას ნიშნავს, რომ არსებობს ცვლილება მიკრო: bit ბოლო განმეორებიდან).

თუ შეიცვლება დახრის დონეები, ანუ stateChange == 1, კოდი განაახლებს prevState ახალ დახრის დონეს და დააყენებს მდგომარეობას შეცვლის 0 -ს მომდევნო გამეორებისთვის და ასახავს განახლებული დახრის დონეს LED მატრიცაზე PlotResult () - ის გამოყენებით.

ნაბიჯი 14: ნაბიჯი 10: შეკრება

შეავსეთ დასრულებული კოდი თქვენს მიკრო: ბიტზე.

მიამაგრეთ თქვენი მიკრო: ბიტი და ბატარეის პაკეტი უსაფრთხოდ ნებისმიერ ობიექტზე და ის მზადაა გამოსაყენებლად!

გასაოცარია

გაერთეთ თქვენი ელექტრული სულისკვეთებით! და სანამ ამას აკეთებთ, რატომ არ ცდილობთ გააფართოვოთ დახრის სენსორის შესაძლებლობები ან თუნდაც ის თამაშად აქციოთ?

ეს სტატია არის TINKERCADEMY– დან.

ნაბიჯი 15: წყარო

ეს სტატია არის:

თუ თქვენ გაქვთ რაიმე შეკითხვა, შეგიძლიათ დაუკავშირდეთ : [email protected].

გირჩევთ: