Projekt Pepper Bell: Porovnání verzí

(Přidána sekce Odkazy na knihovnu arduina a vlastní zdrojový kód a podsekce Původní kód pro měření odporu u mrkve a papriky.)
m
Řádek 23: Řádek 23:
 
=== Původní kód pro měření odporu u mkrve a papriky ===
 
=== Původní kód pro měření odporu u mkrve a papriky ===
 
void setup() {
 
void setup() {
 
+
// initialize serial communications (for debugging only):
// initialize serial communications (for debugging only):
+
Serial.begin(9600);
 
 
Serial.begin(9600);
 
 
 
 
}
 
}
 
 
void loop() {
 
void loop() {
 
+
// read the sensor:
// read the sensor:
+
int sensorReadingmrkev = analogRead(A0);
 
+
int sensorReadingpaprika = analogRead(A3);
int sensorReadingmrkev = analogRead(A0);
+
// print the sensor reading so you know its range
 
+
Serial.println(sensorReadingmrkev);
int sensorReadingpaprika = analogRead(A3);
+
// map the analog input range (in this case, 400 - 1000 from the photoresistor)
 
+
// to the output pitch range (120 - 1500Hz)
// print the sensor reading so you know its range
+
// change the minimum and maximum input numbers below
 
+
// depending on the range your sensor's giving:
Serial.println(sensorReadingmrkev);
+
int thisPitchmrkev = map(sensorReadingmrkev, 400, 1000, 800, 1500);
 
+
  int thisPitchpaprika = map(sensorReadingpaprika, 400, 1000, 200, 800);
// map the analog input range (in this case, 400 - 1000 from the photoresistor)
+
if (sensorReadingmrkev > 150)
 
 
// to the output pitch range (120 - 1500Hz)
 
 
 
// change the minimum and maximum input numbers below
 
 
 
// depending on the range your sensor's giving:
 
 
 
int thisPitchmrkev = map(sensorReadingmrkev, 400, 1000, 800, 1500);
 
 
 
int thisPitchpaprika = map(sensorReadingpaprika, 400, 1000, 200, 800);
 
 
 
if (sensorReadingmrkev > 150)
 
 
 
 
{
 
{
 
+
tone(3, thisPitchmrkev, 10); // do something here
tone(3, thisPitchmrkev, 10); // do something here
 
 
 
 
}
 
}
 
 
// play the pitch:
 
// play the pitch:
 
 
tone(3, thisPitchpaprika, 5);
 
tone(3, thisPitchpaprika, 5);
 
+
  delay(1);        // delay in between reads for stability
delay(1);        // delay in between reads for stability
 
 
 
 
}
 
}
  
 
=== Finální kód Pepper Bellu ===
 
=== Finální kód Pepper Bellu ===

Verze z 12. 11. 2015, 16:19

Členové projektu

Anna Brixová, Studia nových médií, e-mail: anna.brixova@gmail.com

Lucie Merunková, Studia nových médií, e-mail: merunkova.lucie@seznam.cz

Eliška Morochovičová, Studia nových médií, e-mail: eliska.moro@gmail.com

Motivace vzniku projektu a jeho význam

Projekt vznikl se záměrem vyzkoušet si programování, práci s open hardwarem a kreativní řešení technických problémů. Chtěly jsme vytvořit něco trochu uměleckého, zároveň však postaveného na technice. Proto jsme se inspirovaly u různých hudebních projektů. V průběhu jsme několikrát zavzpomínaly na hodiny fyziky na střední škole a přály si, abychom dávaly větší pozor, racionální myšlení a návod na internetu (jedna z největších výhod práce s open hardwarem) nám nakonec pomohly dostat se zdárně k cíli, kdy jsme měřily kapacitu papriček a spouštěly na základě zvýšeného napětí tóny. V průběhu letní školy jsme pronikly do tajů programování a práce s Arduinem, a zopakovaly si znalosti základních fyzikálních pravidel. Doufáme, že náš projekt povzbudí další, kteří se třeba bojí, že pro práci s open hardwarem a programovacími jazyky nemají dostatečné technické znalosti, aby si něco takového osobně vyzkoušeli a zjistili, kolik se tímto „hračičkováním“ naučí. Možnost hrát si s dostupnou technologií, snažit se najít řešení a uskutečňovat vlastní projekty, je totiž neocenitelná a naučí nás toho víc, než běžné přednášky.

Použitý materiál a software

  • Arduino Uno
  • USB kabel notebook / baterie Noontec Giant A10000 na USB
  • reproduktor
  • drátové propojky
  • propojky - „krokodýlky“
  • alobal na uzemnění
  • 8x chilli papričky (lze nahradit např. i banány atd.)
  • software Arduino 1.6.5.

Odkazy na knihovnu arduina a vlastní zdrojový kód

Původní kód pro měření odporu u mkrve a papriky

void setup() {

// initialize serial communications (for debugging only):
Serial.begin(9600);

} void loop() {

// read the sensor:
int sensorReadingmrkev = analogRead(A0);
int sensorReadingpaprika = analogRead(A3);
// print the sensor reading so you know its range
Serial.println(sensorReadingmrkev);
// map the analog input range (in this case, 400 - 1000 from the photoresistor)
// to the output pitch range (120 - 1500Hz)
// change the minimum and maximum input numbers below
// depending on the range your sensor's giving:
int thisPitchmrkev = map(sensorReadingmrkev, 400, 1000, 800, 1500);
  int thisPitchpaprika = map(sensorReadingpaprika, 400, 1000, 200, 800);
if (sensorReadingmrkev > 150)

{

tone(3, thisPitchmrkev, 10); // do something here

} // play the pitch: tone(3, thisPitchpaprika, 5);

 delay(1);        // delay in between reads for stability

}

Finální kód Pepper Bellu