Inhoudsopgave:
- Stap 1: Gebruikte materialen
- Stap 2: Het apparaat instellen, het script installeren
- Stap 3: De Micro Python-scripts
- Stap 4: Een ingekapselde, weerbestendige versie
- Stap 5: Een MakeCode-script
Video: Een Micro:bit richtingaanwijzer voor fietshelmen - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:17
Bijgewerkte versie 2018-mei-12
Hieronder vindt u instructies voor het bouwen van een eenvoudige micro:bit-gebaseerde richtingaanwijzer voor fietshelmen (of vergelijkbaar). Het gebruikt de versnellingsmeters die in de micro:bit zijn ingebouwd als bedieningselementen.
De meegeleverde micropython-scripts zijn geoptimaliseerd voor mu, een micropython-editor met een specifieke "modus" voor de micro:bit. In de nieuwste versie wordt het geleverd met een seriële plotter en ik wilde aanvankelijk alleen begrijpen hoe ik het moest gebruiken om meetwaarden weer te geven (hint: stuur gegevens als tupels: print ((x, y, z)), met dubbele haakjes).
Op het 5x5 LED-display van de micro:bit worden vier patronen weergegeven:
- In de rusttoestand wordt een mooi, willekeurig patroon weergegeven. Momenteel vind je scripts voor drie verschillende patronen, een 'firefly', een 'rain' en een 'falling star' patroon. Kijk en kies degene die je het leukst vindt. Voel je vrij om de parameters aan te passen, om ze meer of minder dicht te maken of sneller of langzamer te laten lopen.
- Dan zijn er "rechtsaf" of "linksaf"-indicatoren in de vorm van bewegende pijlen. Ze worden geactiveerd door je hoofd naar links of rechts te buigen, door op de knoppen op de micro:bit te drukken. Activeer in de externe knopversie van het script door op een van de externe knoppen te drukken die zijn aangesloten op pinnen 0 en 1.
- Als je je hoofd naar achteren buigt, of beide knoppen op de micro:bit tegelijkertijd worden geactiveerd, wordt er een "alert" of "break" patroon weergegeven.
Deze micro:bit die een patroon weergeeft, kan worden gebruikt als een richtingaanwijzer, b.v. om te fietsen, skaten of skiën. Bevestig de micro:bit op je helm en bedien hem met de positie van je hoofd. Of bevestig het op je fiets, laad het externe knopscript en bedien het met twee externe schakelaars die via enkele kabels aan de micro:bit zijn bevestigd.
Voor degenen die met MakeCode werken, heb ik in de laatste stap een blokscript toegevoegd, dat rechtstreeks naar de micro:bit kan worden gekopieerd. Het is minder luxe, maar geeft de basisfunctionaliteit zonder de noodzaak om mu te installeren.
Houd in gedachten:
- Hoewel dit project nuttig kan zijn voor uw veiligheid, moet u ervoor zorgen dat u altijd duidelijk aangeeft waar u wilt rijden met uw handen en armen.
- Het concept is niet uitgebreid getest op de weg en was alleen bedoeld als programmeervoorbeeld. Gebruik het op eigen risico.
- Gebruik de basisversie alleen onder droge weersomstandigheden, omdat de micro:bit en de batterij of LiPo-packs gevoelig zijn voor vocht. Hieronder wordt beschreven hoe u een ingekapselde versie kunt bouwen.
Stap 1: Gebruikte materialen
Een micro:bit. Een computer met de mu-editor geïnstalleerd. Batterij of LiPo-pack voor de micro:bit. Een fietshelm. Ik gebruikte er een die vroeger een LED-achtergrondverlichting had. Een stuk polypropyleen karton van 3 mm, als afstandsstuk tussen micro:bit en helm. Dubbelzijdige ducttape om de micro:bit aan het afstandsstuk te bevestigen en dit aan de helm. Duct tape, om de micro:bit en het batterijpakket in de helm te bevestigen.
Voor een ingekapselde versie: een doorzichtige plastic doos van 59 x 59 x 30 mm, Modulor, Berlijn: 0, 70 Euro Kitronic MI: power board, 5 GBP dubbelzijdige ducttape en een stuk van de PP-platen
Voor de versie met externe schakelaars (details worden hier niet getoond): jumperkabels en twee schakelaars, twee witte LED's, een weerstand van 10 kOhm, een breadboard. Krokodillenklemmen. M3 messing schroeven (20 mm), M3 nylon moeren; vier elk, voor pin 0, pin 1, 3V en aarde. Plaats schroeven door de gaten in de PCB van de micro:bit en zet ze vast met de schroeven. Ze vereenvoudigen het bevestigen van krokodillenklemmen.
Stap 2: Het apparaat instellen, het script installeren
- Installeer de mu-editor op uw computer.
- Sluit de micro:bit aan op de computer.
- Laad het gewenste script.
- Flash het script naar de micro:bit.
- In het geval van de accelerometer (helm) scripts, bevestig de micro:bit en het batterijpakket aan je helm. Ik gebruikte een klein stukje plastic karton, een materiaal dat je in je ijzerhandel kunt vinden, als afstandsstuk en dubbelzijdig kanaal tape aan beide kanten om de micro:bit aan de helm te bevestigen. Bevestig vervolgens de micro:bit en het batterijpakket met ducttape op je helm.
- Om het weer te laten bewijzen, kijk eens naar een latere stap.
- Pas indien nodig de x- en z-drempelwaarden aan uw behoeften aan.
In het geval van het door een knop aangedreven script en als je graag externe knoppen gebruikt, sluit je de voedingsrails van het breadboard aan op de Gnd- en 3V-poorten van de micro:bit. Sluit de knoppen aan op Gnd en de Pin0- en Pin1-poorten
Stap 3: De Micro Python-scripts
Bijgevoegd vind je de micro python scripts voor mu en de micro:bit.
Er zijn vier scripts: een die het display bestuurt met behulp van de ingebouwde en externe knoppen, drie met behulp van de ingebouwde versnellingsmeters van de micro:bit. Ze hebben verschillende generatoren voor willekeurige patronen voor de rusttoestand.
Er is een 'vuurvlieg'-patroon, een 'regen'-patroon en een 'vallende ster'-patroon (matrix-stijl). Het firefly/accelerometer-script staat hieronder vermeld. Er is ook een script dat alle drie de patronen heeft en ze in een willekeurige volgorde uitvoert, met een nieuwe keuze telkens wanneer een indicator werd geactiveerd.
De accelerometerwaarden worden naar de computer gestuurd en kunnen via de seriële monitor van de mu-editor worden uitgelezen of op de seriële plotter worden weergegeven.
Het is gemakkelijk om parameters te wijzigen om de scripts aan te passen aan uw vereisten en voorkeuren.
'''Hoek/versnellingsmeter of ingebouwde knoppen gecontroleerde versie. 2018-mei-07 Een eenvoudig script dat een "vuurvlieg"-patroon produceert in rusttoestand, pijlen naar links of rechts bewegend als de m-bit in de overeenkomstige richting wordt gedraaid, of knoppen A of B worden ingedrukt of een pauze-indicator / waarschuwingspatroon als beide knoppen worden ingedrukt of als de m-bit naar achteren wordt gebogen. Kan worden gebruikt voor achtergrondverlichting van een fietshelm of iets dergelijks. Bouw voor de mu micro python-editor door Dr. H. https://www.instructables.com/id/A-Microbit-Direction-Indicator-for-Biking-Helmets/ ''' van microbit import * import random random.seed(3433) # voer je geluksgetal in de = 100 # stelt weergavevertragingstijd in ms in ff1 = 100 # stelt vuurvliegvertragingstijd 1 in ms in ff2 = 50 # stelt vuurvliegvertragingstijd in 2 in ms fn = 3 # stelt aantal vuurvliegzaadpunten in thresh_z = 80 # drempelwaarde voor achteruit thresh_x = 350 # drempelwaarde voor zijwaarts # beelden definiëren image_l_1 = Image("00900:" "09000:" "97531:" "09000:" "00900") image_l_2 = Image("09000:" "90000:" "75319:" "90000:" "09000") image_l_3 = Afbeelding("90000:" "00009:" "53197:" "00009:" "90000") image_l_4 = Afbeelding("00009:" "00090:" "31975:" "00090:" "00009") image_l_5 = Afbeelding("00090:" "00900:" "19753:" "00900:" "00090") image_r_1 = Afbeelding("00900:" "00090:" "13579:" "00090:" "00900") image_r_2 = Afbeelding("00090:" "00009:" "91357:" "00009:" "00090") image_r_3 = Afbeelding("00009:" "90000:" "79135:" "90000:" "00009") image_r_4 = Afbeelding("90000:" "09000:" "57913:" "09000:" "90000") image_r_5 = Afbeelding("09000:" "00900:" "35791:" "00900:" "09000") image_z_1 = Image("90009:" "00000:" "00900:" "00000:" "90009") image_z_2 = Image("09090:" "90009:" "00000:" "90009:" "09090") # start het programma while True: print((accelerometer.get_x(), accelerometer.get_y(), accelerometer.get_z())) # te gebruiken met seriële monitor of plotter voor drempelwaarde-optimalisatie; # dempen met '#' indien niet gebruikt als ((accelerometer.get_z() > thresh_z) # hoofd naar achteren gebogen, indien nodig aanpassen of (button_a.is_pressed() en button_b.is_pressed())): # voor controledoeleinden. show(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() thresh_x) # richtingaanwijzer rechts; om buigkop ongeveer 20 graden naar rechts of button_b.is_pressed() te activeren): display.show(image_r_1) sleep(de) display.show(image_r_2) sleep(de) display. show(image_r_3) sleep(de) display.show(image_r_4) sleep(de) display.show(image_r_5) sleep(de) display.clear() else: # 'firefly' patroongenerator voor g in bereik (0, fn): # seed een bepaald aantal (fn) pixels x = random.randint(0, 4) # kiest een willekeurige positie y = random.randint(0, 4) v = 9 # seed helderheid maximum # v = random.randint(0, 9) # optioneel: gerandomiseerde zaadhelderheid display.set_pixel (x, y, v) # set vuurvliegsnelheid slaap (ff1) # weergave voor ff ms # vermindert de intensiteit van alle pixels met één stap voor j binnen bereik (0, 5): # voor elke pixel van de LED-array voor i binnen bereik (0, 5): b = display.get_pixel(i, j) # haal de huidige intensiteit op als (b > 0): f = b - 1 # verminder de helderheid met een ander: f = 0 # stelt 0 in als laagste toegestane waarde display.set_pixel(i, j, f) sleep(ff2)
Stap 4: Een ingekapselde, weerbestendige versie
Zoals hierboven vermeld, is de basisversie niet weerbestendig. Ik heb daarom een ingekapselde versie gebouwd.
Om de micro:bit hier van stroom te voorzien heb ik een Kitronic MI:power board gebruikt. Het wordt aangedreven door een 3V-knoopcel en kan met drie bouten en moeren aan de micro:bit worden bevestigd. Het heeft ook een ingebouwde stroomschakelaar. Als alternatief kunt u een LiPo-batterij gebruiken.
Als behuizing gebruik ik een doorzichtige plastic doos van 59 x 59 x 30 mm. Een stuk plastic karton van 3 mm bedekt met dubbelzijdige ducttape werd gebruikt als afstandsstuk. Het is nodig omdat de achterkant van de MI:power niet eens te wijten is aan de moeren en de micro:bit op zijn plaats houdt.
De doos met de micro:bit wordt vervolgens aan de helm bevestigd door een ander stuk plastic karton dat is bedekt met dubbelzijdig plakband.
Stap 5: Een MakeCode-script
Voor degenen die mu niet willen of kunnen installeren, heb ik een MakeCode-blokscript toegevoegd met vergelijkbare functionaliteiten. Verreweg niet zo fancy, maar goed genoeg om het principe te laten zien.
U kunt het bestand gewoon naar uw micro:bit kopiëren en afspelen.
Aanbevolen:
Idee voor doe-het-zelf-activiteit voor weerstations voor 12+ jaar: 4 stappen
Idee voor doe-het-zelf-weerstationactiviteit voor 12-plussers: in deze activiteit zullen deelnemers hun weerstation opzetten, de lucht in sturen en de opnames (licht, temperatuur, vochtigheid) in realtime volgen via de Blynk-app. Bovendien leert u hoe u de geregistreerde waarden publiceert
Network Rivalry: een spel met lage latentie voor de BBC Micro:bit: 10 stappen (met afbeeldingen)
Netwerkrivaliteit: een spel met lage latentie voor de BBC Micro:bit: In deze tutorial leg ik uit hoe je een basisspel voor meerdere spelers op de BBC micro:bit implementeert met de volgende kenmerken: Een eenvoudige interface Lage latentie tussen het indrukken van knoppen en schermupdates Een flexibel aantal deelnemers Gemakkelijk co
Een Zalman VF900-Cu-koellichaam installeren op een Radeon X800 XT Mac Edition voor gebruik in een Apple G5 Tower: 5 stappen
Een Zalman VF900-Cu-koellichaam installeren op een Radeon X800 XT Mac Edition voor gebruik in een Apple G5 Tower: de standaard disclaimer - Dit is hoe ik het deed. Het werkte voor mij. Als je je G5, Radeon X800 XT, of je huis, auto, boot, enz. laat ontploffen, ben ik niet aansprakelijk! Ik geef informatie op basis van mijn eigen kennis en ervaring. Ik geloof dat alle st
Licht- en kleurmetingen met de Pimoroni Enviro:bit voor de Micro:bit: 5 stappen
Licht- en kleurmetingen Met de Pimoroni Enviro:bit voor de Micro:bit: ik had eerder aan een aantal apparaten gewerkt waarmee licht- en kleurmetingen mogelijk waren en je kunt hier en hier veel vinden over de theorie achter dergelijke metingen. heeft onlangs de enviro:bit uitgebracht, een add-on voor de m
Voeg een pc-synchronisatie-aansluiting toe aan een Nikon Sc-28 Ttl-kabel (gebruik de automatische instellingen voor een aan-cameraflits en trigger-uit-cameraflitsen!!): 4 stappen
Voeg een Pc Sync-aansluiting toe aan een Nikon Sc-28 TTL-kabel (gebruik Auto-instellingen voor een on Camera Flash en Trigger Off Camera Flashes !!): in deze instructable laat ik je zien hoe je een van die vervelende gepatenteerde 3-pins TTL-connectoren op de zijkant van een Nikon SC-28 off-camera TTL-kabel en vervang deze door een standaard pc-synchronisatieconnector. hierdoor kunt u een speciale flitser gebruiken, s