Space Frame struktur kraft sensorer (5 / 6 steg)

Steg 5: Konfigurera program

Koppla Arduino i datorn (en anslutning även jag kan hantera!) och ladda upp koden nedan märkt "ARDUINO". Öppna bearbetning och kör koden nedan märkt "Behandling".

ARDUINO KOD:
=====================
www.plusea.at
läser en analog insignal från fem insatsvaror från din arduino ombord
och skickar det via seriell
/ variabler för insignal stift och
int analogInput0 = 0;
int analogInput1 = 1;
int analogInput2 = 2;
int analogInput3 = 3;
int analogInput4 = 4;
int analogInput5 = 5;

variabel för att lagra värdet
int value0 = 0;
int värde1 = 0;
int value2 = 0;
int value3 = 0;
int value4 = 0;
int value5 = 0;

void setup() {
förklaring av pin lägen
pinMode (analogInput0, ingång);
pinMode (analogInput1, ingång);
pinMode (analogInput2, ingång);
pinMode (analogInput3, ingång);
pinMode (analogInput4, ingång);
pinMode (analogInput5, ingång);

börja skicka över seriell port
Serial.BEGIN(9600);
} / / end setup

void loop() {
läsa av värdet på analog ingång
value0 = analogRead(analogInput0);
värde1 = analogRead(analogInput1);
value2 = analogRead(analogInput2);
value3 = analogRead(analogInput3);
value4 = analogRead(analogInput4);
value5 = analogRead(analogInput5);

skriva ut värdet över den seriella porten
Serial.Print (1, BYTE); prefix
Serial.Print(value0);
Serial.Print (10, BYTE); slutet signal

Serial.Print (2 BYTE);
Serial.Print(value1);
Serial.Print (10, BYTE);

Serial.Print (3, BYTE);
Serial.Print(value2);
Serial.Print (10, BYTE);

Serial.Print (4 BYTE);
Serial.Print(value3);
Serial.Print (10, BYTE);

Serial.Print (5, BYTE);
Serial.Print(value4);
Serial.Print (10, BYTE);

Serial.Print (6, BYTE);
Serial.Print(value5);
Serial.Print (10, BYTE);

vänta lite för att inte överbelasta hamnen
Delay(100);
} / / end loop

BEARBETNING KOD:
=====================
/*
* Baserat på koden av Hannah Perner-Wilson, www.plusea.at
* Ändrat av Sam Kronick www.newuntitledpage.com
*/

import processing.serial.*;

definition av fönsterstorlek
Du kan ändra storleken på fönstret som du vill
thresholdGraph skalas för att passa
den optimala storleken för thresholdGraph är 1000 x 400
int xWidth = 800;
int yHeight = 600;

Aktuella värden
int [] värden = {0,0,0,0,0,0}.

Tid-genomsnitt värden
int [] avgCounter = {0,0,0,0,0,0}.
int [] avgs = {0,0,0,0,0,0}.

statiska sista int intervall = 5;

Noll tvinga värden, ändrat på mellanslagstangenten press
int [] nollor = {0,0,0,0,0,0}.

variabler för seriell anslutning. portname och baudvärde är användarspecifika
Seriella port1;

Ange den seriella porten här (se listan skrivs ut när du kör programmet en gång)
Sträng V3 = Serial.list() [0];
String portname1 = V3;
int baudvärde = 9600;

int prefix = 1;
booleska myCatch = sant;
int serialIN = 0;
int serialINPUT = 0;
Strängbuffert = "";
int värde = 0;

void setup() {
Ange storlek och framerate
storlek (xWidth, yHeight);
frameRate(25);
Background(255);
strokeWeight(5);
stroke(0);
Smooth();
colorMode(HSB);

upprätta seriell anslutning
PORT1 = ny följetong (denna, portname1, baudvärde);
println(Serial.list()); skriva ut Följetong Lista

} //end setup

void keyPressed() {
om (nyckel == "") {
för (int jag = 0; jag nollor [i] = avgs [i];
}
}
}

Rita lyssnar till serieport, rita
void draw() {
Background(255);

lyssna till seriell port och utlösa seriell händelse
While(PORT1.available() > 0) {
serialIN = port1.read();
serialEvent(serialIN);
}

för (int jag = 0; jag < 4; i ++) {
om (frameCount % INTERVALLET > 0) {
avgCounter [i] += värden [i];
}
annat {
AVGs [i] = avgCounter [i] / intervall.
avgCounter [i] = 0;
}

om (avgs [i] - nollor [i] < 0)
fyllning (0, 20 *-(avgs [i] - zeros[i]), 250);
annat
fyllning (100, 20 * (avgs [i] - zeros[i]), 250);

rect (bredd/2, höjd/4 * i, 10*(avgs[i]-zeros[i]), höjd/4);
}

}

void serialEvent (int serialINPUT) {
IF(myCatch == true) {
om (serialINPUT! = 10) {
lägga till händelsen i buffert
buffert += char(serialINPUT);
println(serialINPUT);
}
annat {
om seriell anges radbrytning värdet att buffra värde och rensa buffert
värde = int(buffer);
Values[(prefix-1)] = värde;
myCatch = false;
buffert = "";
}
}
myCatch är beginging av varje sended numret används för att definiera hamnen
myCatch blir sant om följetong är mindre än 10 eftersom huvudet är 1-9
om (! myCatch & & serialINPUT < 10) {
myCatch = sant;
prefix = int(serialINPUT);
}
}

Se Steg
Relaterade Ämnen

Space Frame gemensamma för komplexa strukturer

Detta är gemensamt! Detta är sylt... För att skapa strukturella fackverket system både enkla och komplexa. Det görs från två upprepade plåtdetaljer och off hyllan hårdvara. Den har åtta styrleder som gör en octahedron för att hitta sammansatta vinkla...

3D tryckt kraft Sensor för klassrummet

3D-skrivare blir vanligare i skolorna nuförtiden, men vilka typer av utbildning relevanta saker kan de användas för? Varför inte en inledande lektion i fysik?!I detta instructable jag ska visa dig hur man bygger en fungerande 3D tryckt belastningsmod...

O2 Sensor ersättning - Goodbye Check Engine ljus

Jag köpte en 98 Ford ranger XLT flera månader sedan och har arbetat igenom det fastställande frågor när tiden tillåter. Idag bestämde jag mig att tackla pesky kontrollera motorn ljus som har varit på sedan jag köpt fordonet. Detta instructables inneh...

Frei Otto Nästa Generation arkitektonisk modell

Detta instructable krönikor den process som jag följt från tillverkning befruktningen till slutförandet av en arkitektonisk skalenlig modell av en ursprungliga struktur som tog stora design och ingenjörskonst frå från Frei Otto Manhiem Pavilion i Tys...

Physic bakom himlen lyktor

Hej alla,i detta instructable kommer jag förklara principen om flyg luftballong (känd som himlen lyktor). Jag hade varmluftsballonger för skolprojekt, så jag tänkte att det kan vara intressant för andra människor se hur varmluftsballonger fungerar oc...

Tornerspel Robot (LabVIEW kod)

Detta instructable kommer att gå över den LabVIEW kod som jag skrev att styra en tornerspel robot. Detta är en djupgående förklaring av koden. Om inte du är intresserad av förklaringen, kopplas den LabVIEW VI det sista steget.För robot använde jag tv...

Äventyr i El: en interaktiv ljus diorama

varifrån kommer El? Vem uppfann glödlampan? Hur städer använder denna teknik idag?Det är bara några frågor som vi hoppas till adress i denna interaktiva diorama, äventyr av El!Detta projekt utformades i undervisningssyfte så att yngre generationer ka...

Easy Hovercraft

IntroduktionVi är team 15, rosa elefant, från Joint Institute. JI är ett institut som erbjuder oss elever en integration av överlägsen undervisning resurser och lägen från SJTU och UM, ligger i Shanghai Minhang district, Shanghai. Labbet i JI byggnad...

Autonoma växthusgaser Factory

(kom ihåg: detta är min första instructable, och min första uppsats-liknande sak jag någonsin post online, och min första gången kodning med arduino)Detta är min impulsiva sida när jag släpper sitt koppel. Jag normalt gå och göra något galet som denn...

Hur man bygger en Freescale Avionics modul

Så vi har en något dyrt men märkligt tillfredsställande hobby: High Powered Rocketry.Höga Powered rocketry är precis vad det låter som, det är en klass av amatör Rocketry med större raketer och större fasta motorer. Läs mer om High Powered Rocketry v...

Iscensätta en 3 hjul fordonets chassi

Mitt universitet senior projekt var mycket ambitiös. Under loppet av ett år (2011), mig och tre andra maskinteknik studenter utformade och tillverkade ett komplett solar race bil chassi inklusive ram, fjädring, hubbar, spindlar, bromsar och styrning....

Smart säng larm med LinkIT en

Min syster har den värsta tiden komma ur sängen på morgonen. Jag svär en marching band kunde gå igenom hennes sovrum och hon skulle inte så rulla över, än mindre att komma ur sängen. För att hjälpa henne, beslöt jag att skapa ett Smart Alarm för henn...

Anpassade låg kostnad magnetiska modell Construction Kit från dricka sugrör

jag älskar leker med leksaker som Geomags och Magnetix. De är de små plast stavarna med magneter i slutet som klickar in på stål sfärer form geometriska former. Jag ser dem mycket i museet gåva butiker av någon anledning.Det finns tre problem jag har...

Hungriga LED Arduino plattan

Som grafisk formgivare och illustratör jag strävar efter att svänga alla mina bitar mot en ljus hearted känsla. När du presenteras med möjlighet att skapa något jag ville använda en Arduino, var den väg jag valde inte lätt eftersom det finns så många...

Internet ansluten skala

Tänk om du aldrig hade oroa löpande ute om din favorit saker, eftersom ett nytt paket av dem skulle komma strax innan du gjorde!Det är tanken för NeverOut - internet anslutna skala. Lagra något på den och aldrig tar slut, eftersom molnet vet hur myck...

Komplett nybörjare steg för steg, 3D-skrivare med alla delar listor

Intro, prelude, eller bara: Vem är detta avsett för?Jag ville ha titeln att inkludera billigt, men kan möta det: det är inte billigt att bygga en 3D-skrivare om du har vissa/de flesta av komponenterna på sidan eller om du hittar bara blyg av 100 £ so...

Hur man gör en uttryckssymbol jacka med LCD-skärm

Konceptet:Jag skulle vilja göra en jacka som har en liten LCD skärm att skapa undertexter för interpersonell mänsklig interaktion. Användaren skulle använda en begränsad "tangentbord" med kraft sensorer och knappar under mjuk silikon nycklar för...

Bygga en 5-axlig robotarm med Arduino och DynamixShield

I detta instructable jag kommer att visa dig hur du snabbt och enkelt skapa en 5-axlig robotarm med kommersiella off-the-shelf komponenter och kontrollera den med en Arduino med en DynamixShield. DynamixShield är ett nytt tillägg för antingen Arduino...

Zombie Electro-death Blaster Gun Photoshop

krav:vissa photoshop/photoediting grunderna färdigheterfantasi,Photoeditor,billiga digital kamera/lager bilder,mus,hat mot de odöda.Jag byggde den här pistolen i photoshop CS2 men det kan göras i CS1 eller högre utan ändringar, och likaså med ganska...