IPhone commandé led sans un ordinateur ou sur internet (3 / 4 étapes)

Étape 3: le code

Il suffit de télécharger ce code à l’arduino :

/ * IPhone contrôlée LED

Tour à tour sous et hors tension d’une LED connectée à une broche numérique, via un ordinateur ou
IPhone (ou même un appareil android) sans utiliser internet.

exemples de combinés :
Exemples > Ethernet > Webserver et exemples > numérique > BlinkWithoutDelay

Le circuit :
* LED joint de la broche 9 à terre.
* EthernetShield à l’aide de goupilles 10,11,12,13.

créé mars 2013
par Floris
Floris (at) deboktor.nl

Cet exemple de code est dans le domaine public.
*/

#include < SPI.h >
#include < Ethernet.h >

la mac de Byte [] = {}
0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED} ;
IPAddress ip(192,168,30,178) ; choisir une IPadress de sorte que vous pouvez facilement le trouver sur votre ordinateur
EthernetServer server(80) ;

String currentLine = "" ;
char de commandement [100] ;
page int = 2 ;
int prevpage = page ;
long previousMillis = 0 ;
intervalle long = 500 ;
int ledState = faible ;
PageUpdated booléen = false ;
int LedPin = 9 ;

void setup() {}
pinMode (LedPin, sortie) ;
currentLine.reserve(256) ;
Ethernet.Begin (mac, ip) ;
Server.Begin() ;
digitalWrite(LedPin,LOW) ;
}

void loop() {}
EthernetClient client = server.available() ;
Si {(client)
Boolean currentLineIsBlank = true ;
ValidCommand booléen = false ;
int i = 0 ;
tandis que (client.connected()) {}
Si (client.available()) {}
char c = client.read() ;
currentLine += c ;
if (!. ValidCommand) {}
Commande [i] = c ;
i ++ ;
}
Si (c == « \n ») {}
currentLine = "" ;
}
Si (currentLine.endsWith("HTTP/1.1")) {format //line est comme : GET /? s = 1 HTTP/1.1 ou GET /favicon.ico HTTP/1.1
ValidCommand = true ;
Si (commande [5]-'? ' == 0) {//if est le 5e karakter ?
Si (Command[6]-'s'==0) {//then s
PrevPage = page ; pour éviter ce qui donne une étrange commande
page = commande [8]-« 0 »; //after le? = est la commande réelle
Si (page! = 1 & & page! = 2 & & page! = 3) {//1 = activé, 2 = de, 3 = clignotant
page = prevpage ;
}
PageUpdated = false ;
}
}
}

Si (c == « \n » & & currentLineIsBlank) {}
Delay(10) ;
client.Print ("< ! DOCTYPE HTML > \n ") ;
client.Print ("< HTML > < HEAD > de \n \n") ;
client.Print ("< titre > conduit-online < /title > \n") ;
client.Print ("< nom meta = « fenêtre » content =' utilisateur évolutive = yes, largeur = dispositif-largeur" > ") ;
client.Print ("< style type =" text/css' > \n ") ;
client.Print ("body {\n background-color : white ; \n couleur: #222 ; \n font-family : Helvetica ; \n marge: 0 ; \n padding: 0} \n ") ;
client.Print ("div #button_On {\n background-color : blue ; \n border-bottom : 1px solid #666 ; \n couleur: #222 ; \n display : block ; \n-couleur : noir ; \n font-size : 14px ; \n font-weight : bold ; \n padding : 10px 0 ; \n text-align : center ; \n text-decoration : none\n} \n\n ") ;
client.Print ("div #button_Off {\n background-color : #ccc ; \n border-bottom : 1px solid #666 ; \n couleur: #222 ; \n display : block ; \n-couleur : noir ; \n font-size : 14px ; \n font-weight : bold ; \n padding : 10px 0 ; \n text-align : center ; \n text-decoration : none\n} \n\n ") ;
client.Print ("un {\n text-decoration : none ; \n}") ;
client.Print ("\n </style > \n") ;
Si ((page! = 0) & & (! PageUpdated)) {//1 sec après un rafraîchissement de commande la page
client.Print ("< META HTTP-EQUIV = « refresh » CONTENT = 1 ; URL = /'> \n ") ;
PageUpdated = true ;
}
else {//normally une fois everyy 10sec une page mise à jour
client.Print ("< META HTTP-EQUIV = « refresh » CONTENT = 10 ; URL = /'> \n ") ;
}
client.Print ("</HEAD > \n") ;
client.Print ("< BODY > \n\n") ;
client.Print ("< a href ='/? s = 1' > \n") ;
Si (page == 1) {}
client.Print ("< div id = « button_On » >") ;
}
else {}
client.Print ("< div id = « button_Off » >") ;
}
client.Print ("LED ON") ;
client.Print ("</div > \n") ;
client.Print ("< /a > \n") ;
client.Print ("< a href ='/? s = 2' > \n") ;
Si (page == 2) {}
client.Print ("< div id = « button_On » >") ;
}
else {}
client.Print ("< div id = « button_Off » >") ;
}
client.Print ("LED OFF") ;
client.Print ("</div > \n") ;
client.Print ("< /a > \n") ;
client.Print ("< a href ='/? s = 3' > \n") ;
Si (page == 3) {}
client.Print ("< div id = « button_On » >") ;
}
else {}
client.Print ("< div id = « button_Off » >") ;
}
client.Print ("LED clignotant") ;
client.Print ("</div > \n") ;
client.Print ("< /a > \n") ;

rupture ;
}
Si (c == « \n ») {}
currentLineIsBlank = true ;
}
ElseIf (c! = « \r ») {}
currentLineIsBlank = false ;
}
}
}
Delay(1) ;
client.Stop() ;
}
commutateur (page) {}
cas 1 :
digitalWrite(LedPin,HIGH) ;
rupture ;
cas 2 :
digitalWrite(LedPin,LOW) ;
rupture ;
cas 3 :
digitalWrite (LedPin, ledState) ;
if(Millis() - previousMillis > intervalle) {}
previousMillis = millis() ;
Si (ledState == faible)
ledState = élevé ;
d’autre
ledState = bas ;
}
rupture ;
}
}

Articles Liés

IPhone commandé LED RGB (Arduino)

IPhone commandé LED RGB (Arduino)

Ce projet vous montre comment mettre en place l'Arduino avec un LED RGB et le contrôler avec votre iPhone via votre réseau Wifi. Vous êtes en mesure de mettre 15 couleurs différentes + 2 programmes avec l'application iPhone.URL de la vidéo courte dém
Bandes de LED sans fil Phone Remote-Controlled : RasPi w / pilote Fadecandy w / WS2811/WS2812 adressable LED Strips w / App Smartphone TouchOSC w / Iphone ou Droid

Bandes de LED sans fil Phone Remote-Controlled : RasPi w / pilote Fadecandy w / WS2811/WS2812 adressable LED Strips w / App Smartphone TouchOSC w / Iphone ou Droid

Voilà un aperçu de la conception de plus en plus complète de mon dernier projet. Voici une vidéo que j'ai téléchargé la liste des fonctionnalités :La progression d'idée originale a quelque chose comme ce qui suit :Adressable LED strip (s, nous voulon
Installer des applications sur Iphone/Ipod touch sans wifi !

Installer des applications sur Iphone/Ipod touch sans wifi !

Cette instructable raconte u comment faire pour installer des applications sur votre Iphone/Ipod Touch sans wifi.. !Étape 1: exigences ! Donc vous êtes regarder à un nouvellement jailbroken iPhone ou iPod touch et vous êtes prêt à installer quelques-
Faire un puzzle de M.C. Escher Reptile sur votre routeur de commande numérique par ordinateur/moulin

Faire un puzzle de M.C. Escher Reptile sur votre routeur de commande numérique par ordinateur/moulin

alors, vous venez de terminer votre build de routeur/usine CNC, et vous avez besoin de quelque chose à faire.  Essayez le bol de la main, qui est très cool.Pour votre prochain projet, essayez celui-ci.  J'ai toujours eu un penchant pour les œuvres d'
Faisant un signe de la maison en bois sur commande numérique par ordinateur

Faisant un signe de la maison en bois sur commande numérique par ordinateur

Dans ce Instructable je vais vous montrer comment j'ai fait un signe de numéros de maison en utilisant un routeur CNC.J'ai un vieux jeu de numéros de métal sur le côté de ma maison, alors j'ai pensé que je pouvais l'embellir un peu. En faisant un sig
Une tourelle de changement rapide de AXA taille de montage sur le tour de commande numérique par ordinateur de C6 Syil

Une tourelle de changement rapide de AXA taille de montage sur le tour de commande numérique par ordinateur de C6 Syil

il y a environ 1 an, j'ai acheté un tour CNC C6 Syil utilisé. Après la construction un banc en acier robuste sur lequel monter le tour, j'ai mis sur la configuration d'elle et de se familiariser avec elle.La C6 vient des actions avec un poste d'outil
Une connexion Wi-Fi contrôlée voiture télécommandée sans microcontrôleur

Une connexion Wi-Fi contrôlée voiture télécommandée sans microcontrôleur

Il s'agit d'une voiture de contrôlé télécommande Wi-Fi avec caméra qui peut être branché sur internet. La voiture RC est tout à fait unique puisqu'elle utilise un routeur sans fil et élimine la nécessité d'un microcontrôleur.Étape 1: Structure de voi
Contrôleur d’Aquarium LED sans fil avec étincelles. CORE IO à TechShop

Contrôleur d’Aquarium LED sans fil avec étincelles. CORE IO à TechShop

Ici, je suis à TechShop avec un micro contrôleur incroyable de Spark.io appelé « Noyau ». J'avais l'intention d'utiliser un Arduino pour contrôler mon aquarium d'eau salée récif quand un ami m'a montré le coeur. Ce petit micro-contrôleur puissant est
Sculpture de commande numérique par ordinateur avec Neopixel

Sculpture de commande numérique par ordinateur avec Neopixel

Il s'agit d'un projet que j'aime à appeler le « nuage d'Adobe » parce que j'ai programmé mes lumières aux couleurs CMY. Il exigeait une connaissance du logiciel 3D SketchUp, Breadboarding, souder et général peinture et artisanat.Le « nuage d'Adobe »,
Machine de commande numérique par ordinateur dessin

Machine de commande numérique par ordinateur dessin

Bonjour à tous et Bienvenue sur mon premier tutoriel !Aujourd'hui je vous montre comment concevoir un dessin CNC en utilisant comme principaux composants matériels un Conseil Digilent Arty, moteurs à courant continu et des Servos RC.Remarque importan
Table de Plasma de commande numérique par ordinateur

Table de Plasma de commande numérique par ordinateur

Donc, vous avez acheté un coupeur de plasma et vous désirez que vous pouvez couper avec précision vos conceptions en métal. Traçant des lignes à la main donne des résultats décevants et tables de Plasma de commande numérique par ordinateur sont de so
Conversion facile de commande numérique par ordinateur d’un petit moulin

Conversion facile de commande numérique par ordinateur d’un petit moulin

mon premier Instructable fait usage d'une petite CNC fraiseuse. J'ai trouvé cette machine vraiment utile alors j'ai pensé que j'ai documenterait il se lever et courir. Vous pouvez lire ce Instructable et pense que « Eh bien, il a juste acheté quelque
Construction d’un routeur de commande numérique par ordinateur

Construction d’un routeur de commande numérique par ordinateur

cette instructable va vous montrer comment j'ai construit mon routeur de commande numérique par ordinateur. J'espère que vous pouvez dessiner certains inspiration de ma carrure et que cette instructable sera utile pour vos projets futurs. Cette instr
Comment faire des meubles de commande numérique par ordinateur

Comment faire des meubles de commande numérique par ordinateur

Le but de l'Instructable doit montrer au spectateur comment concevoir des meubles à couper à l'aide d'une machine à commande numérique par ordinateur (CNC). Meubles de commande numérique par ordinateur peuvent être conçus pour utiliser fournitures mi