Luna Mod Looper fundamentele Stamp2 versie (4 / 7 stap)

Stap 4: Ken uw grenzen mcu en sluit de record drukknop


Je zou denken dat de LEDs aansluiten zou de volgende maar ik denk je nodig hebt dat om erachter te komen hoe de looping sectie van het programma werkt voor het aansluiten van LEDs. Ze moeten worden gesynchroniseerd met het tempo. Synchroniseren van de LEDs was eigenlijk een van de problemen die gaf me de meeste moeite. Het had iets te maken met meer dan een Boole-expressie in mijn als-instructies aan de LEDs gerelateerde maar ik kan u niet zeggen waarom. Mijn indien ELSEIF verklaringen bevatte twee Boole-expressies en er waren geen problemen als gevolg van die. Nu, terug naar wat er werkelijk in stap 4 gebeurt.

Waarschuwing!!: voordat u om het even welk verder moet u weten dat alle mcu de grenzen hebben op hoeveel stroom ze kunnen leveren en zinken. Levering huidige is hoeveel stroom de pin verlaat en het gaat in sommige externe apparaten. Wastafel huidige betekent dat de stroom vloeit in de pin en door de mcu aan de grond (Vss in dit geval). De limieten voor de BS2 zijn als volgt (dubbel te controleren de "Basic Stamp syntaxis en Reference Manual," pagina 14, tabel 1.2): elke pin kan zinken 25 mA en bron 20 mA. Elke groep van pins, P0 - P7 en P8 - P15 moet niet collectief zinken meer dan 50 mA of bron 40 mA als met behulp van een externe regulator voor 5 V. Deze nummers zijn wastafel 50 mA of bron 40 mA voor alle I/O pinnen als met behulp van de ingebouwde 5 V regulator.

ALS U DEZE LIMIETEN OVERSCHRIJDT, BESCHADIGT U UW MCU!!! Soms gewoon los je een I/O pin maar ergere dingen zou kunnen gebeuren. Dit betekent dat u wilt gebruiken voor uw de wet van Ohm, V = IR.

Je hebt waarschijnlijk gemerkt op dit punt dat de record knoppen en de tempo-pot op P15 en P14, respectievelijk en de rest van de i/o-pinnen. Dit is te wijten aan de informatie in de waarschuwing hierboven.

Op met de show:
De record-knop moet worden aangesloten. Verbinden met een jumper-draad van P15 PB0 in de drukknop sectie als u een VOB gebruikt. Zoniet sluit een NOPB zoals in het schema hieronder weergeven. Dit gebeurt ook als de manier waarop die het voorontwerp van begroting haar drukknoppen wired behalve om het even wat heeft kan worden aangesloten op het VOB niet alleen P15.

Kijk naar de foto om te zien:
U kunt de groene draad zien omdat het een boog over het solderless breadboard van P15 te PB0 op het voorontwerp van begroting uitmaakt.

Om de drukknop werken u zal zeer waarschijnlijk de opdracht knop. Mijn instructie ziet er als volgt uit:

KNOP recBtn, 0, 255, 0, btnData, 1, opnemen

Controleer de "Basic Stamp syntaxis en Reference Manual" voor een grondige uitleg. Hier, recBtn is de pin # 0 is de Downstate, 255 is de vertraging, 0 is het tarief, btnData is de werkruimte, 1 is TargetSate en Record is het adres. De recBtn is 15 voor P15 en 255 wordt gebruikt omdat ik wil een auto-repeat niet maar willen nog steeds de ontdendering. Tarief is 0 omdat ik niet wil dat elke meting van cycli. Ik gaf btnData slechts een Byte van de variabele ruimte omdat de nummers laag moeten hoe dan ook zijn zou. De TargetState is 1 omdat ik wil dat de knop voor het activeren van de BS2 opnamefunctie te selecteren wanneer deze wordt nog steeds ingedrukt. Stellen op 0 zou daardoor naar Record te gaan toen het werd uitgebracht. Het adres is de Record. Record is de subroutine die wordt geactiveerd wanneer de knop wordt gedrukt.

Hier is een uitstekende plek om te oefenen programmering technieken. U hoeft niet te schrijven hier in één keer alle afgewerkte code. Uw Record subroutine zou slechts een of twee DEBUG verklaringen. Hierdoor zal u vertellen dat uw knop instructie werkte en de BS2 ingestuurd opnamemodus. Als u probeert te schrijven alle code in een keer dan ben je vaak gefrustreerd vanwege de problemen die moeten eerst worden gesorteerd.

Item een) schrijven slechts een debuginstructie zoals:
"U zijn in Record Mode" DEBUG

Punt b) een tweede en misschien een derde instructie als volgt toevoegen:
DEBUG? potFreqVal
DEBUG? potTempoVal

Punt c) wanneer u de juiste woorden verschijnen in uw Terminal van de DEBUG u weet dat u in de opnamemodus bent, maar u ook weet dat het programma is met behulp van de variabelen van de twee potten hebt voor frequentie en tempo zien. Nu kun je werken op het verkrijgen van de rest van de opnamemodus om te werken, om ervoor te zorgen dat de frequenties worden geplaatst in uw array.

Voor deze stap besloten heb ik om een reeks IF, ELSEIF-instructies gebruiken. Het lastige deel is het verkrijgen van een goede spreiding instellen en het maken van zeker u Boole-expressies hebben de juiste aantallen voor elke noot. Ik besloot om gewoon de ene comparator gebruiken voor elke uitdrukking in plaats van met behulp van twee.

Een Comparateur: <>, die staan voor minder dan of groter dan respectievelijk
Twee comparatoren: < = >, die staan voor minder of gelijk aan of groter dan of gelijk is aan respectievelijk =

De één comparator gebruiken als ik dacht dat het zou een beetje langer duren om te evalueren van de expressie met twee comparatoren in tegenstelling tot één vergelijkingslocatie.

Merk op dat in de definitieve versie van het programma op voorwaarde dat er drie reeksen van notities deel uitmaakt van drie subroutines zijn. U moet de benodigde code na de indien ELSEIF verklaringen te nemen van de gesorteerde frequentie-waarde en het spelen zodat je kunt horen de toelichting die u selecteert door te draaien aan de potmeter. Als je wacht op te nemen die verklaringen ik betwijfel of dat de Record-subroutine werkt zoals gepland. Voor de eerste twee reeksen van IF, ELSEIF verklaringen bevat de laatste ELSEIF-instructie een instructie om naar het volgende bereik van notities met behulp van de opdracht GOSUB Subroutine_Name.

Merk op dat de knop-instructie wordt gebruikt in de tweede (van drie) keer hier. Hierdoor is de persoon te druk op de knop op elk gewenst moment en hebben het programma verlaten de opnamemodus en switch in afspeelmodus. Eigenlijk, de BS2 eigenlijk zal doorlopen alle opeenvolgende code voor zijn komst op de knop instructie zodat u even wachten wellicht voordat de verandering gebeurt.

Belangrijke TIP: Er zijn een paar functies beschikbaar met de Basic Stamp Editor IDE dat u vertrouwd met het gebruik van zou moeten worden. Twee zeer nuttige degenen zijn de syntaxis controleren en de geheugen kaart. Ik zeg dit hier, want toen ik schreef de verklaringen van de indien ELSEIF genest kwam ik erachter dat je kunt alleen 16 ELSEIF verklaringen naast de opening als-instructie. Met behulp van de geheugen kaart dit onder mijn aandacht gebracht. De syntaxis controleren zal hetzelfde doen. Hebt u meer zal dan het verschijnen wanneer u deze functies gebruikt. Geheugen kaart ons nuttig om erachter te komen hoeveel variabele ruimte u hebt verlaten. Het laat ook u weet hoeveel meer ruimte hebt om code te schrijven. Syntaxiscontrole is goed uit te voeren voordat u probeert uw programma uit te voeren. Het zal u laten weten zeer snel als geen syntaxis is buiten de orde zonder de extra tijd wilt openen van het mcu. Zodra u genoeg tijd programmering mcu besteden, zult u beide functies.

Gerelateerde Artikelen

Arduino compatibel Luna Mod Looper

Arduino compatibel Luna Mod Looper

de Luna Mod Looper, in principe kunt u een reeks met behulp van een potentiometer de toonhoogte van de notitie opnemen, en dan spelen het terug en invloed toe te voegen. Sinds ik zag de video's van de Luna-Mod bespeeld, wilde ik te bouwen mijn eigen.
Luna Mod Looper

Luna Mod Looper

hier zijn enkele foto's van een Mod van de Luna ik aan boord van sommige perf bouwde. Het draait op PICAXE 08m en is erg cool.Het oorspronkelijke ontwerp is van maken: Magazine en is door Brian McNamara.
Installeren van Oblivion herboren (Oblivion Multiplayer Mod)

Installeren van Oblivion herboren (Oblivion Multiplayer Mod)

een korte handleiding om de juiste methode voor het installeren van onze mod.Stap 1: Download de vereiste bestandenVoor het gebruik van onze mod, moet u OBSE (versie 14 of nieuwer) en de vergetelheid herboren (voortaan aangeduid als "OR") bestan
Minecraft PE iOS Modding

Minecraft PE iOS Modding

Inleiding:Dit is een tutorial over het maken van uw eigen "mods" voor de mobiele versie van minecraft voor apparaten van apple.Vereisten:Jailbroken iDeviceTheos (goede tutorial hier.)IDA Demo (deverwijzing)Mobiele Terminal (Zoek op Cydia)Gedecod
Crosman Phantom Mod

Crosman Phantom Mod

deze mod op de Canadese versie van het pistool de 500 x zal het de Sam macht geven als de 1000 x welke scheuten 1200 bps de wettelijke limiet in Canada 495fps is dus ik alleen maar deze mod aanraden zou als u in een survival situatie waren, of de zom
Atari Punk Console

Atari Punk Console

tegenwoordig, bijna alles is gedigitaliseerd. De meeste van de synthesizers gebruiken tegenwoordig programmering. Gelukkig zijn er nog een paar herinneringen ophaalt van niet-gedigitaliseerd synthesizers. Of meer van het complex zijn pralines zoals d
Onderdompeling fornuis gecontroleerd door Arduino

Onderdompeling fornuis gecontroleerd door Arduino

simpel gezegd, het proces van het koken van voedsel ondergedompeld in warm water onderdompeling koken is. Maar wacht u zeggen. Is dat niet hetzelfde als mijn aardappelen in warm water koken? Niet helemaal. Eten gekookt door de methode onderdompeling
Zonne-aangedreven Miniball Wannabe

Zonne-aangedreven Miniball Wannabe

dit project miniball wortelt in de oude BEAM Miniball-kit, uitgegeven door Solarbotics. Het is nog steeds een koele kit, dus we gaan om u te tonen hoe bouwde een eenvoudiger versie. Dit project wordt geleid door Mr. Jerome Demers (aka Robomaniac), on
AEP7 Laser pistool (Fallout 3)

AEP7 Laser pistool (Fallout 3)

IntroductieDit is een te bouwen als mijn andere bouwt, de meest kostenefficiënte manier om iets dat niet een enorme workshop hoeft te maken. In dit geval een prop, Laser pistool uit de game Fallout 3. (verschijnt ook in Fallout New Vegas)De meeste de
How to handmatig resetten Win 10 Minecraft huid

How to handmatig resetten Win 10 Minecraft huid

Ik heb tientallen skins gemaakt door de jaren heen, maar helaas, als te laat, ik heb problemen met het krijgen van minecraft goed te laten werken met een aantal van mijn oude skins. (Opmerking: ik spreek van de Windows 10 versie van Minecraft, niet d
TAFELBLAD FLASH AUDIO RECORDER met grote knoppen

TAFELBLAD FLASH AUDIO RECORDER met grote knoppen

mensen, I- en ik denk dat we - moeten een goede basis betrouwbare flash-gebaseerde audio recorder.Ik spreek hier BASIC. Niets bijzonders helemaal.Een decennium of zo terug, we hadden een vrij betrouwbaar all-purpose tafelblad cassette recorder-audios
Mod de Halo PC Assault Rifle in de Halo 3 versie

Mod de Halo PC Assault Rifle in de Halo 3 versie

hoe voor mod de Halo PC Assault Rifle (MA5B ICWS) in de Halo 3-versie (MA5C ICWS) die nauwkeuriger is, heeft een ander formaat clip en een verschillende dradenkruis (ook bekend als "crosshairs"), onder vele andere dingen. Ze zijn eigenlijk versc
Donkey Kong jurk Mod versie 1 & 2

Donkey Kong jurk Mod versie 1 & 2

ik heb een oud tshirt van Donkey Kong gewijzigd in iets dat ik de voorkeur om te dragen.Het wijzigen van een regelmatige ol ' Donkey Kong tshirt in een interessanter outfit bestaande uit een meer verwijfd top en bijpassende rok.Ging naar een paar eve
Camry Duct Tape Mod (Non-slideshow versie)

Camry Duct Tape Mod (Non-slideshow versie)

voor mijn eerste auto, mijn vader heeft me een 1990 Toyota Camry. Het was $100 dollar met slechte koppeling, en het was waardeloos elke cent ervan. Dus ik vroeg een van mijn vrienden te komen en me het sparren met een beetje helpen. Dit is wat we kwa