Innehållsförteckning:
- Steg 1: Material som används
- Steg 2: Installera enheten, installation av skriptet
- Steg 3: Micro Python -skripten
- Steg 4: En inkapslad, väderbeständig version
- Steg 5: Ett MakeCode -skript
Video: En mikro: bit riktningsindikator för cykelhjälmar: 5 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:45
Uppdaterad version 2018-maj-12
Nedan får du instruktioner om hur du bygger en enkel mikro: bitbaserad riktningsindikator för cykelhjälmar (eller liknande). Den använder accelerometrarna som är inbyggda i micro: bit som kontroller.
De tillhandahållna mikro -python -skripten är optimerade för mu, en mikro -python -editor med ett specifikt "läge" för micro: bit. I den senaste versionen kommer den med en seriell plotter och jag ville först först förstå hur man använder den för att visa uppmätta värden (tips: skicka data som dubbletter: skriv ut ((x, y, z)) med dubbla parenteser).
Fyra mönster visas på micro: bitars 5x5 LED -display:
- I viloläge visas ett fint, randomiserat mönster. För närvarande hittar du manus för tre olika mönster, ett "eldfluga", ett "regn" och ett "fallande stjärna" -mönster. Ta en titt och välj den du gillar bäst. Justera gärna parametrarna, för att göra dem mer eller mindre täta eller springa snabbare eller långsammare.
- Sedan finns det "sväng höger" eller "sväng vänster" indikatorer i form av rörliga pilar. De aktiveras genom att luta huvudet åt vänster eller höger genom att trycka på knapparna på micro: bit. I den externa knappversionen av manuset aktiverar du genom att trycka på en av de externa knapparna som är anslutna till stift 0 och 1.
- Om du böjer huvudet bakåt eller om båda knapparna på micro: bit aktiveras samtidigt visas ett "varning" eller "bryt" -mönster.
Denna mönstervisande mikro: bit kan användas som en riktningsindikator t.ex. för cykling, skridskoåkning eller skidåkning. Fixa micro: bit på din hjälm och kontrollera den med huvudets position. Eller fixa det på din cykel, ladda det externa knappskriptet och styr det med två externa omkopplare anslutna till mikro: bit via några kablar.
För dem som arbetar med MakeCode lade jag till ett blockskript i det sista steget, som kan kopieras direkt till micro: bit. Det är mindre snyggt men ger den grundläggande funktionaliteten utan att behöva installera mu.
Kom ihåg:
- Även om detta projekt kan vara till hjälp för din säkerhet, se till att du alltid ger tydliga indikationer på vart du vill köra med händer och armar.
- Konceptet har inte testats utförligt på vägen och var endast avsett som ett exempel på programmering. Använd den på egen risk.
- Använd grundversionen endast under torra väderförhållanden, eftersom micro: bit och batteri eller LiPo -förpackningar är känsliga för fukt. Det finns en beskrivning hur man bygger en inkapslad version längre ner nedan.
Steg 1: Material som används
En mikro: bit. En dator med mu -redigeraren installerad. Batteripaket eller LiPo -paket för mikro: bit. En cykelhjälm. Jag använde en som tidigare hade en LED-bakgrundsbelysning. En bit av 3 mm polypropenpapp, som avståndsstycke mellan micro: bit och hjälm. Dubbelsidig dubbeltape för att fixa micro: bit till distansstycket och detta till hjälmen. tejp, för att fixa micro: bit och batteripaket i hjälmen.
För en inkapslad version: en 59 x 59 x 30 mm klar plastlåda, Modulor, Berlin: 0, 70 Euro Kitronic MI: kraftkort, 5 GBP dubbelhäftande tejp och en bit av PP -plattorna
För den externa switchens version (detaljerna visas inte här): Bygelkablar och två switchar, två vita lysdioder, ett 10 kOhm -motstånd, ett brödbräda. Krokodilklämmor. M3 mässingsskruvar (20 mm), M3 nylonmuttrar; fyra vardera, för stift 0, stift 1, 3V och mark. Placera skruvarna genom hålen i micro: bitens kretskort och fixera med skruvarna. De förenklar att fästa krokodilklämmor.
Steg 2: Installera enheten, installation av skriptet
- Installera mu -redigeraren på din dator.
- Anslut micro: bit till datorn.
- Ladda in önskat skript.
- Flasha skriptet till micro: bit.
- För accelerometer (hjälm) manus, fixa micro: bit och batteripaket till hjälmen. Jag använde en liten bit plastkartong, ett material du kan hitta i din järnaffär, som distansstycke och dubbelsidig kanal tejp på båda sidor för att fixa micro: bit till hjälmen. Fixera sedan micro: bit och batteripaket med gaffatejp på hjälmen.
- För att få vädret att bevisa, ta en titt på ett senare steg.
- Om det behövs justerar du tröskelvärdena x och z enligt dina behov.
När det gäller det knappdrivna skriptet och om du gillar att använda externa knappar, ansluter brädbrädans strömskenor till Gnd- och 3V-portarna på micro: bit. Anslut knapparna till Gnd- och Pin0- och Pin1 -portarna
Steg 3: Micro Python -skripten
Bifogad hittar du mikro -python -skripten för mu och micro: bit.
Det finns fyra skript: ett som styr bildskärmen med hjälp av inbyggda och externa knappar, tre med hjälp av inbyggda accelerometrar för mikro: bit. De har olika slumpmässiga mönstergeneratorer för viloläget.
Det finns ett "eldfluga" -mönster, ett "regn" -mönster och ett "fallande stjärna" -mönster. Firefly/accelerometer -skriptet listas nedan. Det finns också ett skript som har alla tre mönstren och kör dem i en randomiserad ordning, med ett nytt val varje gång en indikator hade aktiverats.
Accelerometervärdena skickas till datorn och kan läsas via seriemonitorn för mu -redigeraren eller visas på serieplottern.
Det är enkelt att ändra parametrar för att justera skripten efter dina krav och preferenser.
'' 'Vinkel/accelerometer eller inbyggda knappar kontrollerad version. 2018-maj-07 Ett enkelt skript som producerar ett "firefly" -mönster i viloläge, vänster eller höger rörliga pilar om m-biten vrids i motsvarande riktning, eller knapparna A eller B trycks in eller ett brytindikator/varningsmönster om båda knapparna trycks ned eller m-biten är böjd bakåt. Kan användas till cykelhjälmens bakgrundsbelysning eller liknande. Bygg för mu micro python-redigeraren av Dr H. https://www.instructables.com/id/A-Microbit-Direction-Indicator-for-Biking-Helmets/ '' 'från mikrobitimport * import random random.seed (3433) # ange ditt lyckonummer de = 100 # set display fördröjningstid i ms ff1 = 100 # set firefly delay time 1 in ms ff2 = 50 # set firefly delay time 2 in ms fn = 3 # set antal firefly seed -punkter thesh_z = 80 # tröskelvärde för bakåt thresh_x = 350 # tröskelvärde för sidled # definiera bilder image_l_1 = Bild ("00900:" "09000:" "97531:" "09000:" "00900") image_l_2 = Bild ("09000:" "90000:" "75319:" "90000:" "09000") image_l_3 = Bild ("90000:" "00009:" "53197:" "00009:" "90000") image_l_4 = Bild ("00009:" "00090: "" 31975: "" 00090: "" 00009 ") image_l_5 = Bild (" 00090: "" 00900: "" 19753: "" 00900: "" 00090 ") image_r_1 = Bild (" 00900: "" 00090: " "13579:" "00090:" "00900") image_r_2 = Bild ("00090:" "00009:" "91357:" "00009:" "00090") image_r_3 = Bild ("00009:" "90000:" "79135: "" 90000: "" 00009 ") image_r_4 = Bild ("90000:" "09000:" "57913:" "09000:" "90000") image_r_5 = Bild ("09000:" "00900:" "35791:" "00900:" "09000") image_z_1 = Image ("90009:" "00000:" "00900:" "00000:" "90009") image_z_2 = Image ("09090:" "90009:" "00000:" "90009:" "09090") # starta programmet medan True: print ((accelerometer.get_x (), accelerometer.get_y (), accelerometer.get_z ())) # som ska användas med seriell bildskärm eller plotter för optimering av tröskelvärden; # dämpa med ' #' om den inte används om ((accelerometer.get_z ()> trösk_z) # huvudet böjt bakåt, justera vid behov eller (knapp_a.is_pressad () och knapp_b.is_pressad ()): # för kontrollsyfte. visa (Image. DIAMOND_SMALL) sleep (de) display.show (Image. DIAMOND) sleep (de) display.show (image_z_2) sleep (de) display.show (image_z_1) sleep (de) display.clear () elif ((accelerometer.get_x () trösk_x) # riktningsindikator höger; för att aktivera böjhuvudet ca 20 grader åt höger eller knapp_b.is_pressad ()): display.show (image_r_1) sleep (de) display.show (image_r_2) sleep (de) display. visa (image_r_3) sleep (de) display.show (image_r_4) sleep (de) display.show (image_r_5) sleep (de) display.clear () else: # 'firefly' mönstergenerator för g i intervall (0, fn): # seed ett givet antal (fn) pixlar x = random.randint (0, 4) # plockar en slumpmässig position y = random.randint (0, 4) v = 9 # seed seed brightness maximum # v = random.randint (0, 9) # valfritt: randomiserad visning av fröns ljusstyrka. Set_pixel (x, y, v) # ställ in eldflugans hastighet sömn (ff1) # display för ff ms # reducerar intensiteten för alla pixlar med ett steg för j inom intervallet (0, 5): # för varje pixel i LED -arrayen för i inom intervallet (0, 5): b = display.get_pixel (i, j) # få aktuell intensitet om (b> 0): f = b - 1 # minska ljusstyrkan med en annan: f = 0 # ställer in 0 som lägsta tillåtna värdevisning. set_pixel (i, j, f) sömn (ff2)
Steg 4: En inkapslad, väderbeständig version
Som nämnts ovan är grundversionen inte väderbeständig. Jag har därför byggt en inkapslad version.
För att driva micro: bit här använde jag ett Kitronic MI: power board. Den drivs av en 3V myntcell och kan fästas på micro: bit med tre bultar och muttrar. Den har också en inbyggd strömbrytare. Alternativt kan du använda ett LiPo -batteri.
Som hus använder jag en 59 x 59 x 30 mm klar plastlåda. En bit av 3 mm plastkartong täckt med dubbelhäftande tejp användes som avståndsstycke. Det krävs som baksida av MI: kraft beror inte ens på muttrarna och håller micro: bit på plats.
Lådan med micro: bit fixeras sedan på hjälmen med en annan plastkartong täckt med dubbelsidig tejp.
Steg 5: Ett MakeCode -skript
För dem som inte vill eller kan installera mu har jag lagt till ett MakeCode -blockskript med liknande funktioner. Överlägset inte så snyggt, men tillräckligt bra för att visa principen.
Du kan bara kopiera filen till din micro: bit och spela.
Rekommenderad:
Väggfäste för iPad som kontrollpanel för hemautomation, med servostyrd magnet för att aktivera skärmen: 4 steg (med bilder)
Väggfäste för iPad Som kontrollpanel för hemautomation, med servostyrd magnet för att aktivera skärmen: På senare tid har jag ägnat ganska mycket tid åt att automatisera saker i och runt mitt hus. Jag använder Domoticz som min hemautomationsapplikation, se www.domoticz.com för mer information. I min sökning efter en instrumentpanelapplikation som visar all Domoticz -information tillsammans
Ansluten blomkruka för mikro: bit: 4 steg
Connected Flowerpot for Micro: bit: Denna blomkruka är gjord med 3D -tryck och har ett mikrobitkort i den. Denna kruka innehåller ett micro: bit -kort som ligger under jordbehållaren. Detta tar emot informationen från jordfuktighetssensorn (konduktivitet). Transkription av jordfuktigheten
HUR MAN MONTERAR EN IMPONERANDE TRÄROBOTARM (DEL 2: ROBOT FÖR att undvika hinder) - BASERAT PÅ MIKRO: BIT: 3 steg
HUR MAN MONTERAR EN IMPRESSIV TRÄROBOTARM (DEL 2: ROBOT FÖR ATT UNDGÅ HIND)-BASERAD PÅ MIKRO: BIT: Tidigare introducerade vi Armbit i linjespårningsläge. Därefter introducerar vi hur du installerar Armbit för att undvika hinderläge
Övertyga dig själv om att bara använda en 12V-till-AC-omriktare för LED-ljussträngar istället för att koppla om dem för 12V: 3 steg
Övertyga dig själv om att bara använda en 12V-till-AC-linjeomvandlare för LED-ljussträngar istället för att koppla om dem för 12V: Min plan var enkel. Jag ville klippa upp en väggdriven LED-ljussträng i bitar och sedan dra om den för att gå av 12 volt. Alternativet var att använda en kraftomvandlare, men vi vet alla att de är fruktansvärt ineffektiva, eller hur? Höger? Eller är de det?
1.5A linjär regulator för konstant ström för lysdioder för: 6 steg
1.5A linjär regulator för konstant ström för lysdioder för: Så det finns massor av instruktioner som täcker användning av LED -lampor med hög ljusstyrka. Många av dem använder den kommersiellt tillgängliga Buckpuck från Luxdrive. Många av dem använder också linjära regleringskretsar som toppar vid 350 mA eftersom de är mycket ineffektiva