Domotica con Arduino + iPhone (ipharduino)



Utilizzando bearbetning kommer Ide master comunicazione IP tra iPhone - Router - bearbetning, tramite questo piccolo
skissa ho sintetizzato:
-Server
-Controller Arduino
-Controller Usb

Di seguito incollo il codice bearbetning.
Vi ricordo ch e per poter funzionare occorre scaricare le 3 Libreria fondamentali
OscP5, NetP5, CC. Arduino,

----------------------------------------------------------

import oscP5.*; Load OSC P5 bibliotek
import netP5.*; Ladda net P5 bibliotek
import processing.serial.*; Load seriell bibliotek
import cc.arduino.*;

Seriella arduinoPort; Ange arduinoPort som seriell anslutning
OscP5 oscP5; Ange oscP5 som OSC anslutning

int redLED = 0; redLED låter oss veta om lampan är på eller av
int [] ledde = nya int [2]. Matrisen kan läggas till mer växlingsknappar i TouchOSC

void setup() {
size(100,100); Bearbetning skärmstorlek
noStroke(); Vi vill inte en disposition eller Stroke på vår grafik
oscP5 = ny OscP5(this,8000); Starta oscP5, lyssnar efter inkommande meddelanden på port 8000
arduinoPort = ny följetong (denna, Serial.list() [2], 9600); Ställ in arduino att 9600 baud
}

void oscEvent (OscMessage theOscMessage) {/ / detta kör när en ny OSC meddelande

Sträng addr = theOscMessage.addrPattern(); Skapar en sträng av OSC meddelandet
IF(addr.indexOf("/1/Toggle")! =-1) {/ / filtrerar bort alla växlingsknappar
int jag = int((addr.charAt(9))) - 0x30; Returnerar ASCII-numret så konvertera till ett reellt tal genom att subtrahera 0x30
ledde [i] = int(theOscMessage.get(0).floatValue()); Sätter Alternativknappens värde i ledde [i]
Knappen värden kan läsas med hjälp av led [0], ledde [1], ledde [2], etc.

}
}

void draw() {
Background(50); Sätter bakgrunden till en mörk grå, kan vara 0-255

om (ledde [1] == 0) {/ / om ledde knappen 1 om off...
arduinoPort.write("a"); Skickar den karaktär "r" till Arduino
redLED = 0; Anger redLED färg till 0, kan vara 0-255
}
om (ledde [1] == 1) {/ / om led-knappen 1 är på...
arduinoPort.write("A"); Skicka karaktären "R" till Arduino
redLED = 255; Anger redLED färg till 255, kan vara 0-255
}
Fill(redLED,0,0); Fylla rektangeln med redLED belopp
ellips (50, 50, 50, 50); Skapade en ellips på 50 pixlar från vänster...
50 pixlar från toppen och en bredd på 50 och höjd 50 pixlar
}

----------------------------------------------------------

Guardando il codice noterete che i bas all'output captato i rete dal touchosc
0 o 1, bearbetning scriverà nella seriale di arduino 2 valori:
en, A.
Quindi i arduino bisogna installare uno script che tju questi 2 valori
e li trasformi i funzioni, ad es. LedOn/LedOff... ECC...
di seguito vi incollo il codice da installare dentro arduino:

----------------------------------------------------------

#define LED_PIN1 4
#define LED_PIN2 5
#define LED_PIN3 6
#define LED_PIN4 7

#define LED_PIN5 8
#define LED_PIN6 9
#define LED_PIN7 10
#define LED_PIN8 11

int firstSensor = 0; första analog sensor
int secondSensor = 0; andra analog sensor
int thirdSensor = 0; digital sensor
int inByte = 0; inkommande seriell byte
booleska status_unlock;
booleska status_bluetooth;

långa intervall = 1000; intervall som blinka (millisekunder)
lång previousMillis = 0; kommer att lagra förra gången LED var uppdatering
int minite, SEK;

void setup()
{
Starta serieport på 9600 bps:
Serial.BEGIN(9600);
pinMode (2, ingång); digitala sensorn är på digital stift 2
establishContact(); Skicka en byte att upprätta kontakt tills mottagaren svarar

pinMode (LED_PIN1, OUTPUT);
pinMode (LED_PIN2, OUTPUT);
pinMode (LED_PIN3, OUTPUT);
pinMode (LED_PIN4, OUTPUT);

pinMode (LED_PIN5, OUTPUT);
pinMode (LED_PIN6, OUTPUT);
pinMode (LED_PIN7, OUTPUT);
pinMode (LED_PIN8, OUTPUT);

digitalWrite (LED_PIN1, låg); Stäng av LED
digitalWrite (LED_PIN2, låg); Stäng av LED
digitalWrite (LED_PIN3, låg); Stäng av LED
digitalWrite (LED_PIN4, låg); Stäng av LED

digitalWrite (LED_PIN5, låg); Stäng av LED
digitalWrite (LED_PIN6, låg); Stäng av LED
digitalWrite (LED_PIN7, låg); Stäng av LED
digitalWrite (LED_PIN8, låg); Stäng av LED

status_bluetooth = sant;
status_unlock = false;
SEC = 0;
}

void loop()
{
om (Serial.available() > 0) {

inByte = Serial.read(); få inkommande byte:

om (inByte == "A") {
digitalWrite (LED_PIN1, hög); slå på LED
Serial.Print ("A", BYTE); Skicka en char
Delay(800);
digitalWrite (LED_PIN1, låg); Stäng av LED
status_unlock = false;
inByte = 0;
}

om (inByte == "a") {
digitalWrite (LED_PIN2, hög); slå på LED
Serial.Print ("a", BYTE); Skicka en char
Delay(800);
digitalWrite (LED_PIN2, låg); Stäng av LED

status_unlock = sant;
SEC = 0;
inByte = 0;
}

om (inByte == 'B') {
digitalWrite (LED_PIN3, hög); slå på LED
Serial.Print ("B", BYTE); Skicka en char
inByte = 0;
}

om (inByte == 'b') {
digitalWrite (LED_PIN3, låg); Stäng av LED
Serial.Print ("b", BYTE); Skicka en char
inByte = 0;
}

om (inByte == "C") {
digitalWrite (LED_PIN4, hög); slå på LED
Serial.Print ("C", BYTE); Skicka en char
inByte = 0;
}

om (inByte == "c") {
digitalWrite (LED_PIN4, låg); Stäng av LED
Serial.Print ('c', BYTE). Skicka en char
inByte = 0;
}

om (inByte == hade ") {
digitalWrite (LED_PIN5, hög); slå på LED
Serial.Print (hade ", BYTE); Skicka en char
inByte = 0;
}

om (inByte == hade ") {
digitalWrite (LED_PIN5, låg); Stäng av LED
Serial.Print (hade ", BYTE); Skicka en char
inByte = 0;
}

om (inByte == "E") {
digitalWrite (LED_PIN6, hög); slå på LED
Serial.Print ("E", BYTE); Skicka en char
inByte = 0;
}

om (inByte == "e") {
digitalWrite (LED_PIN6, låg); Stäng av LED
Serial.Print ("e", BYTE). Skicka en char
inByte = 0;
}

om (inByte == "F") {
digitalWrite (LED_PIN7, hög); slå på LED
Serial.Print ("F", BYTE); Skicka en char
inByte = 0;
}

om (inByte == "f") {
digitalWrite (LED_PIN7, låg); Stäng av LED
Serial.Print 'f', BYTE. Skicka en char
inByte = 0;
}

om (inByte == "G") {
digitalWrite (LED_PIN8, hög); slå på LED
Serial.Print ("G", BYTE); Skicka en char
inByte = 0;
}

om (inByte == "g") {
digitalWrite (LED_PIN8, låg); Stäng av LED
Serial.Print ("g", BYTE); Skicka en char
inByte = 0;
}

om (inByte == s ') {

Serial.Print ('S ', BYTE); Skicka en char
status_bluetooth = sant;
SEC = 0;

}
} / / om (seriell

/*
osignerade långa currentMillis = millis();

om (currentMillis - previousMillis > intervall) {
previousMillis = currentMillis; spara den senaste gången du blinkade lysdioden

SEC ++;

IF(status_unlock==true) {

IF(SEC== 11) {

digitalWrite (LED_PIN1, hög); slå på LED

Delay(800);
digitalWrite (LED_PIN1, låg); Stäng av LED

status_unlock = false;
SEC = 0;
}
}
annat SEK = 0;

}

*/

} //Loop

void establishContact() {
medan (Serial.available() < = 0) {
Serial.Print ('. ', BYTE); Skicka ett kapital A
Delay(500);
}
}
----------------------------------------------------------

Relaterade Ämnen

Sistema GPS con Arduino + M2M sköld

En el siguiente tutorial realizaremos un sistema GPS con Arduino y un sköld especial para ello lamadjur Arduino M2M sköld desarrollado por MCI elektronik, donde obtendremos el recorrido realizado junto con el valor de FN: s sensor, estos pueden ser a...

Alarma/Despertador con Arduino

Este es el primer proyecto que subo y escribo y me gustaría compartirlo pues me parece un proyecto muy interesante y muy entretenido.La idé para este proyecto fue porque tenia sv casa un pequeño reloj despertador desde navidad que inget había usado p...

Calculando cuantos dias har vivido con Arduino

El proyecto consiste un realizar un programa capas de calcular la cantidad de días transcurridos de una fecha en otra fecha suponiendo que la primera fecha será el día de su nacimiento y la segunda fecha sera el día faktiska. El programa debe tomar e...

Alcancia de Signo de Mario Bros con Arduino

1 x Arduino UNO1 x Bocina o summern1 x Resistencia de 1 k ohm3 x Resistencia 330 ohm1 x Resistencia 5.7 k omhs1 x Placa fenólica 4 x lysdioder1 x Tabla de acrílico 450 mm x 300 x 3 mm (blanco y amarillo)12 x Pijas kabel1 x LM3391 x QRD11141 x Potenci...

SIM900 GSM GPRS SKÖLD CON ARDUINO UNO

ESTA es una tarjeta GPRS ultra compacta de comunicación inalámbrica. La con tarjeta es kompatibel todos los modelos de Arduino con el formato UNO, además puedes controlarla con otros microcontroladores también. La tarjeta está basada en el módulo SIM...

Amperometro con arduino

Per questo progetto utilizzeremo il sensore ACS714 prodotto dalla Allegro accetta una corrente di ingång bidirezionale con un'ampiezza al massimo pari en 5A e fornisce i utdata una tensione analogica proporzionale (185mV/A) centrata con en 2.5V un fe...

Arduino IPhone Stand

Dessa instruktioner är främst avsedda för gymnasieelever att få en lätt förståelse och hand-på erfarenhet om hur du använder Arduino Utvecklingskit för att bygga en enkel maskinvaruenhet. Det kommer att låta dem förstå hur sensorn fungerar samt lära...

Aprendiendo en automatizar con Arduino

El concepto Automatizar se refiere al acto de hacer funcionar un proceso sv específico con el apoyo de una computadora, sensores y actuadores, el proceso automatizar será tomar una foto cuando una persona pasa enfrente de la cámara.Este tutorial fue...

CONEXION de sensor de alarma para ventana o puerta con Arduino

sv este instructable explico de forma sencilla como conectar FN: s sensor magnético en arduino de manera que cuando este se dispare, Arduino encienda un LED.Este es el primer paso que han dado para construirme una alarma con diferentes sensores basad...

Cargar firmware al ESP8266 con Arduino

Hoy les traigo algo que varia gente mig en pedido demasiado y es poder cargar el firmware al modulo wifi ESP8266 desde FN Arduino, normalmente esto se hace por medio de un convertidor USB-seriell pero ingen todos tienen acceso en uno de estos disposi...

WebCam Con Arduino YUN Y PIR förslag

Aunque existen diversas formas de conectar una cámara al Arduino YUN y realizar un proyecto parecido, una forma sencilla de göra es con un teléfono celular que ya ingen usemos para utilizarlo como una webbkamera.Synda embargot la complejidad estaría...

Visualiserings sensores con Arduino y GPRS (IoT)

SI deseas reportar el valor de tus sensores, esta es un alternativa sencilla, usando una de las tarjetas GPRS que se presentan en continuación y la plataforma web de MCI para levantar los datos es tu opción.Steg 1: PasosRegístraEnvía FN correo en mci...

Como controlar un LED remotamente con Arduino y Ubidots

Luego de realizar esté handledning podrás controlar el encendido o apagado de actuador un remotamente, desde la plataforma de Ubidots. Sv éste caso usaremos un LED por facilidad, synd emabrgo podrás extender éste handledning, en pojkflicka, en cualqu...

PONG con Arduino

ESTA vez vamos ett recrear el utseende juego de PONG usando Arduino, para ello vamos en necesitar los siguientes materiales:Arduino Nano Atmega328. (puede ser cualquier otro, pero nosotros decidimos utilizar este por comodidad)Visa OLED I2C de 128 x...

Controlando display LCD I2C con Arduino

Hace unos días nos llegaron unas LCD I2C de 16 × 2 y inga se si alguna vez te ha pasado que estas haciendo FN proyecto con muchos componentes y debes usar una pantalla LCD que se lleva 6 tallar de tu Arduino y todo se vuelve FN caos porque ya ingen t...

Modulos RF433 Mhz con Arduino

En este breve tutorial vamos en aprender en usar los módulos transmisores RF de 433Mhz, son ideales para principiantes por su bajo costo y facilidad de uso. Ademas de que pueden llegar en transmettre hasta una distancia máxima de 200mts!!! Para ello...

Portaretrato digital con Arduino

En este pequeño tutorial vamos en aprender en hacer un pequeño portraretraros digital usando un Arduino UNO y un sköld LCD touch de 2,8".El objetivo de este tutorial es familiarizarse con el sköld y la lectura de imagenes bmp desde una tarjeta SD par...

Arduino iPhone RGB-Led Strip & Cromalight

Om Cromalight AppCromalight är en iPhone App, i kombination med billig och lätt till setup maskinvara "Arduino shield", kan du ta kontroll över växlar upp till 6 belysning eller apparater hemma, det har också en omgivande färg picker gränssnitt...

Hackear juego klickern hjältar con Arduino

Hace poco descubrimos sv Steam FN juego llamado "klickern hjältar" en el que por medio de klickar obtienes monedas en el juego para mejorar habilidades de monstruos.Gabo un amigo del hackerspace realizo un pequeño hacka con el Arduino Micro (o L...