Den här fungerar ungefär som en LP-spelare. Skillnaden är att istället för att använda en nål på en plastskiva, så använder du tre IR (infraröda) sensorer i en rad, som läser ett mönster från en pappersskiva. Om du har böjelse för både det musikaliska och det digitala, kommer du ha kul med att skapa melodier med den här.
Material
- 1 Arduino Uno
- 1 Education-sköld
- 1 IR-Array
- 1 piezohögtalare
- 2 svarta labbkablar
- 5 färgade labbkablar
- Binär LP-kit
- Binär LP pappersskiva
Instruktioner
Kod
Hitta koden i File>Examples>EducationShield>Block3-Magic>Projects>BinaryLP
Så här fungerar det
- EducationShield-biblioteket inkluderas
- pitches.h inkluderas, filen som innehåller tonernas definitioner.
- IRArray-object
ir
deklareras. - Variablerna
piezo
ochlastReading
deklareras. - I
setup()
konfigureras pinen som piezon är kopplad till som en output. - I
loop()
, avläses det binära värdet från IR-Arrayn och lagras i variabelnreading
. Detta värde varierar från 0 till 7 och är den binära kombinationen av svarta och vita områden. 0 betyder att alla rutor ärvita, 7 betyder att alla rutor är svarta. - reading skickas till funktionen
playNote()
. - I
playNote()
, kontrollerar en if-sats omlastReading
är like medr
.r
är det avlästa binära värdet som skickades till funktionen ochlastReading
är det föregående avlästa värdet. - Om if-satsen är
true
betyder det att samma ton som den senaste tonen ska spelas. För att kunna urskilja de två tonerna anropasnoTone()
vilket gör att piezon tystnar. - Programmet pausas i 20 millisekunder.
- En switch-sats används för att bestämma vilken ton som spelas beroende på värdet som
r
håller. - Om
r
är lika med 0 händer ingenting (piezon är redan tyst), omr
är lika med 1 spelas tonenNOTE_C4
etc. - Om
r
är större än 0 tilldelaslastReading
värdetr
. - Programmet hoppar tillbaka till
loop()
.
Problemlösning
- Hänvisa till illustrationen och dubbelkolla dina kopplingar. Var noga med att skölden och labbkablarna är ordentligt kopplade.
- Se referenssidan för IR Array reference.
Lär genom att göra
- Komponera dina egna melodier. Byt ut tonerna i switch-satsen om det behövs.
- Kom på ett nytt sätt att använda den binära avläsningen.