Projetos Arduino

download Projetos Arduino

of 5

Transcript of Projetos Arduino

  • 8/19/2019 Projetos Arduino

    1/10

    Componentes necessários

    1 Infravermelho receptor TL1838 (ou similar)1 Shield Rele2 Resistores de 330Ω

    2 L!"s1 #roto$ord%ios &umpers

    'l pessoal ho&e iremos acionar L!"s e rele via controle remoto* +ual,uercontrole remoto serve- de T. rdio***etc* #ara voc/ faer este pro&eto voc/precisar sa$er ,ual o valor headecimal de cada $oto ,ue ser utiliadoneste pro&eto para sa$er como visualiar o cdi4o ve&a o tutorialhttp-55facacomarduino*$lo4spot*com*$r520165075pro&eto36verificandocodi4ode*html* 9 o$teve os respectivos valores headecimais: nto vamos ao

    pro&eto ;; 's cdi4os sero todos comentados para melhor entendimentopodendo ser retirados aps a compreenso de cada linha* https-55onedrive*live*com5:cid?f8@@fded1deA3faaBcid?%8@@%!!1!A3%==Cid?%8@@%!!1!A3%==D21122 E2) %aFa o doGnload do ar,uivo IRremote_Master;3) !escompacte o ar,uivoE4) =4ora entre no diretrio (H-) e na pasta =r,uivos de #ro4ramas =rduino

    li$raries copie o ar,uivo descompactado nesta pastaE) #ronto para utiliarE

    5 #ro&eto 3A =cionando L!Js e rele com infravermelho

    Binclude KIRremote*h 55

  • 8/19/2019 Projetos Arduino

    2/10

      pinode(pinoMled1 'T#T)Epinode(pinoMled2 'T#T)E

    di4italOrite(pinoMrele estadoMrele)E 55 Holoca os pinos todos os pino em***  di4italOrite(pinoMled1 estadoMled1)E 55 estado $aio (pinos desli4ados)*

    di4italOrite(pinoMled2 estadoMled2)E

    Serial*$e4in(7A00)E 55 Inicialia a serial monitor*irrecv*ena$leIRIn()E 55 Inicialia o receptor IR*

    U

    void loop()Q

    55 .erifica se o sensor IR rece$eu al4um sinal*

      if (irrecv*decode(Cresults))Q

    55 ostra na serial o valor lido pelo sensor IR*  Serial*print(V.alor lido - V)E

    Serial*println(results*value WX)E 

    55 =rmaena o sinal rece$ido pelo sensor IR*armaenavalor ? (results*value)EsGitch (armaenavalor)Qcase 00020!%- 55 .erifica se o $oto nYmero 1 do controle remoto foi

    prescionada*  55 Se prescionado aciona o rele*  estadoMrele ? ;estadoMreleE

    di4italOrite(pinoMrele estadoMrele)E$rea>E

    case 000=0Z%- 55 .erifica se o $oto nYmero 2 do controle remoto foiprescionada*

    55 Se prescionado acende o primeiro L!*estadoMled1 ? ;estadoMled1E

    di4italOrite(pinoMled1 estadoMled1)E$rea>E

    case 000A07%- 55 .erifica se o $oto nYmero 3 do controle remoto foiprescionada*  55 Se prescionado ascende o se4undo L!*

    estadoMled2 ? ;estadoMled2Edi4italOrite(pinoMled2 estadoMled2)E$rea>E

    Uirrecv*resume()E 55Le o primo valor

    UU

  • 8/19/2019 Projetos Arduino

    3/10

    #ara certificar se o cdi4o est correto pressione o $oto .erif[5Hompile* Se tudo estiver correto pressione o $oto pload para faer o upload do cdi4opara seu =rduino*

    !bra se" #erial Monitor pressionado as teclas Ctrl $ #%i&t $ Msim"ltaneamente'

    #ressione ,ual,uer um dos $ot\es- 1 2 3 de seu controle uma ve e ver orele os L!"s serem acionados* #ara desli4alos $asta pressionalosnovamente*

    (roeto 1* + #ensor de "midade e temperat"ra ,-.11

    'l pessoal sa$emos ,ue a umidade relativa do ar influencia na nossasensaFo de conforto sendo uma umidade de 6ZD uma umidade ideal* =umidade $aia pode provocar al4uns efeito no ser humano tais como-ressecamento da pele aumento na eletricidade esttica entre outras* #or issovamos aprender como utiliar o sensor !WT11* ste sensor P um pe,uenomdulo comprado em sites da Hhina ou no

  • 8/19/2019 Projetos Arduino

    4/10

    (asso 3: #e4ue o ar,uivo $aiado e descompacteo dentro da pasta li$raries epronto a4ora voc/ pode compilar o cdi4o sem nenhum erro*

    Conectando os componentes

    #rimeiro certifi,uese de ,ue seu =rduino este&a desli4ado desconectandoodo ca$o S

  • 8/19/2019 Projetos Arduino

    5/10

      lcd*setHursor(01)E 55 Holoca o cursor na linha 0 e coluna 1  lcd*print(Vmidade-V)E  lcd*print(!WT*humidit[)E  lcd*print(VDV)E  dela[(2000)E 55 =4uarda 2 se4undos

    U

    #ara certificar se o cdi4o est correto pressione o $oto .erif[5Hompile* Se tudo estiver correto pressione o $oto pload para faer o upload do cdi4opara seu =rduino* #ronto voc/ a4ora pode a&ustar o contraste 4irando opotenci]metro e verificar a umidade e a temperatura do am$iente*

    (roeto 1 + #ensor "ltras5nico básico

    'l pessoal vamos aprender como utiliar o sensor ultras]nico em nossospro&etos* ' modelo utiliado ser o WHSR'6 encontrado em ,ual,uer lo&a ,uecontenha componetes para =rduino*

    's cdi4os sero todos comentados para melhor entendimento podendo ser retirados aps a compreenso de cada linha*

  • 8/19/2019 Projetos Arduino

    6/10

    55 #ro&eto 1Z Sensor ultras]nico $sico

    Bdefine tri4#in 12Bdefine echo#in 13

    void setup() Q Serial*$e4in (7A00)E  pinode(tri4#in 'T#T)E pinode(echo#in IN#T)E

    U

    void loop() Q  lon4 duration distanceE 55 http-55arduino*cc5en5Reference5Lon4  di4italOrite(tri4#in L'O)E 55 Honfi4ura o pino 12 com um pulso $aio VL'OV

    ou desli4ado ou ainda 0  dela[icroseconds(2)E 55 =4uarda 2 microsse4undos

      di4italOrite(tri4#in WIW)E 55 Honfi4ura o pino 12 com pulso alto VWIWV ouli4ado ou ainda 1  dela[icroseconds(10)E 55 =4uarda 10 microsse4undos  di4italOrite(tri4#in L'O)E 55 Honfi4ura o pino 12 com pulso $aio novamente  duration ? pulseIn(echo#in WIW)E 55 #ulseIn l/ o tempo entre a chamada e opino entrar em Wi4h 

    5_sse calculo P $aseado em s ? v * t lem$rando ,ue o tempo vem do$rado  por,ue P o tempo de ida e volta do ultrassom _5 

    distance ? ((duration52) 5 27*1)E 

    Serial*print(distance)E  Serial*println(V HmV)E

      dela[(Z00)EU

    #ara certificar se o cdi4o est correto pressione o $oto .erif[5Hompile* Setudo estiver correto pressione o $oto pload para faer o upload do cdi4opara seu =rduino* #ronto a$ra o Serial onitor e colo,ue um o$&eto na frenteno sensor ultras]nico e voc/ ver a distbcia ,ue o o$&eto est em relaFo aosensor*

    Imaem do #erial Monitor 

  • 8/19/2019 Projetos Arduino

    7/10

    (roeto 13 6 #er0o motor controlado por !rd"ino

    'l pessoal & vimos como controlar um motor HH e motor de passo* =4oravamos ver como funciona um servo motor conectado ao =rduino* 's cdi4os

    sero todos comentados para melhor entendimento podendo ser retiradosaps a compreenso de cada linha*

  • 8/19/2019 Projetos Arduino

    8/10

    void loop()Q

    for(pos ? 0E pos K 180E pos ? 1) 55 .ai de 0 4rau a 180 em passo de 1 4rau

      Q servo1*Grite(pos)E 55 Hhama o servo1 para ir para a posiFo da variavelVposV

    dela[(Z0)E 55 =4urade Z0ms para para o servo1 atin4ir a posiFoUfor(pos ? 180E pos?1E pos?1) 55 .ai de 180 4raus ate 0Q

    servo1*Grite(pos)E 55 Hhama o servo1 para ir para a posiFo da variavelVposV

    dela[(10)E 55 =4uarda 10ms para o servo1 atin4ir a posiFoU

    U

    (roeto 34 + 8eri&icando cdio de comando de "m controle remoto

    'l pessoal vamos desco$rir como utiliar uma tecnolo4ia um pouco anti4aporPm ainda muito utiliado- o infravermelho* =o apertar um $oto de umcontrole remoto de uma T. o HI envia um comando $inrio ou headecimalpelo emissor e o receptor capta estes dados e realia a funFo pro4ramada

    pelo respectivo comando* Ns sa$emos o valor headecimal5$inrio de cada$oto: No atP a4ora;'s cdi4os sero todos comentados para melhor entendimento podendo ser retiradosaps a compreenso de cada linha*

  • 8/19/2019 Projetos Arduino

    9/10

    4) =4ora entre no diretrio (H-) e na pasta =r,uivos de #ro4ramas =rduino li$rariescopie o ar,uivo descompactado nesta pastaE

    ) #ronto para utiliarE

    !ora 0amos ao cdio

     

    55 #ro&eto 36 .erificando cdi4o de comando de um controle remoto

    Binclude KIRremote*h 55

  • 8/19/2019 Projetos Arduino

    10/10

      irrecv*resume()E 55 =4uarda para rece$er o novo valor ,uando for pressionado umoutro $oto*

      U

      dela[(100)E 55 ! um tempo de 100 ms entre um valor e outro*

    U

    #ara certificar se o cdi4o est correto pressione o $oto .erif[5Hompile* 

    Se tudo estiver correto pressione o $oto pload para faer o upload do cdi4o paraseu =rduino*

    !bra se" #erial Monitor pressionado as teclas Ctrl $ #%i&t $ M sim"ltaneamente'

    #ressione ,ual,uer $oto de seu controle remoto e se tudo estiver '^ voc/ verimpresso na tela do Serial onitor os dados de seu controle remoto*