Arduino Lilypad Interactive Passion Sensing Scarf: 7 trin (med billeder)

Arduino Lilypad Interactive Passion Sensing Scarf: 7 trin (med billeder)

Indholdsfortegnelse:

Anonim

Dette var min første gang at arbejde med en Arduino Lilypad. Jeg har lyst til at prøve noget, der beskæftiger sig med bløde kredsløb i et stykke tid nu. Dette projekt er, hvad jeg kom op med. Konceptet er baseret på min ven Ethan Dicks fra theFusefactory.org's emergent Sheep Sculpture projekt.

Det Lilypad Interactive Passion Sensing Scarf fungerer som sådan:

Tørklæde nummer én bæres af en person, der går alene vil lyse op med farven Blå for ensom. Når bæreren af ​​tørklæde nummer to slutter sig sammen med nummer et, vil de to tørklæder mærke hinanden og derefter lyse op Red for Love.

Fremtidige planer for kapacitans berøring: som vil tillade farverne at Pulsere for lidenskab hvis man bærer rører den anden bærer tørklæde.

Nedenfor er en video, så du kan se, hvordan det virker. Bemærk venligst, at dette er et igangværende arbejde, jeg har kun elektronikken indlejret i et tørklæde lige nu. Jeg arbejder stadig og fuldender disse. Du er velkommen til at dele dine ideer gratis!

forsyninger:

Trin 1: Materialer

Her er en liste over de elementer, du skal bruge for at fuldføre dette projekt. Til Lilypad-emnerne købte jeg alt fra FunGizmos.com. Du skal bruge to af hver til at lave to tørklæder.

Besparelser Tip: Hvis du har brug for at spare penge, kan du have en af ​​tørklæderne kun som en emitter, som kun behøver IR-senderen og et batteri.

Elektroniske komponenter

1. Lilypad Arduino Board

2. Lilypad Tri-Color LED

3. Coin Cell Holder

4. 3V Coin Cell Batteri 20mm

(eller du kan bruge nogen af ​​de andre strøm- og batteristyringer til Lilypad)

5. Ledende tråd

6. Lilypad Button Board (valgfrit)

7. (x2) Infrarød Emitter og Phototransistor Detektor - tilgængelig på RadioShack

8. Modstande 10Kohm og 56ohm

9. FTDI Basic Breakout Board (bruges til at programmere Lilypad)

Tørklæde komponenter - For stofbehovet gik jeg til min lokale håndværksbutik.

1. Jeg brugte to forskellige farvede fleece tørklæder

2. To forskellige stoftryk (jeg havde 1 m af hver)

3. Heat'n Bond Ultra Hold Iron-On Adhesive

4. Fabric maling

5. Jernplaster (valgfri)

Trin 2: Pattern Creation

Til mine tørklæder ønskede jeg flammer til designerne. Jeg brugte en gammel filmappe og tegnet flamme figurer på den for at bruge som et mønster.

Når jeg havde mine mønsterformer, brugte jeg klæbemidlet og stramte det på undersiden af ​​stoffet. Klæbemidlet har et papir tilbage på den ene side (du vil have denne side op).

Med klæbemidlet nu på stoffet spores jeg min flamme på papirsiden og skar derefter formen ud. Fjern ikke papiret endnu! Hold dette på, indtil du er klar til at stryge det på tørklædet.

Tip: Stryg på klæbemidlet, inden du skærer dine stofmønsterformer. Dette vil holde dit stof friteret!

Trin 3: Sy Elektronik

MakeZine har en rigtig god video tutorial af Becky Stern på at komme i gang med Lilypad. Dette er det, jeg nævnte, da jeg kom i gang med dette projekt.

Som du kan se i det første billede, havde jeg strømkredsløbet for tæt på Lilypad. Jeg måtte senere flytte det, da jeg begyndte at sy min kredsløbspor.

Det egentlige kredsløb er ret simpelt. Tilslut positiv kraft og jord fra batteriet til Lilypad. Så pin outs er som følger:

int statusPin = 13; // Indbygget status LED er forbundet til digital pin 13

int redPin = 11; // R petal på RGB LED-modul tilsluttet digital pin 11

int greenPin = 9; // G petal på RGB LED modul tilsluttet digital pin 9

int bluePin = 10; // B petal på RGB LED modul tilsluttet digital pin 10

int sensorPin = 5; // IR fototransistor forbundet til digital pin 5

int irPin = 6; // IR LED tilsluttet digital pin 6

BEMÆRK: komplet Arduino skitse er i slutningen af ​​denne instruktør

TIP: Du kan bruge nogle af dine skrotstykker stof til at holde dine kredsløbsspor tilbage. Det er vigtigt, at de ikke krydser eller rører hinanden, så du ikke opretter en kort.

TIP: Som du kan se, vil undersiden af ​​dit tørklæde se lidt grimt ud med kredsløbsporerne igennem. Du kan dække dette ved enten at sy et andet tørklæde ovenpå (efterlade en åbning for at programmere din Lilypad) eller ved at skære et tørklæde ud af det ekstra stof du brugte til dine mønsterformer.

Trin 4: Infrarød emitter og fototransistor

IR-emitteren er den farvefarvede, og fototransistoren (detektoren) er den med den klare pakke.

Du skal tilføje nogle modstande til emitteren og detektoren. Jeg brugte en 10Kohm modstand (brun, sort, orange) på detektoren og en 56ohm modstand (grøn, blå, sort) til emitteren.

For at skjule komponenterne, da emitteren og detektoren vil være på forsiden af ​​tørklædet, brugte jeg en iron-on patch. Jeg krøllede lederne af hver af emitteren og detektoren, så brugte en exacto kniv og skåret en "X" spalt i hver af øjnene. Dette tillod mig at skubbe emitter og detektor gennem plasteren.

Hook-up: Emitteren og detektoren bliver hver især koblet fra POWER til RESISTOR til LILYPAD PIN til IR LED til GROUND. Se skematisk på dette trin for bedre forståelse. Flere oplysninger om pull up resistors ved Make Online.

BEMÆRK: Fuld skematisk er i slutningen af ​​denne vejledende.

TIP: Du kan ikke se IR LED'en lyser op. Hvis du ser dem gennem dit digitalkamera, vil du kunne. Du vil bemærke i min video, at du kan se emitteren lyser op.

Trin 5: Iron-on mønstre

Når du er klar til at stryge på dine mønstre. Sæt jern til medium varme med ingen damp. Skræl af papirbakken og arranger dine mønstre, hvor du vil have dem placeret på tørklædet.

Jeg sørgede for min, at jeg var i stand til at skjule nogen af ​​den ledende tråd, der ville blive set.

Afhængigt af dit tørklæde stof, vil du ikke holde jernet for længe på ét sted. Jeg brugte fleece, så jeg var nødt til at bevæge mig hurtigt og trykke hurtigt ned for at undgå smeltning og / eller brænding af stoffet.

Når alt er blevet stryget på tørklædet, gik jeg rundt om kanterne ved hjælp af stofmaling. Dette hjælper med at tjene to formål. Det hjælper med at holde stoffet sikkert og tilføjer også en lille pop til figurerne.

TIP: Lad stoffet tørre over natten i et varmt område. Dette vil hjælpe maling tørre. Hvis du havde dette i en kold garage eller noget, så vil malingen senere revne.

BEMÆRK: Hvis du er praktisk med syning eller en symaskine, kan du sy ned mønstrene. Jeg er ikke på det niveau endnu, så det var den nemmeste måde for mig at gøre det.

Trin 6: Arduino Sketch

Jeg har tilføjet Ethan Dicks originale fåreskulpturskitse til dette trin. Jeg vil tilføje en opdateret skitsefil på et senere tidspunkt, når jeg har færdiggjort designet. Dette vil i det mindste komme i gang med to arbejdsdukker.

/ * ++ Sheep - Brug en kombination af RGB- og IR-LED'er og en fotosensor til at efterligne crowd-reactive (emergent) adfærd. Denne kode går med Fuse Factory Workshop "Lav en Emergent Behavior Sculpture With The Arduino" http: // thefusefactory. org / 2009/09/03 / make-a-emergent-adfærd-skulptur-med-the-arduino / Scultpture eller "får" er en kunstnerisk samling af et Lilypad Pro-sæt (Lilypad base fastgjort til en Lilipad 5V strøm enhed) med en tre-farve LED monteret over 328V MCU på Lilypad bordet. En stor Lilypad Protoboard sidder mellem PSU og Lilypad sig selv for at styre strøm og holde modstande og IR komponenter. Illusionen af ​​en quadraped er afsluttet med 1W og 2W LED'er loddet til PSU'en "body" og bøjet som ben. Koden afhænger af en vedvarende variabel kaldet "humør" - når det er nul eller næsten nul, er fåren "glad". Under nul og fårene er "ensomme"; over nul og fårene føler sig overfyldte eller agiterede. Ensomhed er repræsenteret af blå, lykke med grønt og agitation med rødt. Ind imellem udtrykker "humør" (ved hjælp af PWM for at skygge RGB-LED'en) kontrollerer hoveddelen af ​​koden IR-impulser fra andre får og kan afgive sine egne impulser for at "kalde" til andre får. Ved at tilpasse interne variabler kan fårene mere eller mindre følsomme over for andre fårs kald. Den fremadrettede adfærd kommer ud, når flere får samles og lægges på et bord og ringer til hinanden. Fløjen af ​​IR-impulser kan få fårene til at være lykkelige eller måske agiterede. Få impulser og fårene viser ensomhed. Sheep.pde - Skift en Arduino til en fremtrædende adfærdskulptur Copyright (C) 2009, Ethan Dicks Dette program er gratis software: Du kan omfordele det og / eller ændre det i henhold til GNU General Public License som offentliggjort af Free Software Foundation, enten version 3 i Licensen eller (efter eget valg) enhver senere version. Dette program distribueres i håb om at det vil være nyttigt, men uden nogen garanti. uden selv den underforståede garanti for SALGBARHED ELLER EGNETHED TIL ET BESTEMT FORMÅL. Se GNU General Public License for flere detaljer. Du skulle have modtaget en kopi af GNU General Public License sammen med dette program. Hvis ikke, se.-- * // * ++ Variabel initialisering - før koden starter, sæt alle de brugerjusterbare parametre øverst, så de er nemme at finjustere. - * /// Definitioner af "humør" værdier #define MOODMAX 80 #define MOODMIN (-1 * MOODMAX) #define LONELY (MOODMIN) #define HAPPY (0) #define CROWDED (MOODMAX) #define MSTEPS 5 #define BLEAT_VOLUME 1 // Globale definitioner af pin-opgaver (for at forenkle individuelle funktionsopkald) int statusPin = 13; // Statusindikator om bord er tilsluttet digital pin 13int redPin = 11; // R petal på RGB LED-modul tilsluttet digital pin 11int greenPin = 9; // G petal på RGB LED-modul tilsluttet digital pin 9int bluePin = 10; // B petal på RGB LED modul tilsluttet digital pin 10int sensorPin = 5; // IR fototransistor tilsluttet digital pin 5int irPin = 6; // IR LED tilsluttet digital pin 6 // Start med at forvente at være glad int humør = HAPPY; // Hold styr på følelsen af ​​input pinint eye = 0; // Og husk, hvordan "højt" vi "blærer" (blinker vores IR LED) int bleat = BLEAT_VOLUME; / * ++ setup () - Arduino miljøet kalder koden i opsætning () en gang kun, lige efter at bordet er nulstillet. Sæt kode i denne funktion for at initialisere I / O-ben og sådan - ting, der kun skal gøres en gang i løbet af et løb. --*/ugyldigOpsætning() {// til debugging Serial.begin (9600); Serial.println ("Sheep v0.02"); // For det meste er vores I / O-stik udgange til LED'erne pinMode (statusPin, OUTPUT); // angiver statusPin som en output pinMode (redPin, OUTPUT); // indstiller redPin til at være en output pinMode (greenPin, OUTPUT); // sætter greenPin som en output pinMode (bluePin, OUTPUT); // angiver bluePin som en output pinMode (irPin, OUTPUT); // indstiller irPin til en udgang // En undtagelse er IR fototransistor pinMode (sensorPin, INPUT); // indstiller sensorPin til at være et input Serial.print ("Indstil IR 'bleat' til"); Serial.println (bleat); analogWrite (irPin, bleat); } / * ++ loop () - Arduino miljøet vil kalde koden i denne sløjfe for evigt. Sæt interessante ting her, der skal løbe uendeligt efter installationen () kaldes en gang. Den eneste vej ud af denne løkke er at nulstille bordet. --*/ugyldigløkke() // Kør igen og igen {// Sæt vores RGB LED for at afspejle vores "humør", som forhåbentlig vil ændre sig fra tid til anden set_mood (humør); // Sænk hvor hurtigt vi reagerer på anden "får" forsinkelse (100); // forsinkelse for.1 sekund // sensorPin har en 10K pullup modstand, så * nej * lys rapporterer a 1. Vi skal // omgå den logiske følelse af stiften, hvis vi vil tænke på lyset logisk // som 1 -is-on / 0-er-off eye = 1 - digitalRead (sensorPin); // sætte øje med 1 hvis vi "se" noget IR-lys // Rapporter vores nuværende status hver gang gennem loop Serial.print ("Humør er"); Serial.print (humør); Serial.print ("Sensor er"); Serial.println (øje); // Hvis vi ser pulser fra et andet 'får', øges stemningen, men ikke forbi MOODMAX hvis (øje) {// da mennesker ikke kan "se" infrarødt lys, skal du bruge statuslampen som en synlig indikator digitalWrite (statusPin, HIGH); // ekko IR input detektion på status LED humør + = MSTEPS * 2; hvis (humør> MOODMAX) {humør = MOODMAX; }} // Hvis vi ikke ser nogen IR-impulser, mindsk humøret, men ikke under MOODMIN ellers {// da mennesker ikke kan "se" infrarødt lys, skal du bruge statuslampen som en synlig indikator digitalWrite (statusPin, LOW); // ekko IR input detektion på status LED humør - = 1; hvis (humør <MOODMIN) {humør = MOODMIN; }}} / * ++ set_mood - konverter "humør" til et farveskema Humør varierer fra noget negativt tal til samme værdi som et positivt tal (hidtil -80 / + 80 og -100 / + 100 producerer rimelige resultater). Proportionalt er kontinuiteten af ​​humør til farve kortlægning ligner følgende: Humør -100 0 +100 Enlig -> Glad -> CrowdedR 0 0 0 30 100G 0 30 100 70 0B 100 70 0 0 0 - * / void set_mood (int humør) {// Start med hver farve er slukket - juster opad baseret på "humør" unsignedchar rødhed = 0; unsignedchar greenness = 0; unsignedchar blueness = 0; #ifdef DEBUG Serial.print ("Humør er"); Serial.println (humør); #endif // blueness handler om humør er mindre end glad hvis (humør <HAPPY) {blueness = abs (humør); greenness = MOODMAX + humør; } // rødhed handler om, at humør er mere end glad elseif (humør> HAPPY) {rødme = humør; greenness = MOODMAX - humør; } // greenness handler om humør er glad glad ellers {greenness = MOODMAX; } // Indstil LED'en for at afspejle vores nuværende stemningsfarve (rødhed, grønhed, blueness); } / * ++ farve (r, g, b) - indstil trefarvet lysdioden til den ønskede farveværdi Brug analogwrite (pin, værdi) til at indstille PWM-værdi for hver enkelt LED-farve Tri-farve LED er en common- anode enhed, så for at lave lys, vi jordede den ønskede pin. For at omdanne PWM-bølgeformen trækker vi den ønskede intensitet fra 255, så hvis vi f.eks. Vil have rødt, logisk, passerer vi omkring en værdi på nul, men indstiller PWM-værdien til 255, så stiften drives højt 100% af tiden.For at komme rødt til den maksimale lysstyrke, passerer vi omkring en logisk værdi på 255, men indstiller PWM-værdien til 0, og trækker denne pin lavt 100% af tiden.-- * / tomrumsfarve (unsignedchar rød, unsignedchar grøn, unsignedchar blå) // den farvegenererende funktion {#ifdef DEBUG Serial.print ("color ("); Serial.print (rød, HEX); Serial.print (blå, HEX); Serial.print (grøn, HEX); Serial. println (")"); #endif // invertere følelsen af ​​PWM-værdien, når du kalder analogWrite () for hver farve analogWrite (redPin, 255-rød); analogWrite (bluePin, 255-blue); analogWrite (greenPin, 255-green); }

Trin 7: Skematisk

Skematisk er knyttet til dette trin som en Adobe PDF-fil. Dette var den originale fårfil, men jeg laver tørklæderne op med samme metode.

Hvis du tilføjer til denne ide, som jeg håber nogle vil … email mig, ville jeg elske at se, hvad andre har tilføjet.

- Tænk det - Byg det - Del det -

www.ArduinoFun.com