Arduino och bearbetning interagera. (4 / 5 steg)

Steg 4: Laddar programmet Arduino och bearbetning för att testa fountions



Här är Arduino koden:

Kopiera och klistra in dessa kod till Arduino IDE och ladda den till UNO

int bild = 0;
booleska vänster = false;
booleska center = false;
booleska höger = false;
int trignPin1 = 4;
int trignPin2 = 7.
int trignPin3 = 10;
int echoPin1 = 3;
int echoPin2 = 6;
int echoPin3 = 9;
int ledPin1 = 5;
int ledPin2 = 8;
int ledPin3 = 11;
int maxD = 20;
långa int lastTouch = -1; MS
int resetAfter = 2000. MS
int afterSlideDelay = 50; MS; alla bilder ignoreras efter lyckade bilden
int afterSlideOppositeDelay = 500.
vänstra bilderna ignoreras efter framgångsrika högra bilden
int SLIDELEFT_BEGIN = -1; Motion har identifierats från höger
int SLIDELEFT_TO_CENTER = -2; Motion har identifierats från höger till mitten
int SLIDENONE = 0; Ingen rörelse upptäcks
int SLIDERIGHT_BEGIN = 1; Motion har identifierats från vänster
int SLIDERIGHT_TO_CENTER = 2; Motion har identifierats från vänster till mitten

void setup() {
Serial.BEGIN(9600); bit/s
pinMode (ledPin1, produktionen);
pinMode (ledPin2, produktionen);
pinMode(ledPin3,OUTPUT);
}

void loop() {
vänster = echo (trignPin1, echoPin1, ledPin1);
Center = echo (trignPin2, echoPin2, ledPin2);
höger = echo(trignPin3,echoPin3,ledPin3);
om (vänster || center || rätt) {
lastTouch=millis();
}
om ((millis()-lastTouch) > resetAfter) {
bild = 0;
digitalWrite (ledPin1, låg);
digitalWrite (ledPin2, låg);
digitalWrite (ledPin3, låg);
Serial.println ("Återställ bild och timer");
}
om (bild > = SLIDENONE) {/ / endast om vi inte redan i motsatt flytta
om ((till vänster) & & (! rätt))
bild = SLIDERIGHT_BEGIN;
om (center & & (bild == SLIDERIGHT_BEGIN))
bild = SLIDERIGHT_TO_CENTER;
om (rätt & & (bild == SLIDERIGHT_TO_CENTER))
slideNow('R');

}
om (bild < = SLIDENONE) {
om (rätt & & (! vänster))
bild = SLIDELEFT_BEGIN;
om (center & & bild == SLIDELEFT_BEGIN)
bild = SLIDELEFT_TO_CENTER;
om (vänster & & bild == SLIDELEFT_TO_CENTER) {
slideNow('L');
}
}
Delay(50);
}
booleska echo (int trignPin, int echoPin, int ledPin)
{
int d = getDistance (trignPin, echoPin); cm
booleska pinActivated = false;
Serial.Print(d);
om (d < maxD) {
digitalWrite (ledPin, hög);
pinActivated = sant;
} annat {
digitalWrite (ledPin, låg);
pinActivated = false;
}
återvända pinActivated;
}
int getDistance (int trignPin, int echoPin)
{
lång varaktighet, tum, cm;
pinMode (trignPin, produktionen);
digitalWrite (trignPin, låg);
delayMicroseconds(2);
digitalWrite (trignPin, hög);
delayMicroseconds(5);
digitalWrite (trignPin, låg);
pinMode (echoPin, ingång);
längd = pulseIn (echoPin, hög);
tum = microsecondsToInches(duration);
cm = microsecondsToCentimeters(duration);
Return(cm); Du kan även returnera inches
}
void slideNow(char direction) {
om ("R" == riktning)
Serial.println("F");
digitalWrite(ledPin1,HIGH);
om ("L" == riktning)
Serial.println("B");
digitalWrite (ledPin3, hög);
Delay(afterSlideDelay);
bild = SLIDENONE;
}
lång microsecondsToInches(long microseconds) {
återvända mikrosekunder / 74 / 2;
}
lång microsecondsToCentimeters(long microseconds) {
återvända mikrosekunder / 29 / 2;
}

Här är bearbetning koden:
Kopiera och klistra in dessa koden till bearbetning IDE köra när UNO kontakt med datorn.

import processing.serial.*;
int slideStep = 75. Hur många pixlar att glida in/ut
Den aktuella bilden och nästa bilden som ska visas
PImage currentImage, nextImage;

Index för den aktuella bilden.
int imgIndex = 0;

Håller reda på den övergripande bild positionen. Ett negativt tal
anger glidande i från vänster.
int slideOffset;
Alla bildfiler Funna i denna skiss data / katalogen.
String [] Filförteckning;
En serieport som vi använder för att tala med Arduino.
Seriella myPort;
Den här klassen används för att filtrera listan över filer i datakatalogen
så att listan innehåller endast bilder.
klass FilterImages implementerar java.io.FilenameFilter {
offentliga boolean acceptera (filen dir, sträng fname) {
String [] tillägg = {"png", ".jpeg", ".gif", ".tga", ".jpg"};

Acceptera inte en fil om det inte har något av angivna filtillägg
för (int jag = 0; jag < extensions.length; i ++) {
om (fname.toLowerCase () .endsWith (extensions[i])) {
return true;
}
}
returnera false;
}
}
Detta laddar filnamnen till Filförteckning
void loadFileNames() {
java.io.File dir = nya java.io.File(dataPath(""));
Filförteckning = dir.list (nya FilterImages());
}
Den bearbetning installationsmetod som körs en gång
void setup() {
storlek (displayWidth, displayHeight); Gå fullscreen
loadFileNames(); Ladda filnamnen
/ * Detta centers bilder på skärmen. Att fungera korrekt med
Detta läge vi kommer att använda bilden koordinater från center
av skärmen (1/2 av skärmhöjd och bredd).
*/
imageMode(CENTER);
Ladda bilden och ändra storlek på den.
println(filelist[0]);
currentImage = loadImage(dataPath("") + "\\" + fileList[0]);
currentImage.resize (0, höjd);
println(Serial.list());
myPort = ny följetong (denna, Serial.list() [0], 9600);
}
Gå till nästa bild
void advanceSlide() {
imgIndex ++; gå till nästa bild
om (imgIndex > = fileList.length) {/ / se till att vi är inom gränserna
imgIndex = 0;
}
slideOffset = bredd; Börja skjuta i från höger
}
void reverseSlide() {
imgIndex--; gå till föregående bild
om (imgIndex < 0) {/ / se till att vi är inom gränserna
imgIndex = fileList.length - 1;
}
slideOffset = bredd * - 1; Börja skjuta i från vänster
}
void draw() {
Sätta upp en svart bakgrund och Visa bilden.
Background(0);
bild (currentImage, bredd/2, höjd/2);

Ska bilden vara glidande?
om (slideOffset! = 0) {

Ladda nästa bild vid angiven förskjutning.
bild (nextImage, slideOffset + bredd/2, höjd/2);
om (slideOffset > 0) {/ / Skjut från höger (nästa)
slideOffset-= slideStep;
om (slideOffset < 0) {
slideOffset = 0;
}
}
om (slideOffset < 0) {/ / Skjut från vänster (föregående)
slideOffset += slideStep;
om (slideOffset > 0) {
slideOffset = 0;
}
}
om (slideOffset == 0) {

currentImage = nextImage;
}
}
annat {
Om vi inte glidande, Läs den seriella porten.
om (myPort.available() > 0) {
char inByte = myPort.readChar();
Print(inByte); Visar tecknet som lästes
om (inByte == "F") {/ / framåt
advanceSlide();

}
om (inByte == 'B') {/ / bakåt
reverseSlide();
}
Ladda och ändra storlek på nästa bild
nextImage = loadImage(dataPath("") + "\\" + fileList[imgIndex]);
nextImage.resize (0, höjd);
}
}
}

Se Steg
Relaterade Ämnen

Med en NES-kontrollant för emulatorer med Arduino och bearbetning

Jag har hittat flera sätt att ansluta en NES controller till datorn för användning som en emulator gamepad men verkade ingen vara enkel och förenlig med vad jag hade på hand.Den här bara arbeten med Arduino Leonardo, Micro och vederbörlig: https://gi...

Hastighetsmätare med hjälp av Arduino och bearbetning

Hej alla, detta är min första Instructables publikation. Jag kommer att berätta hur man gör en hastighetsmätare med Arduino och bearbetning. Häftiga med hjälp av är behandlingen här, att du kan göra din hastighetsmätare ser cool som den som visas ova...

Snabba kontroll av dc-motor från laptop använder arduino och bearbetning

Hej allaJag är Gustaf raja. Jag skulle här vilja dela varvtalsreglering av dc-motor från datorn genom att använda arduino och bearbetning programvara. i detta projekt bearbetning programvara köra ett enkelt programfönster på datorn. baserat på positi...

Hur man gör en fjärrkontroll kännande web-docka av hacka Twitter, Google, Skype, Arduino och bearbetning!

Hur att manipulera ett fysiskt objekt över webben bara genom att använda gemensamma webbtjänster och tillgängliga data feeds, med några lagt till öppen källkod grejer att avkoda och manipulera data, och slutligen använda data för att flytta och styra...

Taktila tangentbord / game controller med Arduino och bearbetning

detta instructable beskriver ett snabbt och enkelt sätt att skapa ett taktilt tangentbord eller spelenhet med hjälp-kartong,-aluminiumfolie,- och en Arduino.Det ger också Arduino och bearbetning koder för att omedelbart börja spela!Perfekt för snabba...

Kontroll RGB LED med arduino och bearbetning.

Jag kommer idag berätta hur man styr en RGB LED med hjälp av Arduino och bearbetning språk. Detta är min första instructable Vänligen låt mig veta om jag kunde något förbättra och om du har någon form av frågor lämna dem i kommentarrutan, jag skulle...

Låt oss laga: 3D skanner baserat på Arduino och bearbetning

någonsin undrar copypaste metod, användbara i verkliga livet, inte bara i virtuell verklighet? Jag också. Är det 21-talet, och de är närmare än de flesta av alla kan föreställa! Detta är möjligt tack vare 3d skanner och skrivare. Så låt oss försöka S...

TV KONTROLLERBAR fjärrdatorn MP3 spelare använder ARDUINO och bearbetning

Hej var och en. här visar jag min projekt TV kontrollerbar fjärrdatorn MP3 spelare med bearbetning programvara och arduino ombord. Denna projektidé är baserad på att kontrollera datorn med TV-fjärrkontrollen. I detta projekt skapade jag egna MP3-spel...

Roligt spel med arduino och bearbetning

Denna tutorial ska show dig hur man gör en första person FPS-shooter i bearbetning med hjälp av en arduino. Detta projekt lämnades till oss som en avslutande tentamen i en teknisk specialkurs, (gymnasieskolan).Video av projektet! :) (Svårt att spela...

Kontrollera en RGB ledde med Arduino och bearbetning

detta instructable (min första inte mindre) visar hur man styr en RGB ledde med bearbetning och arduino.Den viktiga funktionen att vara färg markeras genom att klicka på en bild, RGB-värdet för den pixel du klickar på bearbetas och skickas till den a...

Hur man gör en enkel lyhörd grafisk med Arduino och bearbetning

Denna ska tutorial undervisar dig hur man använder små delar från en elektronisk leksak skapa i interaktiva ljus- och grafik som kan fungera som början av ett interaktivt konstprojekt. Man använder kodning i arduino, behandling, lödning elektroniska...

Mynt samlare med Arduino och bearbetning

Mynt insamlare "CH-926 mynt insamlare" tillverkades av företaget mynt Selector och kan konfigureras för att känna igen upp till tre olika mynt.Efter konfigurationen returnerar mynt insamlare vissa förkonfigurerade pulsvärden för varje mynt typer...

Väderstation Arduino och bearbetning

bygga en mobil eller hem väderstation och diagram data i realtid på datorn. I diagrammet kartlägger vindens hastighet, tryck, temperatur, och vindriktning för 10 minuter sedan sparar bilden som en jpeg och startar över.Steg 1: Vindmätaren bygga Vindm...

Hemgjord robotarm med hjälp av standarddelar använder Arduino och en bearbetning GUI

Jag nyligen pensionerad och saker jag lovat mig själv var att när jag slutar jag skulle slutföra alla de projekt som jag hade sprungit runt i mitt huvud sedan jag var tonåring. Det är omkring 50 år eller så av projekt. På den tiden fanns det inga mik...

D.D.Tap - interaktiva spel plattform med bearbetning, Arduino och Twitter

D.D.Tap är ett spel som kan spelas med hjälp av sensorer kopplade till Arduino och gränssnitt till spelet producerade med bearbetning. Det är en enkel dance dance revolution som spel som ackumuleras punkt när spelaren aktiverar sensorerna eller tryck...

Arduino, gyroskop och bearbetning

Hej killar, detta är mitt första försök att skriva ett projekt här.Detta är en instructable om hur man läser en gyro-sensor och plotta data med hjälp av programvara på ditt skrivbord. Jag använder gyroskop modell XV81-000 och en arduino. Enheten är e...

Bygga din Internet kontrollerad Video-Streaming Robot med Arduino och Raspberry Pi

< the Instructable och koden är redo. Njut! Lämna en kommentar med du feedback! >Jag är (aka LiquidCrystalDisplay / Itay), en 14 år gammal student från Israel lärande i Max Shein Junior High School för avancerad vetenskap och matematik. Jag gör dett...

Mugg musik: Förvandla vatten till ett Instrument med Arduino och ChucK

Vad händer om du slå alla ledande yta till ett instrument? Gillar, säga... en mugg vatten? Bäst av allt, är det billigt; du behöver bara $1 värt extra elektriska komponenter (inte inklusive Arduino).För detta projekt, min vän skörd och jag kombinerad...

Flytta en Motor med hjälp av Arduino och seriell kommunikation

har du någonsin undrat hur robotar flytta? Har du någonsin velat skriva ett program för att kontrollera en robot? I så fall kommer att denna handledning vara en utmärkt start plats att lära sig elektroniska kontroller med Arduino Microcontroller. Du...