Përmbajtje:

Krijoni një Niveli i Shpirtit Elektrik: 15 Hapa
Krijoni një Niveli i Shpirtit Elektrik: 15 Hapa

Video: Krijoni një Niveli i Shpirtit Elektrik: 15 Hapa

Video: Krijoni një Niveli i Shpirtit Elektrik: 15 Hapa
Video: Мухоморный 🍄Трип Фиксирую на камеру. Очутился между двух миров🌍 Реальным и Мухоморным🙏 2024, Korrik
Anonim
Krijoni një Nivel të Shpirtit Elektrik
Krijoni një Nivel të Shpirtit Elektrik

Përdoreni këtë nivel shpirtëror për të shfaqur shpejt dhe lehtë pjerrësinë e çdo objekti të bashkangjitur!

Krijuar nga Kaitlyn nga Instituti Raffles.

Hapi 1: Qëllimet

Mësoni të lexoni pjerrësinë me përshpejtuesin e integruar të mikro: bitit.

Mësoni të punoni me mikro: Ekran LED 5x5 të bitit!

Hapi 2: Materialet

1 x mikro BBC: pak

1 x kabllo Micro USB

2 x bateri AA

1 x Paketë me dy bateri AA

Hapi 3: Kodimi paraprak: Lidhni mikroin tuaj: Bit

  1. Lidhni mikro BBC: bit me kompjuterin tuaj duke përdorur një kabllo mikro USB.
  2. Hyni në redaktorin javascript për mikro: bit në makecode.microbit.org.

Hapi 4: Hapi 0: Rrjedha e Kodit

Para se të fillojmë të shkruajmë kodin, duhet të vendosim se çfarë duam të arrijmë me programin dhe në çfarë rendi duhet të funksionojë secili komponent.

Për nivelin shpirtëror elektrik, hapat që do të ndërmarrim në kodin për çdo lak janë:

  • Lexoni leximet e pjerrësisë nga përshpejtuesi.
  • Shndërroni leximet e pjerrësisë në nivelet e pjerrësisë për t'u shfaqur në matricën LED.
  • Kontrolloni për ndryshimin në leximet e nivelit të pjerrësisë nga laku i mëparshëm.
  • Krijoni një grup koordinatash LED për raste dhe drejtime të ndryshme të pjerrësisë.
  • Komplotoni koordinatat LED në matricën LED mikro: bit.

Disa funksione shtesë që duhet të përfshijmë janë:

  • Kalibrimi për pozicionin fillestar të pjerrësisë.
  • Kthimi në kalibrimin e paracaktuar të pjerrësisë.

Hapi 5: Hapi 1: Përcaktimi i variablave

Ne fillojmë duke përcaktuar variablat e nevojshëm siç tregohet. Ndarja e disa variablave janë:

  • tiltList: Grup që ruan shtrirjen e pjerrësisë nga vlerat 0-4 sipas rendit [Majtas, Djathtas, Përpara, Prapa]
  • tiltBoundary: Kufiri i nivelit të parë të pjerrësisë midis 0 (pa pjerrësi) dhe 1 (pjerrësi e lehtë)
  • prevState: Array që ruan vlerat e pjerrësisë së mikro: bit nga një lak i mëparshëm në të njëjtin format si tiltList, e përdorur për të kontrolluar ndryshimin e pjerrësisë midis përsëritjeve
  • ledPlotList: Vargjet e koordinatave të komplotit led në formën (x, y). Për të përcaktuar një grup, ne përdorim numrin e tipit për të treguar një grup të futur të ndryshoreve të llojit: numër.

Hapi 6: Hapi 2: Shndërroni vlerat e pjerrësisë në nivele

Meqenëse matrica LED 5x5 mund të shfaqë aq shumë informacion, vlerat aktuale të pjerrësisë nuk do të jenë të dobishme për shfaqje.

Në vend të kësaj, një funksion tiltExtent () merr parametrin num, i cili i referohet vlerës së pjerrësisë nga përshpejtuesi, dhe i konverton këto vlera të pjerrësisë (num) në nivelet e pjerrësisë nga 0 në 4.

0 tregon asnjë pjerrësi në drejtimin e dhënë dhe 4 tregon pjerrësi shumë të madhe, ndërsa -1 kthehet kur ka një gabim.

Këtu, tiltBoundary dhe tiltSensitivity përdoren si vlera kufitare midis niveleve të pjerrësisë.

Hapi 7: Hapi 3: Përpiloni nivelet e pjerrësisë

Dy funksionet checkRoll () dhe checkPitch () shkruajnë nivelet e pjerrësisë të marra nga tiltExtent () në tiltList për akset e rrotullimit (majtas-djathtas) dhe hapit (përpara-prapa) përkatësisht.

Para përdorimit të vlerave të pjerrësisë, ne i kalibrojmë ato duke përdorur një vlerë të zeruar si për katran (zeroPitch) ashtu edhe për rrotull (zeroRoll) të marra nga një funksion kalibrimi i shkruar më vonë.

Meqenëse leximet e akcelerometrit janë negative për pjerrësinë e majtë dhe të përparme, ne duhet të përdorim funksionin Math.abs () për të marrë modulin e vlerës negative që do t'i jepet funksionit tiltExtent () si një parametër për këto dy drejtime.

Hapi 8: Hapi 4: Shkruani funksionet LEDPlotList

Pasi të kemi marrë nivelet e pjerrësisë në tiltList, tani mund të shkruajmë funksionet e komplotit led për rastet e ndryshme që mund të lindin, domethënë

  • plotSingle (): Anojeni vetëm në një drejtim të vetëm, duke marrë shtrirjen e pjerrësisë në drejtimin e dhënë si parametër.
  • plotDiagonal (): Anoni në dy drejtime të së njëjtës madhësi, duke marrë shtrirjen e pjerrësisë në secilin drejtim si parametër.
  • plotUnequal (): Tilt në dy drejtime të madhësive të ndryshme, duke marrë shtrirjen e anim në çdo drejtim si parametër. Përdor plotDiagonal () së pari dhe shton në grupin ledPlotList më pas.

Këto funksione komplotuese shkruajnë një grup koordinatash led në ledPlotList që do të vizatohen më vonë.

Hapi 9: Hapi 5: Komplotoni matricën LED për çdo rast

Duke përdorur funksionet e vizatimit nga tre rastet në hapin 4, tani mund të vizatojmë matricën aktuale LED për kombinimet e ndryshme të mundshme të niveleve të pjerrësisë. Meqenëse tre funksionet në hapin 4 nuk diskriminojnë me drejtimin, ne duhet të rregullojmë vlerat e koordinatave të kaluara në matricën LED për të vizatuar LED -të në drejtimet e duhura.

PlotResult () përmban kushte të shumta nëse kontrolloni llojin e pjerrësisë dhe vizatoni matricën LED në përputhje me rrethanat duke përdorur led.plot (x, y). Kombinimet e mundshme të pjerrësisë janë:

Drejtimi i vetëm: Vetëm majtas ose vetëm djathtas

Drejtimi i vetëm: Vetëm përpara ose vetëm prapa

Dy drejtime: Përpara-majtas ose Prapa-majtas

Dy drejtime: Përpara-djathtas ose Prapa-djathtas

Shënim: Për pjerrësi në dy drejtime, secili kombinim mund të ketë madhësi të njëjtë ose të ndryshme (kontrolluar duke krahasuar maxX dhe maxY), dhe kështu vizatohet duke përdorur përkatësisht plotDiagonal () ose plotUnequal ().

Hapi 10: Hapi 6: Shkruani Funksionet e Kalibrimit

Pasi të kemi përfunduar pjesën më të madhe të kodit, tani shtojmë në funksionet calibTilt () dhe resetTilt ().

calibTilt () lejon përdoruesit të ulin pjerrësinë në zero në pozicionin aktual të mikro: bitit

resetTilt () rivendos kalibrimin e bordit në gjendjen e tij origjinale.

Hapi 11: Hapi 7: Shkruani funksionin e gjendjes

Ne shtojmë një funksion të thjeshtë checkState () për të kontrolluar nëse nivelet e pjerrësisë kanë ndryshuar nga një përsëritje e mëparshme.

Nëse nuk ka ndryshim në nivelet e pjerrësisë nga një përsëritje e mëparshme, dmth. GjendjaChange == 0, ne mund të kalojmë drejtpërdrejt në përsëritjen tjetër dhe të kalojmë vizatimin e matricës LED, duke zvogëluar llogaritjen e nevojshme.

Hapi 12: Hapi 8: Vendosja e të gjitha së bashku Pjesa 1

Tani më në fund mund t'i vendosim të gjitha funksionet e nevojshme në lakun e pafund të mikro: bitit për ta ekzekutuar atë në mënyrë të përsëritur.

Së pari, ne vendosim butonin A dhe B në mikro: bit në funksionet calibTilt () dhe resetTilt () përkatësisht duke përdorur input.onButtonPpress (), dhe vendosim një shënim në matricën LED kur kalibrimi të përfundojë.

Hapi 13: Hapi 9: Vendosja e të gjitha së bashku Pjesa 2

Më pas ekzekutoni funksionet e nevojshme sipas rrjedhës sonë të kodit në Hapin 0 dhe kontrolloni për një ndryshim të gjendjes (që do të thotë se ka një ndryshim në pjerrësinë e mikro: bitit që nga përsëritja e fundit).

Nëse ka një ndryshim në nivelet e pjerrësisë, dmth. Gjendja Ndrysho == 1, kodi do të përditësojë gjendjen e mëparshme në nivelet e reja të pjerrësisë dhe do të vendosë gjendjenKy ndryshim në 0 për përsëritjen e ardhshme dhe do të vizatojë nivelet e pjerrësisë së përditësuar në matricën LED duke përdorur PlotResult ().

Hapi 14: Hapi 10: Asambleja

Shkarkoni kodin e përfunduar në mikro: bitin tuaj.

Bashkangjiteni mikro: bitin dhe baterinë tuaj në mënyrë të sigurt në çdo objekt dhe është gati për përdorim!

Mbresëlënës

Argëtohuni me nivelin tuaj shpirtëror elektrik! Dhe ndërsa jeni gati, pse të mos përpiqeni të zgjeroni aftësitë e sensorit të pjerrësisë ose madje ta ktheni atë në një lojë?

Ky artikull është nga TINKERCADEMY.

Hapi 15: Burimi

Ky artikull është nga:

Nëse keni ndonjë pyetje, mund të kontaktoni : [email protected].

Recommended: