Projekt Pepper Bell: Porovnání verzí
(Přidána sekce Použitý materiál a software) Značka: editace z Vizuálního editoru |
(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.) Značka: editace z Vizuálního editoru |
||
Řádek 18: | Řádek 18: | ||
* 8x chilli papričky (lze nahradit např. i banány atd.) | * 8x chilli papričky (lze nahradit např. i banány atd.) | ||
* software Arduino 1.6.5. | * 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 === |
Verze z 12. 11. 2015, 16:17
Obsah
Č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
}