You are on page 1of 13

12/07/12

Arduino Ethernet Shield Acender/Apagar Led Cleiton Bueno

CleitonBueno
GraduandoemEngenhariadeComputaoUNICEP StayupdatedviaRSS

ArduinoEthernetShieldAcender/ApagarLed
Publicado:10demarode2012emArduino Tags:acenderledarduino,arduinoled,ethernetshield,ledethernet,ledviarede 25 Eaepessoalbelezinha?Bomcomoeuhaviaprometidoparaalgunsconhecidoseatmesmoalgunse mailquerecebisobreacionarumLedviaEthernet,atquesimplesfazereudiriaquesopanomel hehe. Um detalhe importante que sintaxe HTML quem interpreta no o Ethernet Shield e sim os Navegadores(Firfox,InternetExplorer,Chrome,Operaeetc)omesmovaleparaCSS,assintaxesque haveranoexemplosoHTML,noutilizePHP,emumproximopostexplicariaporqueeumexemplo ondepodemosusar. Em termos de cdigofonte a programao para o Arduino UNO ( com o Ethernet Shield) bem parecidocomoexemploanterioremquerodamosumminiservidorweb,vejaocdigoabaixoeiremos analisarospontosimportante.

cleitonbueno.wordpress.com/2012/03/10/arduino-ethernet-shield-acenderapagar-led/

1/13

12/07/12

Arduino Ethernet Shield Acender/Apagar Led Cleiton Bueno

(http://cleitonbueno.files.wordpress.com/2012/03/codigofontewebcomled1.png) intPinoLed=9//AquientamossetandoumPINOdoArduinoparaligar/desligaroLed,nocaso serao9. Aestruturaabaixonoireimeaprofundarmuito,poisamesmadopostanterioreoMACAddress, IPeaportaweb,mudedeacordocomasuanecessidadenocasorecomendariaapenasoIP. staticuint8_tmac[6]={054,055,058,010,000,024} staticuint8_tip[4]={192,168,2,10} staticuint16_tport=80 //AquiparafacilitarcrieiumavariaveldotipoETHER_28J60 ETHER_28J60server voidsetup() { server.setup(mac,ip,port)//AquiestoupassandonossoMAC,IPePortaWebconfigurafoacima pinMode(PinoLed,OUTPUT)//EaquidizendoquenossoPINO9seraparasaida } Aquicomeaocdigopropriamentedito,quejfezoexemplodeAcender/ApagarLedpeloArduino UNO(http://cleitonbueno.wordpress.com/2011/07/17/arduinoacenderled/)quetambmfizaquino blogvainotarumasemelhanaacrescentandosintaxeHTML. char*params//Aquitemosumavariavelcomponteirodotipocharobrigatioissodevidoa //char*ETHER_28J60::serviceRequest()noETHER_28J60.cpp //Lembrandoqueestaemumloopinfinitovoidloop()mesmoquewhile(1) if(params=server.serviceRequest()) { //AgoraoparamrecebeoqueoserviceRequestretornardasrequisiesdonavegador server.print(<h1><ahref=/?led=off>ServidorWebEmbarcado</a></h1>) //Eleircompararastringqueonavegadorpassara,comnocaso?led=onseforiguala?led=on if(strcmp(params,?led=on)==0) { digitalWrite(outputPin,HIGH)//IralevaroPino9paraHIGHou1paraasaidaseforentenderpela lgica //EutilizandosintaxeHTMLirimprimiroquestiveremparentesesabaixodentrode() server.print(<ahref=?led=off><buttonstyle=border:1pxsolid#ff0000borderleft:10pxsolid #ff0000type=button>LEDLIGADO</button></a>) } //Senoretornarled=onverificaseno?led=offsefor elseif(strcmp(params,?led=off)==0) { digitalWrite(outputPin,LOW)//LevaoPino9paraLOWoua0 //Easeguintesintaxeimpressaparaonavegadorinterpretar,comodesligouoLedirmostrarissona
cleitonbueno.wordpress.com/2012/03/10/arduino-ethernet-shield-acenderapagar-led/ 2/13

12/07/12

Arduino Ethernet Shield Acender/Apagar Led Cleiton Bueno

tela server.print(<ahref=?led=on><buttonstyle=border:1pxsolid#000borderleft:10pxsolid#000 type=button>LEDDESLIGADO</button></a>) } Paraficarmaisclarovamosvercomoficounaprtica. Abrindoonavegadoredigitando192.168.2.10nomeucaso.

(http://cleitonbueno.files.wordpress.com/2012/03/firefox01.png) AgoraeuclicosobreolinkServidorWebEmbarcado,eircarregarobotocomoLedDesligado.

cleitonbueno.wordpress.com/2012/03/10/arduino-ethernet-shield-acenderapagar-led/

3/13

12/07/12

Arduino Ethernet Shield Acender/Apagar Led Cleiton Bueno

(http://cleitonbueno.files.wordpress.com/2012/03/firefox02leddesligado.png) EcomoestnoArduino:

cleitonbueno.wordpress.com/2012/03/10/arduino-ethernet-shield-acenderapagar-led/

4/13

12/07/12

Arduino Ethernet Shield Acender/Apagar Led Cleiton Bueno

(http://cleitonbueno.files.wordpress.com/2012/03/p100312_1654.jpg) Clicandonobotodaweb:

(http://cleitonbueno.files.wordpress.com/2012/03/firefox03ledligado.png) AgoraoestadodoLed:

cleitonbueno.wordpress.com/2012/03/10/arduino-ethernet-shield-acenderapagar-led/

5/13

12/07/12

Arduino Ethernet Shield Acender/Apagar Led Cleiton Bueno

(http://cleitonbueno.files.wordpress.com/2012/03/p100312_1654_01.jpg) ParaquemnoentendeucomoligaroLednoEthernetShield:

cleitonbueno.wordpress.com/2012/03/10/arduino-ethernet-shield-acenderapagar-led/

6/13

12/07/12

Arduino Ethernet Shield Acender/Apagar Led Cleiton Bueno

(http://cleitonbueno.files.wordpress.com/2012/03/schematicledethernetshield.png) OanodonoPino9eoCatodonoGND. Ocdigofontetireidessesitehttp://blog.trollmaker.com(http://blog.trollmaker.com)estudeiejadaptei umparaumexemplofuturoaquinoblog. Paravisualizarocdigodoblogcliquesobreaimagem,porquesenoemenganotinhaalgumerrona sintaxeHTMLdooriginal. Ataprxima! Comentrios 1. Cassiodisse: 30demarode2012s16:27 Boatarde, Legaisosartigos. Desculpemeseeuestiverfalandobesteira,mastenhonotadoautilizaodeumresistornos exemplosdepiscaledcomarduino. PorquevocnoutilizounenhumLEDaqui?
cleitonbueno.wordpress.com/2012/03/10/arduino-ethernet-shield-acenderapagar-led/ 7/13

12/07/12

Arduino Ethernet Shield Acender/Apagar Led Cleiton Bueno

Ab. Responder cleitonbuenodisse: 30demarode2012s16:54 Bemobservadoecorretomesmousaroresistor,nouseiporquemaioriadessesartigosfizem casaelestousemminhamaletadecomponentes,eosquetenhojestoemuso,mascomoera umexemplodidticomesmo,passoudespercebido,masdeveseusarumresistorcomoled,j queaquedadetensodoled2,8VedoArduinofornece5V. Responder 2. AndreMartinsdisse: 5deabrilde2012s15:34 BOACLEITON..muitolegalmesmoesseportdopostquevocfez..ficoubemclaro..mais agorametiraumaduvida,podeser? eupossocontrolarmaisdeumdispositivo(led,nocaso)namesmapagina? comoeufaoisso? eufizumtesteaquiecoloqueimaisumaslinhaseficouassimmeuloop: voidloop() { char*params if(params=e.serviceRequest()) { e.print(ArduinoWebRemote) if(strcmp(params,?led1=on)==0) { digitalWrite(outputPin1,HIGH) e.print(LED1ISON) } elseif(strcmp(params,?led1=off)==0) { digitalWrite(outputPin1,LOW) e.print(LED1ISOFF) //AQUICOMEAASEGUNDAPARTE e.print(ArduinoWebRemote) if(strcmp(params,?led2=on)==0) { digitalWrite(outputPin2,HIGH) e.print(LED2ISON) } elseif(strcmp(params,?led2=off)==0) { digitalWrite(outputPin2,LOW) e.print(LED2ISOFF) }
cleitonbueno.wordpress.com/2012/03/10/arduino-ethernet-shield-acenderapagar-led/ 8/13

12/07/12

Arduino Ethernet Shield Acender/Apagar Led Cleiton Bueno

e.respond() } ta,euseiqueficoubemavacalhado..maiseupossofazerassim? minhaduvidaehprqeuincluiessasegundaparte,apareceunaminhapaginamasoarduinonao recebeoscomandos..oualgumacoisadotipo,entende? taconfusopramim..naoentendomuitodenadaemCedeprogramao..entaotoapanhando demais! UAShUSAHUASuhSuashUSA desdejamuitoobrigadoeabraaocara..ficoushowopost!=D Responder cleitonbuenodisse: 9deabrilde2012s14:05 Desculpaademorapararesponderpoisestouemepocadeprovaseseucomentriocaiucomo SPAM. Bomcomoviempartesseucdigoatestapartequevocenvioupareceestarcorreto,uma observaovocusouduasvariaveisparaduasportasdiferentes? TipoeuuseiPinoLedpara9,vocdeveusaroutputPin1eoutputPin2evocespecificouportas diferentes? Notesteicomdoisledspossotestarecomentaroresultado. Daumaolhadaaequalquercoisapostnovamente. Responder AndreMartinsdisse: 9deabrilde2012s14:11 entaoCleiton.. euusei2portasdiferentesparaligar2ledsdiferentes,obviamente! noseisefizcerto..maisquasedeucerto! qndtavasempaciencia,fuinositequevocusouparacriarestedakieencontreium exemplobembacaninha.. apesardemeconfundiremalgumascoisas,deucertinhoakicmg.. olinkhttp://blog.trollmaker.com/data/documents/2_buttons_ethernet_example.ino esperomaisexemplosseusparairaprendendotambm.. abrasseparabenspelainiciativaCleiton! =D cleitonbuenodisse: 9deabrilde2012s14:20 Oexemploestacorreto,osegredoestanohref=,setivessemosusandoumServidorWeb emLinuxporexemploaprogramaodoArduinoficariamaisenxutamaseleatuandocomo ServerWebnotemjeito. Masaidiaestacorreta. 3. silviodisse:
cleitonbueno.wordpress.com/2012/03/10/arduino-ethernet-shield-acenderapagar-led/ 9/13

12/07/12

Arduino Ethernet Shield Acender/Apagar Led Cleiton Bueno

7deabrilde2012s20:21 olCleitontenhoumadvidacomoacendermaisdeumled grato Responder cleitonbuenodisse: 9deabrilde2012s14:05 Ol. Qualseriasuaduvidaemtermosdecdigoounohardware? Responder silviodisse: 9deabrilde2012s22:10 OlCleitonaminhaduvidaestnocdigo,maslendoopostdoAndreMartins,voutentar acionarmaisdeumled. grato 4. Hlciodisse: 22deabrilde2012s23:20 Boanoite, Carafiztodoessaviasagra,depoisdemuitastentativa,conseguifazercomquerodasse. 1Problema: aNobroser,digitooIP192.168.1.15,ok,aparce,masquandocliconoServidorweb embarcado,noapareceobotodesliga,apareceemcima192.168.1.15/?ledoffenoacontece nada. Oquedeuerrado??? Responder cleitonbuenodisse: 23deabrilde2012s8:04 Opa,belezinhacara? Bomvamosporpartes,oseuEthernetShieldigualaodoexemplo(ENC28J60)? Seforevocinstalouabibliotecacomomostreinoamotivosparaproblemas. AepodeseralgonaStringHTMLdoexemponoArduino. Tentenovamenteprestandoatenoprincipalmentecomoquecomeacom

easque<ahref Qualquercoisareporteoerro/logpara melhoravaliarmososeuproblema.


cleitonbueno.wordpress.com/2012/03/10/arduino-ethernet-shield-acenderapagar-led/ 10/13

12/07/12

Arduino Ethernet Shield Acender/Apagar Led Cleiton Bueno

Responder 5. Hlciodisse: 26deabrilde2012s20:15 Boanoite, Cara,valeu,consegui,oerroestavaemumdetalhenaescritadaprimeiralinhaum(/)queestava faltandoeum(=)queestava. Obrigadopelaateno. Responder 6. Juniordisse: 8demaiode2012s18:49 Boanoite,amigo.Euvinumapalestraontemsobreoarduinorefiqueimuitointeressado.No entendonadadeeletrnica,apenasdeprogramaoegostariamuitodefazerumaluz(220v)acender nomeuquartoatravsdonavegador.Teriacomoeucompraralgopronto(digotudojsoldado, ondeeusprecisefazerapartedecdigo)?Sealgumpudermeajudaragradeo.Meueemail juniordesanti2011@gmail.com Responder cleitonbuenodisse: 10demaiode2012s18:00 Boanoite.ParaestefimeusandooArduinoocircuitosetornamuitosimplespoisvocpode usarrelparaestaconfigurao,pretendoescreverumtutorialscomimagenssepossiveldeum exemplodessesmasnosertojpoisestoucomvriosprojetosemandamento,massegueum exemploquepodelheajudar,sadaptaroexemploaoseucaso,nodificil. http://engenheirando.com/eletronica/reles/ http://suhanko.com/2012/01/11/eletronicadigitalcomarduinoacendendolampadapelonote/ Abraos. Responder 7. Rodrigodisse: 11dejunhode2012s21:38 Boanoite.EuprecisariasaberURGENTEocodigoparacontrolar4LEDS,paraumprojetoda faculdade,oupelomenosentenderalogicadessecodigo,poisnaoentendimtobemapartedas atribuies?led1=off&led2=off.Qualalogicadessapartedocodigo?(docodigode2leds) Desdejagradeosuaateno. Obrigado Responder AndreMartinsdisse: 11dejunhode2012s22:07 UP! Responder cleitonbuenodisse:
cleitonbueno.wordpress.com/2012/03/10/arduino-ethernet-shield-acenderapagar-led/ 11/13

12/07/12

Arduino Ethernet Shield Acender/Apagar Led Cleiton Bueno

12dejunhode2012s8:51 Opa,beleza? Entoassimcada?ledX=onou?ledX=offreferenciaoestadodeumledsevocequerfazer comquatroleds,umadasmaneirasseria: ?led1=off&led2=off&led3=off&led4=off,seriaparametrospassadosporhtmlusandometodo GET. EnocdigoCdouControladoreuleioostatusdessaURLinformadaquandoeleverificarpor exemplo: //Senoretornarled=onverificaseno?led=offsefor elseif(strcmp(params,?led=off)==0) Squeaquichequeiumled,vocfazmesmacoisamaspara4leds,irficarumpoucomaior masirfuncionar. Lembrandoqueestaumadasmaneirasexistevriasoutrasparacontroleremotode dispositivos. Esperoterajudado,qualquercoisareportenovamente. Responder AndreMartinsdisse: 12dejunhode2012s9:00 qualaoutramaneirapracontrolarcoisasusandooEthernetShield? algumtutodispnivelai?essaformadecontrolaratbacanaetals,maisconfundedemais quandosecolocamaisde2dispositivos..estivefazendounstestescomessemetodoe sempreretornaumerropraminhaaplicao..kkkkkk =) cleitonbuenodisse: 12dejunhode2012s10:59 Eutenhoatquaseprontooutrometodoparaissoeomesmometodoparamaisleds,mas estasemanasemchancedeconseguirportaspoisestouemfinaldesemestredafaculemeu gerentesaiudeferias,dariacertoparadaqui7a10diaspessoal,aeireivoltarapublicar artigossobreArduinovariosqueandeifazendo. AndreMartinsdisse: 12dejunhode2012s11:06 noaguardoentaoCleiton! vlwbrother=D Rodrigodisse: 12dejunhode2012s12:11 Tdbem,vlwpelaateno.Voutentandoaquipqoprojetopraamanhaauhsuahs Abrao Rodrigodisse: 12dejunhode2012s10:11
cleitonbueno.wordpress.com/2012/03/10/arduino-ethernet-shield-acenderapagar-led/ 12/13

12/07/12

Arduino Ethernet Shield Acender/Apagar Led Cleiton Bueno

verdade,tbmencontreidificuldadeparafazercom+de2dispositivos.Totentandodetodo jeito,masnoconsigo.Tenhoqentregaramanhaesoconsigoativar2rels. Seconseguiremalgumacoisa,meajudemporfavor!!! obrigado cleitonbuenodisse: 12dejunhode2012s11:00 Opa,consigopublicarsim,mascomodisseparaoamigoabaixo,estasemanaimpossivel cara,tobitoladodetarefas. 8. AndreMartinsdisse: 19dejunhode2012s13:56 waiting! =D Responder 9. Rodrigodisse: 19dejunhode2012s18:00 waiting!!!(2) Responder

BlognoWordPress.com.|Tema:GreyzedporTheForgeWebCreations.

cleitonbueno.wordpress.com/2012/03/10/arduino-ethernet-shield-acenderapagar-led/

13/13

You might also like