Blok knock (5 / 7 stap)

Stap 5: De code van de Arduino


/ / Arduino code voor Knock blok
2009: ReeD Martin, Jon Ward, Ned Burns en John Kestner
constanten:
Const int ledPin = 12; het circuit solenoïde is aangesloten op de digitale pin 12
Const int knockSensor = 0; de piezo is aangesloten op de analoge pin 0
Const int drempel = 20; drempelwaarde om te beslissen wanneer het gedetecteerde geluid wordt geklopt of niet;
Dit om de gevoeligheid op uw eigen blok wijzigen

int sensorReading = 0; variabele de waarde gelezen van de pin van de sensor opslaan
int ledState = laag; variabele gebruikt om st4re de laatste LED-status, het licht in-/ uitschakelen

Huidige tijd
int current_millis_value = 0;
int previous_millis_value = 0;
int m = 0;
int seconden = 0;
int minuten = 45; handmatig instellen van de notulen die het begint vanaf wanneer ingeschakeld
int uur = 6; handmatig instellen van de uren die het begint vanaf wanneer ingeschakeld

Knock-Tracking-variabelen initialiseren
lange lastKnock = 0;
lange curKnock = 0;
int lastIntensity = 0;
int shouldKnock = 0;
lange knockSpaces [100];

VOID Setup {}
pinMode (ledPin, OUTPUT); de ledPin verklaren als OUTPUT
pinMode (knockSensor, INPUT);
Serial.begin(9600); de seriële poort gebruiken
Serial.println ("Welcome to the Knock Klok Block!");
}

void loop {}
Tijd beheren
current_millis_value = millis();
m += current_millis_value - previous_millis_value;
seconden += m / 1000;
m = m % 1000;
minuten += seconden / 60;
seconden = seconden % 60;
+= uren / 60;
minuten = minuten % 60;
uren = uur % 24;
previous_millis_value = current_millis_value;

Lees de sensor en sla het in de variabele sensorReading:
sensorReading = analogRead(knockSensor);

curKnock = millis();

Als de sensorgegevens groter dan de drempel is, tellen als een klop
Als (sensorReading > = drempel) {}

Als ((curKnock-lastKnock) < 1000) {}
knockSpaces [shouldKnock] = (curKnock - lastKnock);
shouldKnock ++;
}

lastKnock = curKnock;
lastIntensity = sensorReading;

delay(150); voorkomen dat per ongeluk meer dan eens triggering

Als het niet, check om te zien als 1000 ms is verstreken, en beginnen kloppen:
} else if ((curKnock-lastKnock) > 1000 & & shouldKnock > = 1) {}

Als (shouldKnock < 5) {}

Reset stoten
shouldKnock = 0;
lastKnock = 0;
lastIntensity = 0;

Klop uur
voor (int y = 0; y < uur; y ++) {}
Serial.println ("Knock! (Uur) ");
knockOut(round((max(sensorReading,lastIntensity) / 50) * 18));
vertraging (200 + random(90));
}

delay(900);

Klop minuten (15 min stappen)
voor (int y = 0; y < floor(minutes / 15); y ++) {}
Serial.println ("Knock! (Minuten) ");
knockOut(round((max(sensorReading,lastIntensity) / 50) * 18));
vertraging (900 + random(200));
}

} else {}

Knock terug
voor (int y = 0; y < shouldKnock; y ++) {}
Serial.println ("Knock! (Leuk!) ");
knockOut(0);
vertraging ((knockSpaces [y] - 20));
}

Reset stoten
shouldKnock = 0;
lastKnock = 0;
lastIntensity = 0;

knockOut(0);

delay(150); voorkomen dat per ongeluk meer dan eens triggering
}

delay(100); voorkomen dat per ongeluk meer dan eens triggering
}
}

Uitvoeren van een klop
VOID knock-out (int tVolume) {}
ledState = hoog;
digitalWrite (ledPin, ledState);
vertraging (20 + random(tVolume)); Randomize intensiteit
ledState = laag;
digitalWrite (ledPin, ledState);
}

Gerelateerde Artikelen

Miter/Zwaluwstaart vlag Case - Unplugged!

Miter/Zwaluwstaart vlag Case - Unplugged!

Ik heb bouwde veel vlag en shadowboxes voor militaire veteranen door de jaren heen. Terwijl zij van eenvoudige tot complexe in bouw variëren kunnen, vind ik dat ze vereisen een hoge mate van aandacht voor detail om hoeken, gewrichten en juiste eindig
Stoppen met rammelaars en concepten in schuiframen - The Rumple

Stoppen met rammelaars en concepten in schuiframen - The Rumple

In een perfecte wereld, uw schuifraam windows zou een perfecte pasvorm.Zou er geen hiaten en de Vensters op en neer zou glijden met nul wrijving.Eerst uitgerust, zou uw schuifraam venster behoorlijk efficiënt zijn geweest.Echter, in de echte wereld,
Knock-Down zaagbok drie-Legged

Knock-Down zaagbok drie-Legged

de meer projecten die ik maak, hoe meer ik besef dat mijn gammele oude schragen ontoereikend zijn. Ik denk dat ik door de kracht en de stevigheid van deze schragen beperkt ben en ik voel me alsof ik ben altijd naar hen te compenseren. Omdat deze schr
The Dog Mansion - or - Knock-Down Dog House

The Dog Mansion - or - Knock-Down Dog House

When I rescued my dog, Mac (5-year old Belgian Malinois/German Shepard mix), I didn't really have a proper "dog house" for him.  Aangezien het weer op dat moment mild was, ik had een plastic kennel buiten voor hem - die leek te werken OK - maar
Dunne Rip Push blok

Dunne Rip Push blok

Het doel van dit instructable is dat een blok van de push specifiek voor het snijden van dunne scheurt tussen het blad zag en het rip-hek op een tabel zag.Stap 1: materialenVoor dit instructable moet u-(1) uitval 2 x 4 ten minste 8"-(1) uitval 2 x 4
Koken met een oude Himalaya zout blok

Koken met een oude Himalaya zout blok

dit ' ible zal laten zien hoe je een 600 + miljoen jaar oude Himalaya zout blok als koken-apparaat gebruiken.Oorspronkelijk geoogst uit de oude bergen van Pakistan, roze Himalayazout wordt beschouwd als enkele van de zuiverste en schoonste zout in de
Hoe maak je een Minecraft vuil blok Tissue Box Cover

Hoe maak je een Minecraft vuil blok Tissue Box Cover

Als een definitieve (eind) project voor Minecraft maand, ik was staren naar een doos van weefsels en dacht, hoe kan dit worden Minecrafted?En hier is het onzichtbaar te maken binnen een codeblok vuil kwam voor de geest: het vuil blok Tissue Box!De vo
Maken van een iglo van de blok ijs

Maken van een iglo van de blok ijs

We leven in upstate NY, wat betekent dat we zijn gewend aan koude en besneeuwde winters. Deze winter, is echter in tegenstelling tot alle in de recente geschiedenis geweest. We hebben meer dan een maand waar bijna elke dag bracht Sub-Zero temperature
Monteren van een Super Mario Brothers munt blok Lamp

Monteren van een Super Mario Brothers munt blok Lamp

UPDATE: een aantal stappen zijn gewijzigd, sinds we begonnen steeds professioneel geproduceerde printplaten en screen-printing het ontwerp op de binnenkant van de doos. Alle oude foto's zijn nog steeds hier voor verwijzingsdoeleinden.Ah, coin de klas
Magnetische, houten, puzzel foto blok.

Magnetische, houten, puzzel foto blok.

Hallo alle lezers van de instructie. Allereerst ben ik sorry voor mijn slechte Engels, zoals het is niet mijn eerste taal.Dit is mijn eerste instructable. Origineel idee is krediet aan zijn foto blok gaf me een idee om mijn eigen magnetische puzzel.D
Eenvoudige knock-down kartonnen eindtafel (flat pack)

Eenvoudige knock-down kartonnen eindtafel (flat pack)

dit is een relatief makkelijk te maken, knock-down (flatpack) eindtafel gemaakt van een kartonnen doos (het kan ook worden gemaakt van meerdere vakken of stukken alsmede). Er zijn vier stukken gehouden samen met de "slots", evenals eenvoudige gr
10 bezuinigingen: werken van tangen uit massief blok van hout gehouwen

10 bezuinigingen: werken van tangen uit massief blok van hout gehouwen

https://www.YouTube.com/watch?v=q9peIeHB7No&feature=Youtu.beStap 1: Om te doen 10 bezuinigingen: werken tangen gesneden uit massief blok van hout u nodig!!! In de huidige video ik zal je laten zien een geweldig idee op hoe te om Kniptangen met de hou
Pallet blok pompoenen

Pallet blok pompoenen

Wanneer u pallets uit elkaar te halen... heeft u altijd deze blokken overblijft.Dus ik dicited iets hiervan te maken.Herfst is gearriveerd en ik maakte deze pompoenen blok Pallet voor decoratieStap 1: Wat je nodig hebt...1. pallet blokken2. Beltsande
Levensechte munt blok

Levensechte munt blok

hou je Mario Bros?Heb je altijd al willen weten hoe krijgen een munt door het raken van een blok voelt?Of misschien wilt u gewoon een koele plaats voor het opslaan van uw munten.Nou is dit het perfecte project voor u!Stap 1: materialen De belangrijks