Papier Electronics: Maak interactieve, muzikale illustraties met geleidende inkt (2 / 5 stap)

Stap 2: Maak de elektronica


De hardware en de code van de Arduino voor dit project hebben ontwikkeld vanuit de prachtige tutorial van de Sensor van de nabijheid van blote geleidende:

http://www.bareconductive.com/Capacitance-sensor

De hardware die nodig is voor dit project bestaat uit:
1 x Arduino
4 x 1 mega Ohm weerstanden
2 x LED (niet nodig)
1 x mannelijke 4-weg-jack
1 x vrouwelijke 4-weg jack aansluiting
1 x spreker
Een selectie van jumper kabels

Dit is een relatief eenvoudig circuit te maken. We moeten om te beginnen met verbinding maken met een 1 mega ohm weerstand tussen 4 paar uitgangen op de Arduino; deze paren zijn 2 en 4, 5 en 6, 8 en 9, 10 en 11. We nemen nu een draad van pins 4,6,9 en 11, dit zijn onze sensor-ingangen. Pin 4 zal uiteindelijk ga naar onze afstand sensing geschilderde gebied, en pin 6,9 en 11 zal gaan naar de geschilderde knoppen. In dit stadium willen we deze 4 sensor kabels verbinden met de 4-weg vrouwelijke aansluiting-aansluiting.

De Audio-uitgang komt van pin 7. Dit betekent dat we moeten draad in een luidspreker of hoofdtelefoonaansluiting tussen pin 7 en grond op de Arduino.

Ik besloot dat het leuk zou zijn om sommige LEDs hebben op het apparaat om te zien wat er gaande was. Ik bekabeld een 'inschakelen' LED tussen 3.3V en grond op de Arduino en een 'frequentie 'Indicator tussen pin 13 en grond op de Arduino.

De Arduino wordt gevoed via de Vin-aansluiting op het bord. Ik besloot om de draad in een tuimelschakelaar hier om er leuk en gemakkelijk om te zetten in- en uitschakelen.

Dat was eenvoudig, niet? Nu voor de code...

Je Arduino aansluit op uw computer en het downloaden van de volgende code. Deze code vereist de CapSense-bibliotheek, dus als je dit niet hebt, hoofd over aan de Arduino website en download het daar.

Omwille van de testen en kalibreren van het is de moeite waard gewoon krokodil knippen uw vier sensor-kabels aan op uw vier geleidende geschilderd/afgedrukt gebieden.

Dit is waar het allemaal krijgt een beetje onvoorspelbaar... Zoals iedereen is gonna be schilderij of het afdrukken van verschillende maten van blote geleidende aanrakingspunten met verschillende diktes van inkt, is een plek van kalibratie nodig. Hopelijk is het gewoon de afstandssensor die zal moeten gekalibreerd. Dat zou vrij eenvoudig te doen door te spelen over met de waarde van de total2 in de code (moet u de waarden uit de sensor in de seriële monitor). Als dat niet voor u werkt, moet u wellicht probeert u andere waarden voor de weerstand. Ik ben bang dat deze stap is een beetje trial and error.

Arduino Code:

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

#include < CapSense.h >

CapSense cs_2_4 = CapSense(2,4);         1 megohm weerstand tussen de pinnen 4 & 2, pin 2 is afstand sensor pin, blote verf toe te voegen
CapSense cs_5_6 = CapSense(5,6);         1 megohm weerstand tussen pin 6 & 5, pin 5 is sensor pin, blote verf toe te voegen
CapSense cs_8_9 = CapSense(8,9);         1 megohm weerstand tussen pin 9 & 8, pin 8 is sensor pin, blote verf toe te voegen
CapSense cs_10_11 = CapSense(10,11);     1 megohm weerstand tussen de pennen 11 & 10, pin 10 is sensor pin, blote verf toe te voegen
Const int ledPin = 12;
Const int ledPin2 = 13;

int de duur;

VOID Setup
{
cs_2_4.set_CS_AutocaL_Millis(0xFFFFFFFF);     uitschakelen van de autocalibrate op kanaal 1 - net als een voorbeeld
cs_5_6.set_CS_AutocaL_Millis(0xFFFFFFFF);
cs_8_9.set_CS_AutocaL_Millis(0xFFFFFFFF);
cs_10_11.set_CS_AutocaL_Millis(0xFFFFFFFF);
Serial.begin(9600);
pinMode (13, OUTPUT);
pinMode (12, OUTPUT);
}

void loop

{

lang starten = millis();
lange total1 = cs_2_4.capSense(30);
lange total2 = total1 - 100;  kalibratie voor pad...

lange totalA = cs_5_6.capSense(30);
lange totalB = cs_8_9.capSense(30);
lange totalC = cs_10_11.capSense(30);

Serial.println(total2);

{
Als (total2 < 150) {//Start genereren van verschillende tonen voor verschillende afstanden. Dit moet callibrating door een wijziging van de waarde van total2
noTone(7);
}
Als (total2 > 150 en total2 < 200) {}
LED inschakelen
digitalWrite (ledPin2, hoge);
Tone(7,131,5000);
delay(duration);
noTone(7);
digitalWrite (ledPin2, laag);
delay(duration);
}

Als (total2 > 250 en total2 < 300) {}
LED inschakelen
digitalWrite (ledPin2, hoge);
Tone(7,147,5000);
delay(duration);
noTone(7);
digitalWrite (ledPin2, laag);
delay(duration);
}
Als (total2 > 350 en total2 < 400) {}
LED inschakelen
digitalWrite (ledPin2, hoge);
Tone(7,165,5000);
delay(duration);
noTone(7);
digitalWrite (ledPin2, laag);
delay(duration);
}
Als (total2 > 400 en total2 < 450) {}
LED inschakelen
digitalWrite (ledPin2, hoge);
Tone(7,175,5000);
delay(duration);
noTone(7);
digitalWrite (ledPin2, laag);
delay(duration);
}
Als (total2 > 450 en total2 < 500) {}
LED inschakelen
digitalWrite (ledPin2, hoge);
Tone(7,196,5000);
delay(duration);
noTone(7);
digitalWrite (ledPin2, laag);
delay(duration);
}
Als (total2 > 500 en total2 < 550) {}
LED inschakelen
digitalWrite (ledPin2, hoge);
Tone(7,220,5000);
delay(duration);
noTone(7);
delay(duration);
}
Als (total2 > 550 en total2 < 600) {}
LED inschakelen
digitalWrite (ledPin2, hoge);
Tone(7,247,5000);
delay(duration);
noTone(7);
digitalWrite (ledPin2, laag);
delay(duration);
}
Als (total2 > 600) {}
LED inschakelen
digitalWrite (ledPin2, hoge);
Tone(7,262,5000);
delay(duration);
noTone(7);
digitalWrite (ledPin2, laag);
delay(duration);

}

}

Als (totalA > 800) {//if input is een geperste verandering duur tussen tonen
LED inschakelen
digitalWrite (ledPin2, hoge);
duur = 500;
Serial.println ("500 vertraging");
}
Als (totalB > 800) {//if ingang twee is geperst verandering duur tussen tonen
LED inschakelen
digitalWrite (ledPin2, hoge);
duur = 100;
Serial.println ("100 vertraging");

}
Als (totalC > 800) {//if ingang drie is geperst verandering duur tussen tonen
LED inschakelen
digitalWrite (ledPin2, hoge);
duur = 25;
Serial.println ("25 vertraging");

}

else {}
LED uitschakelen
digitalWrite (ledPin2, laag);
}

willekeurige vertraging te beperken gegevens naar seriële poort
}

char getcap(char pin)
{
char i = 0;
DDRB & = ~ pin;          input
PORTB | = pin;          pullup op
voor (ik = 0; ik < 16; i ++)
Als ((PINB & pin)) breken;
PORTB & = ~ pin;         laag niveau
DDRB | = pin;           kwijting
terug i;
}

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

Gerelateerde Artikelen

Uw eigen Melkweg op een papier... Poster met GELEIDENDE inkt + LEDs

Uw eigen Melkweg op een papier... Poster met GELEIDENDE inkt + LEDs

Ik kwam over de geleidende inkt in mijn onderzoek en als een student vormgeving ik begon op de vraag van het gebruik ervan op mijn projecten. Ik een poster met LEDs en typografie waar licht zou een illustratie van de tekst voor ogen. Voor dit project
Firefly kaart met geleidende inkt

Firefly kaart met geleidende inkt

Deze kaart werd gedaan op De YuKonstruct Circuit Scribe bouwen nacht en gebruikt de Electroninks geleidende inkt pen en een Chibitronics LED sticker.Voor deze kaart u hebt nodig:Donkere cardstock (ik gebruikte de helft van een 8,5 x 11 vel zwart card
Kit verkennen van polyfone geluidssynthese met de geleidende inkt Circuitscribe Circuit

Kit verkennen van polyfone geluidssynthese met de geleidende inkt Circuitscribe Circuit

(Opmerking-Dit is een gastpost voor Eureka! Fabriek door Chuck Stephens als onderdeel van hun Instructables bouwen Night programma.)Ik heb gemaakt in een vorige project een prototyping board voor het Circuitscribe circuit bouwen kit. Hier zal ik gebr
Tekenen-het-zelf - MIDI controller met de geleidende inkt

Tekenen-het-zelf - MIDI controller met de geleidende inkt

'Draw It Yourself' is een MIDI-controller met de geleidende inkt als drukknoppen. Het is gebaseerd op de Arduino, en maakt gebruik van een capacitieve sensor (twee, eigenlijk) om te bepalen of de getekende knoppen zijn geraakt of niet.http://sanidanz
Drawdio geleidende inkt toetsenbord

Drawdio geleidende inkt toetsenbord

dit project was een resultaat smashing samen Kale geleidende inkt met de Drawdio potlood. Ik wilde toetsenbord interface maken de drawdio, zodat een persoon met het interageren kan vergelijkbaar met een synthesizer of piano. Basisstappen voor het bou
Atari Punk Console - geleidende inkt & Your Body

Atari Punk Console - geleidende inkt & Your Body

bouwen van een eenvoudige Atari Punk Console die gebruikmaakt van geleidende inkt en uw lichaam te veranderen het geluid! Het circuit hier was gemodelleerd off van Joshua Zimmerman de prachtige instructable. Het oorspronkelijke ontwerp voor de APC, o
Hoe maak je gepersonaliseerde naambordjes met filigraan papier Strips | DIY Quilled papier brief | Home Decor

Hoe maak je gepersonaliseerde naambordjes met filigraan papier Strips | DIY Quilled papier brief | Home Decor

Hoe maak je gepersonaliseerde naambordjes met filigraan papier Strips | DIY Quilled papier brief | Woon DecoratieIn deze tutorial leert u hoe te maken van gepersonaliseerde naambordjes met filigraan technieken in slechts enkele stappen. Laten we begi
DIY: Hoe maak mooie bloem Danglers met behulp van papier Art filigraan

DIY: Hoe maak mooie bloem Danglers met behulp van papier Art filigraan

DIY: Hoe maak mooie bloem Danglers met behulp van papier Art filigraanHier is de link voor de video voor de bloemen die ik voor de dangler gebruikt heb... Een beetje groot maken van em...Filigraan Made Easy: In deze tutorial leer je hoe je mooie bloe
Hoe te te werken met geleidende stof

Hoe te te werken met geleidende stof

Werken met geleidende stof is leuk en het is ideaal voor wearables, zachte circuits, e-textiel en andere projecten die van zijn eigenschappen profiteren. Leren van de basics zal u helpen om ontwerp en materiaal keuzes op maat van uw toepassing.Dit In
Maak een muzikale Bench

Maak een muzikale Bench

De muzikale Bench is een tentoonstelling die muziek maakt wanneer mensen aanraken, kussen of handen te houden. Het maakt gebruik van een micro-controller te detecteren veranderingen in verzet, via de koperen armleuningen, en speelt hoog of laag notit
Feestelijke elektronische wenskaarten met geleidende paint

Feestelijke elektronische wenskaarten met geleidende paint

dit instructable zal u tonen hoe te maken van elektronische wenskaarten voor elke gelegenheid van uw keuze. Maar mijn doel hier is meestal om aan te tonen hoe kinderen kunnen plezier maken kaarten maar ook leren over elektronica op hetzelfde moment.I
Hoe maak je een brief met een verborgen puzzel / Code

Hoe maak je een brief met een verborgen puzzel / Code

Ik hou gaan naar "Escape from the Room" spelen met mijn vrienden.Voor mijn verjaardag dit jaar verzocht ik ze om samen met mij in een andere lidstaat. Na het evenement en onze schema's coördineren, besloot ik dat ik wilde helpen creëren de sfeer
Hoe maak je een productetiket met silhouet

Hoe maak je een productetiket met silhouet

Eerste veel dank aan silhouet en Instructables voor de ondersteuning van lokale hackerspaces. In deze tutorial zal ik laten zien hoe gemakkelijk het is om het maken van een productetiket maken uw product opvallen. We begon met behulp van de Silhouett
Hoe te maken en verbinding maken met de geleidende inkt

Hoe te maken en verbinding maken met de geleidende inkt

Project invoering:Dit is een instructable demonstreren hoe blote geleidende inkt gebruiken met de blote geleidende bestuur. Het doel van dit project is om te laten zien hoe mensen kunnen maken en verbinding maken met de geleidende inkt.Materialen:-Op