{"id":6868,"date":"2025-10-07T09:43:30","date_gmt":"2025-10-07T12:43:30","guid":{"rendered":"https:\/\/www.usinainfo.com.br\/blog\/?p=6868"},"modified":"2025-11-03T17:49:10","modified_gmt":"2025-11-03T20:49:10","slug":"elevador-altum-v2-projeto-robotica-educacional","status":"publish","type":"post","link":"https:\/\/www.usinainfo.com.br\/blog\/elevador-altum-v2-projeto-robotica-educacional\/","title":{"rendered":"Elevador Altum V2 &#8211; Projeto Rob\u00f3tica Educacional"},"content":{"rendered":"<blockquote><p><span style=\"color: #ff0000;\">Procurando o tutorial da vers\u00e3o do Elevador sem Display?<\/span><\/p>\n<p><span style=\"color: #ff0000;\"><a style=\"color: #ff0000;\" href=\"https:\/\/www.usinainfo.com.br\/blog\/projeto-elevador-arduino-um-sistema-de-automacao-com-controle-pwm\/\"><strong>Clique aqui<\/strong><\/a> para a p\u00e1gina correta.<\/span><\/p><\/blockquote>\n<p>O <strong>Projeto Elevador Altum V2<\/strong> \u00e9 a evolu\u00e7\u00e3o direta do nosso cl\u00e1ssico elevador em MDF, trazendo novos recursos que deixam a experi\u00eancia ainda mais completa e pr\u00f3xima de um sistema real de automa\u00e7\u00e3o predial. Esta vers\u00e3o conta com um <strong>display indicador de andares<\/strong>, mostrando em tempo real a posi\u00e7\u00e3o do elevador, al\u00e9m da substitui\u00e7\u00e3o do antigo sensor reed switch pelos modernos <strong>sensores de Efeito Hall<\/strong>, que oferecem maior precis\u00e3o e confiabilidade na detec\u00e7\u00e3o de posi\u00e7\u00e3o.<\/p>\n<p>Com essas melhorias, o projeto vai al\u00e9m de um simples exerc\u00edcio de programa\u00e7\u00e3o: ele se torna uma plataforma did\u00e1tica completa, unindo conceitos de <strong>mec\u00e2nica, eletr\u00f4nica e programa\u00e7\u00e3o<\/strong>\u00a0em uma montagem acess\u00edvel. O c\u00f3digo foi adaptado para incluir as novas funcionalidades, permitindo explorar desde no\u00e7\u00f5es b\u00e1sicas de controle at\u00e9 desafios mais avan\u00e7ados, como a coordena\u00e7\u00e3o entre motor, sensores e interface de usu\u00e1rio.<\/p>\n<p style=\"text-align: center;\"><a href=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2025\/10\/Idealizacao-do-projeto-1.jpg\" data-rel=\"lightbox-image-0\" data-rl_title=\"\" data-rl_caption=\"\" title=\"\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-6875 \" src=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2025\/10\/Idealizacao-do-projeto-1.jpg\" alt=\"\" width=\"252\" height=\"689\" srcset=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2025\/10\/Idealizacao-do-projeto-1.jpg 400w, https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2025\/10\/Idealizacao-do-projeto-1-110x300.jpg 110w, https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2025\/10\/Idealizacao-do-projeto-1-374x1024.jpg 374w\" sizes=\"auto, (max-width: 252px) 100vw, 252px\" \/><\/a><br \/>\n<em>Montagem Final Elevador Altum V2<\/em><\/p>\n<p>O <strong>Altum V2<\/strong> mant\u00e9m a proposta educacional de seu antecessor, mas agora com recursos que aproximam ainda mais o funcionamento de um elevador real, sendo ideal para <strong>makers, estudantes e entusiastas de rob\u00f3tica educacional<\/strong>\u00a0que desejam ampliar seus conhecimentos em automa\u00e7\u00e3o e sistemas inteligentes.<\/p>\n<p>&nbsp;<\/p>\n<h3>Conex\u00e3o com Arduino e Ponte H<\/h3>\n<p>Apesar de todo o sistema ser controlado pelo Arduino, a alimenta\u00e7\u00e3o principal <strong>n\u00e3o passa diretamente por ele<\/strong>, mas sim pelo <strong>EPX10<\/strong>. Isso acontece porque alguns componentes, como a ponte H respons\u00e1vel pelo motor, demandam uma corrente maior do que o microcontrolador poderia fornecer em seguran\u00e7a.<\/p>\n<p>A <strong>ponte H<\/strong>\u00a0continua sendo a pe\u00e7a fundamental para o motor DC, j\u00e1 que permite controlar n\u00e3o apenas a velocidade, mas tamb\u00e9m o sentido de rota\u00e7\u00e3o (subida e descida do elevador). Ela recebe a alimenta\u00e7\u00e3o vinda do EPX10 e apenas os sinais de controle s\u00e3o enviados a partir do Arduino, garantindo efici\u00eancia e protegendo o microcontrolador contra sobrecarga.<\/p>\n<p style=\"text-align: center;\"><em><a href=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2025\/10\/Pinout-Pinos-de-Conexao-Ponte-H-L9110s.jpg\" data-rel=\"lightbox-image-1\" data-rl_title=\"\" data-rl_caption=\"\" title=\"\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-6880\" src=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2025\/10\/Pinout-Pinos-de-Conexao-Ponte-H-L9110s.jpg\" alt=\"\" width=\"650\" height=\"406\" srcset=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2025\/10\/Pinout-Pinos-de-Conexao-Ponte-H-L9110s.jpg 800w, https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2025\/10\/Pinout-Pinos-de-Conexao-Ponte-H-L9110s-300x188.jpg 300w, https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2025\/10\/Pinout-Pinos-de-Conexao-Ponte-H-L9110s-768x480.jpg 768w, https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2025\/10\/Pinout-Pinos-de-Conexao-Ponte-H-L9110s-298x186.jpg 298w\" sizes=\"auto, (max-width: 650px) 100vw, 650px\" \/><\/a><br \/>\nPinout \/ Pinos de Conex\u00e3o Ponte H L9110s<\/em><\/p>\n<p>Por sua vez, as sa\u00eddas da ponte H n\u00e3o possuem polaridade definida, sendo poss\u00edvel inverter os fios do motor caso o sentido de rota\u00e7\u00e3o n\u00e3o corresponda ao esperado pelo c\u00f3digo ou pelo display.<\/p>\n<p>&nbsp;<\/p>\n<h3>Comunica\u00e7\u00e3o PWM<\/h3>\n<p>A <strong>Modula\u00e7\u00e3o por Largura de Pulso<\/strong>, conhecida pela sigla <em>PWM (Pulse Width Modulation)<\/em>, \u00e9 uma t\u00e9cnica que permite ao Arduino simular uma sa\u00edda anal\u00f3gica utilizando apenas sinais digitais. Esse recurso \u00e9 bastante usado para controlar a intensidade de LEDs ou regular a velocidade de motores DC, entre muitas outras aplica\u00e7\u00f5es.<\/p>\n<p>Normalmente, os <strong>pinos digitais do Arduino<\/strong> s\u00f3 podem assumir dois estados: <strong>HIGH (5V)<\/strong> ou <strong>LOW (0V)<\/strong>. Isso significa que, de forma direta, n\u00e3o seria poss\u00edvel gerar valores intermedi\u00e1rios de tens\u00e3o, como 2V ou 3,3V, por exemplo. A solu\u00e7\u00e3o encontrada \u00e9 variar o tempo que o sinal fica em n\u00edvel alto e em n\u00edvel baixo, alternando em alta velocidade entre os dois estados.<\/p>\n<p>Esse processo \u00e9 chamado de <strong>ciclo de trabalho (duty cycle)<\/strong>. Ele representa a porcentagem de tempo em que o sinal permanece em n\u00edvel alto dentro de um ciclo. Por exemplo:<\/p>\n<p>&#8211; Um ciclo de 50% significa que o sinal fica metade do tempo em HIGH e metade em LOW.<br \/>\n&#8211; J\u00e1 um ciclo de 25% fica apenas um quarto do tempo em HIGH e o restante em LOW.<\/p>\n<p>Na pr\u00e1tica, o que acontece \u00e9 que o motor ou LED \u201cenxergam\u201d essa m\u00e9dia de tempo como se fosse uma tens\u00e3o intermedi\u00e1ria. Assim, conseguimos controlar a velocidade de um motor ou o brilho de um LED de forma gradual, mesmo usando apenas sa\u00eddas digitais.<\/p>\n<p style=\"text-align: center;\"><em><a href=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2025\/10\/Grafico-Funcionamento-PWM-tempo-x-pulso.jpg\" data-rel=\"lightbox-image-2\" data-rl_title=\"\" data-rl_caption=\"\" title=\"\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-6883\" src=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2025\/10\/Grafico-Funcionamento-PWM-tempo-x-pulso.jpg\" alt=\"\" width=\"599\" height=\"428\" srcset=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2025\/10\/Grafico-Funcionamento-PWM-tempo-x-pulso.jpg 600w, https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2025\/10\/Grafico-Funcionamento-PWM-tempo-x-pulso-300x215.jpg 300w\" sizes=\"auto, (max-width: 599px) 100vw, 599px\" \/><\/a>Gr\u00e1fico Funcionamento PWM &#8211; tempo x pulso<\/em><\/p>\n<p>&nbsp;<\/p>\n<h3>Como usar PWM no Arduino<\/h3>\n<p>O Arduino j\u00e1 traz uma fun\u00e7\u00e3o pronta para isso: <em>analogWrite();<\/em>.<br \/>\nEla aceita valores entre <strong>0 e 255<\/strong>, onde:<\/p>\n<p>&#8211; <em>analogWrite(0);<\/em> corresponde a 0% (sempre desligado),<br \/>\n&#8211; <em>analogWrite(127);<\/em> corresponde a 50% (meio tempo ligado, meio tempo desligado),<br \/>\n&#8211; <em>analogWrite(255);<\/em> corresponde a 100% (sempre ligado).<\/p>\n<p>Essa escala de 0 a 255 \u00e9 apenas uma forma simplificada de representar as porcentagens, facilitando o uso no c\u00f3digo. Em nosso Elevador utilizamos a vari\u00e1vel <em>velocidadeMotor<\/em>\u00a0para controlar a velocidade do motor, podendo ser ajustada conforme a necessidade.<\/p>\n<p>&nbsp;<\/p>\n<h3>Quais pinos do Arduino t\u00eam PWM?<\/h3>\n<p>Nem todos os pinos digitais suportam PWM. No caso do <strong>Arduino UNO<\/strong>, os pinos habilitados s\u00e3o <strong>3, 5, 6, 9, 10 e 11<\/strong>.<br \/>\nEles s\u00e3o facilmente identificados por um <strong>\u201c~\u201d (til)<\/strong>\u00a0antes do n\u00famero no pr\u00f3prio corpo da placa.<\/p>\n<p style=\"text-align: center;\">A frequ\u00eancia padr\u00e3o desses pinos \u00e9 de <strong>490 Hz<\/strong>, com exce\u00e7\u00e3o dos pinos 5 e 6, que operam em aproximadamente <strong>980 Hz<\/strong>.<em><a href=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2025\/10\/Portas-PWM-Arduino-Uno.png\" data-rel=\"lightbox-image-3\" data-rl_title=\"\" data-rl_caption=\"\" title=\"\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-6885\" src=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2025\/10\/Portas-PWM-Arduino-Uno.png\" alt=\"\" width=\"700\" height=\"400\" srcset=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2025\/10\/Portas-PWM-Arduino-Uno.png 700w, https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2025\/10\/Portas-PWM-Arduino-Uno-300x171.png 300w\" sizes=\"auto, (max-width: 700px) 100vw, 700px\" \/><\/a>Pinos PWM do Arduino UNO destacados pelo s\u00edmbolo \u201c~\u201d.<\/em><\/p>\n<p>&nbsp;<\/p>\n<h3>Produtos Utilizados no Projeto Elevador Arduino<\/h3>\n<p>Abaixo seguem todos produtos utilizados no desenvolvimento do projeto, os quais podem ser adquiridos de forma avulsa conforme a listagem. Se voc\u00ea quiser, pode adquirir a vers\u00e3o do <strong><a href=\"https:\/\/www.usinainfo.com.br\/robotica-educacional\/elevador-altum-v2-projeto-de-robotica-completo-manual-de-montagem-9209.html\">Elevador Altum V2 Completo<\/a><\/strong>, o qual j\u00e1 possui todas as pe\u00e7as necess\u00e1rias para montagem.<\/p>\n<p>&#8211; 01 x <a href=\"https:\/\/www.usinainfo.com.br\/robotica-educacional\/estrutura-em-mdf-elevador-altum-v2-projeto-de-robotica-manual-de-montagem-9208.html\">Estrutura em MDF Elevador Altum V2 + Manual de Montagem<\/a><br \/>\n&#8211; 01 x <a href=\"https:\/\/www.usinainfo.com.br\/placas-arduino-compativel\/arduino-uno-smd-cabo-usb-4485.html\">Placa Uno SMD compat\u00edvel Arduino + Cabo USB<\/a><br \/>\n&#8211; 01 x <a href=\"https:\/\/www.usinainfo.com.br\/fonte-de-alimentacao\/fonte-de-alimentacao-chaveada-5vdc-1a-46.html\">Fonte de Alimenta\u00e7\u00e3o Chaveada 5VDC 1A<\/a><br \/>\n&#8211; 01 x <a href=\"https:\/\/www.usinainfo.com.br\/drivers-para-motores\/driver-duplo-ponte-h-de-motor-dc-ou-passo-l9110s-2549.html\">Driver Duplo Ponte H de motor DC ou Passo L9110s<\/a><br \/>\n&#8211; 01 x <a href=\"https:\/\/www.usinainfo.com.br\/regulador-de-tensao\/extensor-e-expansor-de-portas-0-a-6v-10-saidas-com-jack-p4-epx10-6004.html\">Extensor e Expansor de Portas 0 a 6V 10 Sa\u00eddas com Jack P4 &#8211; EPX10<\/a><br \/>\n&#8211; 01 x\u00a0 Fio de Nylon 50cm espessura 0,4mm (acompanha o kit b\u00e1sico)<br \/>\n&#8211; 01 x <a href=\"https:\/\/www.usinainfo.com.br\/motor-dc\/motor-com-fios-soldados-e-caixa-de-reducao-1201-80rpm-8481.html\">Motor DC 3-6V 80RPM com Caixa de Redu\u00e7\u00e3o 120:1<\/a><br \/>\n&#8211; 04 x <a href=\"https:\/\/www.usinainfo.com.br\/interruptores-e-pulsadores\/chave-push-button-pbs-102-104-preta-na-1a-6218.html\">Chaves Push Button PBS-102 104 Preta NA 1A<\/a><br \/>\n&#8211; 04 x <a href=\"https:\/\/www.usinainfo.com.br\/sensor-efeito-hall-arduino\/modulo-sensor-de-efeito-hall-para-arduino-2633.html\">M\u00f3dulo Sensor de Efeito Hall para Arduino<\/a><br \/>\n&#8211; 01 x <a href=\"https:\/\/www.usinainfo.com.br\/diversos\/ima-de-neodimio-n50-super-forte-10mm-x-4mm-6068.html\">Im\u00e3 De Neod\u00edmio N50 Super Forte 10mm x 4mm<\/a><br \/>\n&#8211; 01 x <a href=\"https:\/\/www.usinainfo.com.br\/display-arduino\/display-lcd-16x2-i2c-com-fundo-azul-5809.html\">Display LCD 16&#215;2 I2C com Fundo Azul<\/a><br \/>\n&#8211; 20 x <a href=\"https:\/\/www.usinainfo.com.br\/jumper\/jumper-premium-para-protoboard-macho-femea-30cm-kit-c-20-pecas-9056.html\">Jumper Premium para Protoboard Macho-F\u00eamea 30cm &#8211; Kit c\/ 20 pe\u00e7as<\/a> (recomendamos 2 kits)<br \/>\n&#8211; 12 x <a href=\"https:\/\/www.usinainfo.com.br\/jumper\/jumper-premium-para-protoboard-femea-femea-30cm-kit-c-20-pecas-2614.html\">Jumper Premium para Protoboard F\u00eamea-F\u00eamea 30cm &#8211; Kit c\/ 20 pe\u00e7as<\/a><br \/>\n&#8211; 02 x <a href=\"https:\/\/www.usinainfo.com.br\/parafuso-metalico-m3-a-m5\/parafuso-philips-m3-x-30mm-metalico-kit-com-10-unidades-5548.html\">Parafusos Philips M3 x 30mm Met\u00e1licos<\/a><br \/>\n&#8211; 06 x <a href=\"https:\/\/www.usinainfo.com.br\/parafusos-e-fixadores\/porca-m3-x-24mm-metalica-kit-com-10-unidades-3443.html\">Porcas M3<\/a><br \/>\n&#8211; 12 x <a href=\"https:\/\/www.usinainfo.com.br\/parafusos-e-fixadores\/parafuso-philips-m3-x-6mm-metalico-kit-com-10-unidades-5543.html\">Parafusos M3 x 6mm Met\u00e1licos<\/a><br \/>\n&#8211; 04 x <a href=\"https:\/\/www.usinainfo.com.br\/parafuso-metalico-m3-a-m5\/parafuso-philips-m3-x-12mm-metalico-kit-com-10-unidades-5649.html\">Parafuso Philips M3 x 12mm Met\u00e1lico<\/a><br \/>\n&#8211; 01 x Pacote Abra\u00e7adeira de Nylon<\/p>\n<p>&nbsp;<\/p>\n<h2>Esquema de Liga\u00e7\u00e3o do Projeto Elevador Arduino<\/h2>\n<p>No <strong>Projeto Elevador Altum V2<\/strong>, toda a alimenta\u00e7\u00e3o do sistema parte do <strong>m\u00f3dulo EPX10<\/strong>, uma pequena placa que funciona como central de distribui\u00e7\u00e3o de energia. Ele conta com um <strong>conector Jack P4<\/strong>\u00a0para liga\u00e7\u00e3o da fonte de 5V 1A que acompanha o kit, e a partir dele a energia \u00e9 derivada para todos os demais componentes do circuito.<\/p>\n<p>O diferencial do EPX10 \u00e9 justamente a praticidade: por possuir sa\u00eddas em pinos, compat\u00edveis com <strong>jumpers padr\u00e3o<\/strong>, ele evita emendas desnecess\u00e1rias e permite uma conex\u00e3o organizada e confi\u00e1vel. Assim, conseguimos ligar a ponte H, o Arduino e demais m\u00f3dulos diretamente ao EPX10, cada um recebendo a energia necess\u00e1ria de forma est\u00e1vel.<\/p>\n<p style=\"text-align: center;\"><em><a href=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2025\/10\/Distribuicao-de-energia-Modulo-EPX10.jpg\" data-rel=\"lightbox-image-4\" data-rl_title=\"\" data-rl_caption=\"\" title=\"\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-6886\" src=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2025\/10\/Distribuicao-de-energia-Modulo-EPX10.jpg\" alt=\"\" width=\"574\" height=\"700\" srcset=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2025\/10\/Distribuicao-de-energia-Modulo-EPX10.jpg 574w, https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2025\/10\/Distribuicao-de-energia-Modulo-EPX10-246x300.jpg 246w\" sizes=\"auto, (max-width: 574px) 100vw, 574px\" \/><\/a>Distribui\u00e7\u00e3o de energia M\u00f3dulo EPX10<\/em><\/p>\n<p>Do EPX10 derivamos as conex\u00f5es principais:<\/p>\n<p>&#8211; <strong>Arduino UNO<\/strong>: recebe alimenta\u00e7\u00e3o do EPX10, mas fica respons\u00e1vel apenas pela l\u00f3gica de controle e comunica\u00e7\u00e3o.<\/p>\n<p>&#8211; <strong>Driver Ponte H (L9110S)<\/strong>: ligado ao motor, recebe energia direta do EPX10 e sinais de controle do Arduino, permitindo regular a velocidade e inverter a dire\u00e7\u00e3o de movimento.<\/p>\n<p>&#8211; <strong>Display I2C<\/strong>: conectado ao Arduino pelos pinos SDA e SCL, mas alimentado pelo EPX10, garantindo estabilidade no fornecimento de energia.<\/p>\n<p>&#8211; <strong>Sensores de efeito Hall<\/strong>: posicionados nos andares para detectar a posi\u00e7\u00e3o do elevador com precis\u00e3o, tamb\u00e9m alimentados pelo EPX10 e seu sinal indo diretamente ao Arduino.<\/p>\n<p>&#8211; <strong>Bot\u00f5es de chamada<\/strong>: possuem seus pinos de GND interligados entre si com fio e solda e depois unidos ao GND do Arduino por meio de um jumper. J\u00e1 os sinais individuais v\u00e3o para diferentes pinos digitais do microcontrolador.<\/p>\n<p style=\"text-align: center;\"><em><a href=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2025\/10\/Elevador-V2-2k25-HALL-NITIDO.jpg\" data-rel=\"lightbox-image-5\" data-rl_title=\"\" data-rl_caption=\"\" title=\"\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-6916 size-full\" src=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2025\/10\/Elevador-V2-2k25-HALL-NITIDO.jpg\" alt=\"\" width=\"1192\" height=\"900\" srcset=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2025\/10\/Elevador-V2-2k25-HALL-NITIDO.jpg 1192w, https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2025\/10\/Elevador-V2-2k25-HALL-NITIDO-300x227.jpg 300w, https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2025\/10\/Elevador-V2-2k25-HALL-NITIDO-1024x773.jpg 1024w, https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2025\/10\/Elevador-V2-2k25-HALL-NITIDO-768x580.jpg 768w, https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2025\/10\/Elevador-V2-2k25-HALL-NITIDO-322x242.jpg 322w\" sizes=\"auto, (max-width: 1192px) 100vw, 1192px\" \/><\/a>Esquema de Liga\u00e7\u00e3o do Projeto Elevador Arduino<\/em><\/p>\n<p>Essa organiza\u00e7\u00e3o tem duas vantagens principais:<\/p>\n<p>1. <strong>Distribui\u00e7\u00e3o eficiente da energia<\/strong>, sem sobrecarregar o Arduino.<br \/>\n2. <strong>Fia\u00e7\u00e3o simplificada<\/strong>, j\u00e1 que todos os m\u00f3dulos recebem energia de um ponto central.<\/p>\n<p>Outro detalhe importante est\u00e1 nos bot\u00f5es de chamada: em vez de utilizar resistores externos de Pull-up, aproveitamos o recurso interno do Arduino, que j\u00e1 realiza essa fun\u00e7\u00e3o via software. Isso simplifica a montagem e reduz a quantidade de componentes necess\u00e1rios no circuito.<\/p>\n<p>&nbsp;<\/p>\n<h3>Bot\u00f5es e Emendas<\/h3>\n<p>Outro ponto interessante \u00e9 o sistema de bot\u00f5es de chamada dos andares. Cada bot\u00e3o precisa de uma linha de sinal individual, mas todos compartilham o mesmo GND. Para simplificar, foi utilizado um jumper descascado e soldado manualmente, unindo os terminais de GND entre si.<\/p>\n<p>Assim, obtemos <strong>quatro sa\u00eddas de sinal<\/strong> (uma para cada bot\u00e3o) e <strong>uma entrada de GND compartilhada<\/strong>, que nesse caso vem do Arduino. Isso \u00e9 poss\u00edvel porque, diferentemente do motor, o consumo aqui \u00e9 m\u00ednimo, n\u00e3o representando risco de sobrecarga.<\/p>\n<p style=\"text-align: center;\"><em><a href=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2025\/10\/Emendas-Cabos-Botoes.png\" data-rel=\"lightbox-image-6\" data-rl_title=\"\" data-rl_caption=\"\" title=\"\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-6888\" src=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2025\/10\/Emendas-Cabos-Botoes.png\" alt=\"\" width=\"950\" height=\"478\" srcset=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2025\/10\/Emendas-Cabos-Botoes.png 1192w, https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2025\/10\/Emendas-Cabos-Botoes-300x151.png 300w, https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2025\/10\/Emendas-Cabos-Botoes-1024x515.png 1024w, https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2025\/10\/Emendas-Cabos-Botoes-768x387.png 768w\" sizes=\"auto, (max-width: 950px) 100vw, 950px\" \/><\/a>Soldagem Bot\u00f5es do Elevador Altum V2<\/em><\/p>\n<p>&nbsp;<\/p>\n<h3>Display de Andares<\/h3>\n<p>Logo acima dos bot\u00f5es temos o <strong>display<\/strong>, respons\u00e1vel por indicar em tempo real o andar atual do elevador. Ele se comunica com o Arduino via <strong>I2C<\/strong>, o que simplifica bastante a liga\u00e7\u00e3o, j\u00e1 que utiliza apenas dois pinos de sinal.<\/p>\n<p>No entanto, sua alimenta\u00e7\u00e3o tamb\u00e9m segue o padr\u00e3o centralizado do projeto: o VCC e GND v\u00eam diretamente do EPX10, refor\u00e7ando a fun\u00e7\u00e3o desse m\u00f3dulo como ponto central de distribui\u00e7\u00e3o de energia.<\/p>\n<p style=\"text-align: center;\"><em><a href=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2025\/10\/Conexao-Display-I2C.png\" data-rel=\"lightbox-image-7\" data-rl_title=\"\" data-rl_caption=\"\" title=\"\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-6889\" src=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2025\/10\/Conexao-Display-I2C.png\" alt=\"\" width=\"498\" height=\"504\" srcset=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2025\/10\/Conexao-Display-I2C.png 500w, https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2025\/10\/Conexao-Display-I2C-296x300.png 296w, https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2025\/10\/Conexao-Display-I2C-83x83.png 83w, https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2025\/10\/Conexao-Display-I2C-111x111.png 111w, https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2025\/10\/Conexao-Display-I2C-65x65.png 65w\" sizes=\"auto, (max-width: 498px) 100vw, 498px\" \/><\/a>Conex\u00e3o Display I2C<\/em><\/p>\n<p>&nbsp;<\/p>\n<h3>Extens\u00e3o de Jumpers e Organiza\u00e7\u00e3o dos Cabos<\/h3>\n<p>Em alguns pontos do projeto, especialmente nos sensores posicionados nos andares mais elevados, os <strong>jumpers premium convencionais n\u00e3o possuem comprimento suficiente<\/strong>\u00a0para realizar a liga\u00e7\u00e3o direta at\u00e9 o Arduino ou a central de energia.<br \/>\nPara resolver isso, recomendamos a utiliza\u00e7\u00e3o de <strong>jumpers Macho-F\u00eamea emendados entre si<\/strong>, funcionando como uma extens\u00e3o, como mostrado na imagem abaixo:<\/p>\n<p style=\"text-align: center;\"><em><a href=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2025\/10\/Exemplo-de-emenda-utilizada-para-extensao-de-Jumper-Macho-Femea.png\" data-rel=\"lightbox-image-8\" data-rl_title=\"\" data-rl_caption=\"\" title=\"\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-6890\" src=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2025\/10\/Exemplo-de-emenda-utilizada-para-extensao-de-Jumper-Macho-Femea.png\" alt=\"\" width=\"460\" height=\"579\" srcset=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2025\/10\/Exemplo-de-emenda-utilizada-para-extensao-de-Jumper-Macho-Femea.png 555w, https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2025\/10\/Exemplo-de-emenda-utilizada-para-extensao-de-Jumper-Macho-Femea-238x300.png 238w\" sizes=\"auto, (max-width: 460px) 100vw, 460px\" \/><\/a>Exemplo de emenda utilizada para extens\u00e3o de Jumper Macho-F\u00eamea<\/em><\/p>\n<p>Al\u00e9m disso, a <strong>organiza\u00e7\u00e3o dos cabos \u00e9 essencial <\/strong>para garantir um projeto limpo e de f\u00e1cil manuten\u00e7\u00e3o. Os suportes localizados pr\u00f3ximos aos sensores foram projetados para servir como guia de fixa\u00e7\u00e3o, permitindo prender os fios com fitas Hellermann ou abra\u00e7adeiras pl\u00e1sticas (n\u00e3o inclusas no kit). Assim, os cabos ficam alinhados \u00e0 estrutura do elevador, evitando cruzamentos e desordem. Essa pr\u00e1tica melhora o acabamento e facilita futuras manuten\u00e7\u00f5es.<\/p>\n<p>&nbsp;<\/p>\n<h3>Sensores de Efeito Hall<\/h3>\n<p>Diferente dos reed switches utilizados no modelo anterior, nesta vers\u00e3o utilizamos <strong>Sensores de Efeito Hall<\/strong>, que oferecem maior confiabilidade e precis\u00e3o na detec\u00e7\u00e3o dos andares.<br \/>\nVale destacar que esses sensores s\u00e3o <strong>unipolares<\/strong>, ou seja, apenas um dos lados do \u00edm\u00e3 aciona corretamente o sensor.<br \/>\n<strong>Caso perceba falhas na detec\u00e7\u00e3o <\/strong>basta inverter a posi\u00e7\u00e3o do \u00edm\u00e3 para que o sistema funcione de forma adequada.<\/p>\n<p style=\"text-align: center;\"><em><a href=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2025\/10\/Ajuste-deteccao-ima-Sensor-Hall.png\" data-rel=\"lightbox-image-9\" data-rl_title=\"\" data-rl_caption=\"\" title=\"\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-6891\" src=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2025\/10\/Ajuste-deteccao-ima-Sensor-Hall.png\" alt=\"\" width=\"648\" height=\"463\" srcset=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2025\/10\/Ajuste-deteccao-ima-Sensor-Hall.png 648w, https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2025\/10\/Ajuste-deteccao-ima-Sensor-Hall-300x214.png 300w\" sizes=\"auto, (max-width: 648px) 100vw, 648px\" \/><\/a>Ajuste detec\u00e7\u00e3o \u00edm\u00e3 Sensor Hall<\/em><\/p>\n<p>&nbsp;<\/p>\n<h2>C\u00f3digo de Funcionamento do Projeto Elevador Arduino<\/h2>\n<p>Um dos pontos positivos deste projeto \u00e9 que ele utiliza apenas uma biblioteca externa, a <strong>LiquidCrystal_I2C<\/strong>, respons\u00e1vel pela comunica\u00e7\u00e3o do display LCD com o Arduino. Todas as demais fun\u00e7\u00f5es foram desenvolvidas com comandos b\u00e1sicos da IDE Arduino, o que torna o c\u00f3digo mais f\u00e1cil de entender e ideal para fins did\u00e1ticos.<\/p>\n<p>Voc\u00ea pode <strong>baixar a biblioteca <a href=\"https:\/\/www.usinainfo.com.br\/index.php?controller=attachment&amp;id_attachment=1182\">LiquidCrystal_I2C clicando aqui.<\/a><\/strong><\/p>\n<p>O programa \u00e9 respons\u00e1vel por controlar todo o funcionamento do elevador: leitura dos bot\u00f5es, detec\u00e7\u00e3o dos andares por sensores de efeito Hall, movimenta\u00e7\u00e3o do motor via ponte H e exibi\u00e7\u00e3o das informa\u00e7\u00f5es no display LCD.<\/p>\n<h3>Como funciona o c\u00f3digo:<\/h3>\n<p>&#8211; <strong>Sensores de efeito Hall<\/strong>: identificam em qual andar o elevador est\u00e1, substituindo os antigos reed switches com maior precis\u00e3o.<\/p>\n<p>&#8211; <strong>Bot\u00f5es de chamada<\/strong>: ligados ao Arduino com resistores de pull-up internos ativados, evitando a necessidade de resistores externos.<\/p>\n<p>&#8211; <strong>Ponte H L298<\/strong>: faz o controle de dire\u00e7\u00e3o e velocidade do motor (subir, descer ou parar).<\/p>\n<p>&#8211; <strong>Display LCD I2C<\/strong>: mostra em tempo real o andar atual e o status do elevador (subindo, descendo, parado).<\/p>\n<p>&#8211; <strong>Serial Monitor<\/strong>: auxilia no debug e permite tamb\u00e9m chamar andares digitando n\u00fameros.<\/p>\n<p>O c\u00f3digo foi escrito de forma modular, com fun\u00e7\u00f5es espec\u00edficas para cada tarefa, como <em>sobe()<\/em>, <em>desce()<\/em>, <em>parado()<\/em>, <em>ondeEstou()<\/em> e <em>atualizarDisplay()<\/em>. Assim, o entendimento e a manuten\u00e7\u00e3o ficam mais simples para quem est\u00e1 aprendendo.<\/p>\n<pre class=\"lang:c decode:true \">\/**************************\r\n       Usinainfo\r\n  www.usinainfo.com.br \r\n\r\n  Autor: Victor E. Ferreira (RC0D3)\r\n **************************\/\r\n\r\n#include &lt;Wire.h&gt;\r\n#include &lt;LiquidCrystal_I2C.h&gt;  \/\/ Fa\u00e7a o download da biblioteca ou adicione .ZIP\r\n\r\nLiquidCrystal_I2C lcd(0x27, 16, 2);  \/\/ Endere\u00e7o da tela, Digitos, Linhas\r\n\r\n\r\n\/\/ Define os pinos do Sensor HALL\r\nconst int hall4 = 7;  \/\/ Andar 3\r\nconst int hall3 = 6;  \/\/ Andar 2\r\nconst int hall2 = 5;  \/\/ Andar 1\r\nconst int hall1 = 4;  \/\/ Terreo\r\n\r\n\/*\r\n * Bot\u00f5es devem ser ligados ao GND\r\n *\/\r\n\r\n\/\/ Define os pinos dos Bot\u00f5es\r\nconst int botao4 = 13;  \/\/ Andar 3\r\nconst int botao3 = 12;  \/\/ Andar 2\r\nconst int botao2 = 11;  \/\/ Andar 1\r\nconst int botao1 = 8;   \/\/ Terreo\r\n\r\n\/\/ Define os pinos de utiliza\u00e7\u00e3o do Driver ponte H L9110s\r\nconst int motorB1 = 10;  \/\/ Conectado ao B-1A da ponte H\r\nconst int motorB2 = 9;   \/\/ Conectado ao B-1B da ponte H\r\n\r\nint andarAlvo = 1;    \/\/ Andar onde devemos parar (1 a 4)\r\nint andarAtual = -1;  \/\/ Inicia com um andar inexistente (-1 a 4)\r\n\r\nString displayLinha1 = \"\";  \/\/ Sistema de cach\u00ea do display, evitando\r\nString displayLinha2 = \"\";  \/\/ atualiza\u00e7\u00f5es desnecess\u00e1rias e bugs visuais\r\n\r\nconst int tempoAtualizar = 10;  \/\/ Milissegundos, vari\u00e1vel de delay de checagem dos sensores\r\n\r\nconst int velocidadeMotor = 255;  \/\/ Velocidade do motor de 0 a 255\r\nconst int sensibilidadeDescida = 5; \/\/ Quanto maior, menos sens\u00edvl aos sensores\r\n\r\nvoid setup() {\r\n\r\n  \/\/ Setup do display LCD\r\n  lcd.init();\r\n  lcd.backlight();\r\n\r\n  \/\/ Define os pinos do Drive como sa\u00edda de sinal\r\n  pinMode(motorB1, OUTPUT);\r\n  pinMode(motorB2, OUTPUT);\r\n\r\n  \/\/ Define os pinos dos HALL como entrada de sinal\r\n  pinMode(hall1, INPUT_PULLUP);\r\n  pinMode(hall2, INPUT_PULLUP);\r\n  pinMode(hall3, INPUT_PULLUP);\r\n  pinMode(hall4, INPUT_PULLUP);\r\n\r\n  \/\/ Define os pinos dos Bot\u00f5es como entrada de sinal\r\n  pinMode(botao1, INPUT_PULLUP);\r\n  pinMode(botao2, INPUT_PULLUP);\r\n  pinMode(botao3, INPUT_PULLUP);\r\n  pinMode(botao4, INPUT_PULLUP);\r\n\r\n  Serial.begin(115200);\r\n\r\n  Serial.println(\"Elevador Altum V2 - Usinainfo\");\r\n\r\n  atualizarDisplay(\"Elevador AltumV2\", 1);\r\n  atualizarDisplay(\"   USINAINFO\", 2);\r\n\r\n  delay(3000);\r\n}\r\n\r\nvoid loop() {\r\n\r\n  verificarBotoes();\r\n\r\n  if (andarAtual == -1) {        \/\/ Iniciou o programa\r\n    procurarAndarMaisProximo();  \/\/ Se posicionar em um andar corretamente\r\n  }\r\n\r\n  if (andarAlvo &gt; andarAtual) {  \/\/ Queremos ir para um andar acima da gente\r\n    Serial.println(\"Indo ao pr\u00f3ximo andar\");\r\n\r\n    \/\/ Mostrar que estamos subindo e o andar que queremos ir\r\n    String tmpDisplay = \"  Subindo  &gt; \" + nomeAndar(andarAlvo) + \"  \";\r\n    atualizarDisplay(tmpDisplay, 2);  \/\/ Atualizar apenas a 2\u00b0 linha\r\n    delay(500);\r\n\r\n    proximoAndar();                     \/\/ Ir para o pr\u00f3ximo andar\r\n  } else if (andarAlvo &lt; andarAtual) {  \/\/ Queremos ir para um andar abaixo da gente\r\n    Serial.println(\"Indo ao andar anterior\");\r\n\r\n    \/\/ Mostrar que estamos descendo e o andar que queremos ir\r\n    String tmpDisplay = \"  Descendo &gt; \" + nomeAndar(andarAlvo) + \"  \";\r\n    atualizarDisplay(tmpDisplay, 2);  \/\/ Atualizar apenas a 2\u00b0 linha\r\n    delay(500);\r\n\r\n    andarAnterior();  \/\/ Ir para o andar anterior\r\n  } else {\r\n    parado();  \/\/ Desligar o motor\r\n    delay(100);\r\n\r\n    atualizarDisplay(\"ESCOLHA UM ANDAR\", 2);  \/\/ Terminamos, solicitar andar ao usu\u00e1rio\r\n    Serial.print(\"Cheguei ao andar \");\r\n    Serial.println(andarAlvo);\r\n  }\r\n}\r\n\r\nvoid procurarAndarMaisProximo() {\r\n  while (andarAtual == -1) {\r\n    Serial.println(\"Procurando andar mais pr\u00f3ximo...\");\r\n\r\n    atualizarDisplay(\"----------------\", 1);  \/\/ Atualizar 1\u00b0 linha\r\n    atualizarDisplay(\"   AGUARDE...   \", 2);  \/\/ Atualizar 2\u00b0 linha\r\n\r\n    if (ondeEstou() != -1) {     \/\/ Se encontrar um andar\r\n      andarAtual = ondeEstou();  \/\/ Salva o andar\r\n      andarAlvo = andarAtual;    \/\/ Define o Alvo no mesmo andar\r\n\r\n      Serial.println(\"Andar ondeEstou:\");\r\n      Serial.println(andarAtual);\r\n\r\n      atualizarAndar(andarAtual);  \/\/ Atualiza a Tela\r\n    }\r\n    delay(tempoAtualizar);\r\n    desce();  \/\/ Desce at\u00e9 encontrar um andar...\r\n  }\r\n}\r\n\r\nvoid verificarBotoes() {\r\n  int andar = -1;  \/\/ Inicia sem bot\u00e3o clicado\r\n\r\n  if (!digitalRead(botao1)) {  \/\/ Caso tenha clicado no bot\u00e3o T\r\n    andar = 1;\r\n  } else if (!digitalRead(botao2)) {\r\n    andar = 2;\r\n  } else if (!digitalRead(botao3)) {\r\n    andar = 3;\r\n  } else if (!digitalRead(botao4)) {\r\n    andar = 4;\r\n  }\r\n\r\n\r\n  if (andar &gt;= 1 &amp;&amp; andar &lt; 5) {  \/\/ Caso um bot\u00e3o tenha sido pressionado\r\n    andarAlvo = andar;\r\n  }\r\n}\r\n\r\nvoid atualizarAndar(int andar) {  \/\/ Atualiza\u00e7\u00e3o da tela\r\n  switch (andar) {                \/\/ Recebe o Andar do sistema\r\n    case 1:\r\n      atualizarDisplay(\"------ T ------\", 1);  \/\/ Mostra o Andar correto na tela\r\n      break;\r\n    case 2:\r\n      atualizarDisplay(\"------ 1 ------\", 1);\r\n      break;\r\n    case 3:\r\n      atualizarDisplay(\"------ 2 ------\", 1);\r\n      break;\r\n    case 4:\r\n      atualizarDisplay(\"------ 3 ------\", 1);\r\n      break;\r\n  }\r\n}\r\n\r\nvoid proximoAndar() {\r\n  while (andarAtual &lt; andarAlvo) {  \/\/ Enquanto n\u00e3o chegar no andarAlvo\r\n\r\n    \/*\r\n     * Caso seja diferente ou chegue ao ultimo andar, pare\r\n     * ajuda evitar que estoure a linha caso algum sensor antes falhe.\r\n     *\/\r\n\r\n    if (ondeEstou() == 4) {\r\n      andarAtual = 4;\r\n      atualizarAndar(andarAtual);  \/\/ Atualiza\u00e7\u00e3o for\u00e7ada do sistema\r\n      break;\r\n    }\r\n\r\n\r\n    sobe();\r\n    delay(tempoAtualizar);\r\n\r\n\r\n    \/\/ Verifica qual andar passamos\r\n    int novoAndar = ondeEstou();\r\n    if (novoAndar != -1) {\r\n      andarAtual = novoAndar;\r\n      atualizarAndar(novoAndar);\r\n    }\r\n  }\r\n\r\n  parado();  \/\/ Desliga os motores depois de encontrar o Andar\r\n  delay(500);\r\n}\r\n\r\nvoid andarAnterior() {  \/\/ L\u00f3gica semelhante \u00e0 fun\u00e7\u00e3o acima\r\n  while (andarAtual &gt; andarAlvo) {\r\n\r\n\r\n    \/\/ Verifica qual andar passamos\r\n    int novoAndar = ondeEstou();\r\n    if (novoAndar != -1) {\r\n      andarAtual = novoAndar;\r\n      atualizarAndar(novoAndar);\r\n    }\r\n    desce();\r\n\r\n    delay(tempoAtualizar * sensibilidadeDescida);\r\n  }\r\n\r\n  parado();\r\n  delay(500);\r\n}\r\n\r\nint ondeEstou() {  \/\/ Reliza a leitura dos sensores Hall\r\n\r\n  if (!digitalRead(hall1)) {\r\n    return 1;\r\n  } else if (!digitalRead(hall2)) {\r\n    return 2;\r\n  } else if (!digitalRead(hall3)) {\r\n    return 3;\r\n  } else if (!digitalRead(hall4)) {\r\n    return 4;\r\n  }\r\n\r\n  return -1;  \/\/ Estamos em movimento ou posi\u00e7\u00e3o indefinida\r\n}\r\n\r\n\r\nString nomeAndar(int andar) {  \/\/ Transforma o n\u00famero dos sensores em nome do andar\r\n  switch (andar) {\r\n    case 1: return \"T\";\r\n    case 2: return \"1\";\r\n    case 3: return \"2\";\r\n    case 4: return \"3\";\r\n    default: return \"?\";  \/\/ Retorno padr\u00e3o para valores inv\u00e1lidos\r\n  }\r\n}\r\n\r\n\/\/ Inicia o motor com o comando descer\r\nvoid desce() {\r\n  analogWrite(motorB1, velocidadeMotor);\r\n  analogWrite(motorB2, 0);\r\n}\r\n\r\n\/\/ Inicia o motor com o comando subir\r\nvoid sobe() {\r\n  analogWrite(motorB2, velocidadeMotor);\r\n  analogWrite(motorB1, 0);\r\n}\r\n\r\n\/\/ Para o motor\r\nvoid parado() {\r\n  analogWrite(motorB1, 0);\r\n  analogWrite(motorB2, 0);\r\n}\r\n\r\n\/\/ Fun\u00e7\u00e3o para gerenciamento do display\r\nvoid atualizarDisplay(String texto, int linha) {\r\n\r\n  \/\/ 1\u00b0 Linha &amp;&amp; apenas se mudar o texto da tela seguimos, assim evitamos bugs visuais e atualiza\u00e7\u00e3o desnecess\u00e1ria\r\n  if (linha == 1 &amp;&amp; texto != displayLinha1) {\r\n    lcd.setCursor(0, 0);            \/\/ Move ao in\u00edcio\r\n    lcd.print(\"                \");  \/\/ limpa linha\r\n    lcd.setCursor(0, 0);            \/\/ Move ao in\u00edcio\r\n    lcd.print(texto);               \/\/ Mostra o novo texto\r\n\r\n    displayLinha1 = texto;  \/\/ Salva o texto em cach\u00ea\r\n\r\n  } else if (linha == 2 &amp;&amp; texto != displayLinha2) {  \/\/ 2\u00b0 Linha, l\u00f3gica semelhante\r\n    lcd.setCursor(0, 1);\r\n    lcd.print(\"                \");\r\n    lcd.setCursor(0, 1);\r\n    lcd.print(texto);\r\n\r\n    displayLinha2 = texto;\r\n  }\r\n}\r\n<\/pre>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<h3>Personaliza\u00e7\u00f5es poss\u00edveis:<\/h3>\n<p>Uma das vantagens do c\u00f3digo \u00e9 que ele j\u00e1 est\u00e1 pronto para uso, mas ainda assim pode ser facilmente adaptado:<\/p>\n<p>&#8211; Alterar a <strong>velocidade do motor<\/strong> modificando o valor na vari\u00e1vel <em>velocidadeMotor<\/em>.<\/p>\n<p>&#8211; Personalizar as <strong>mensagens exibidas no display LCD<\/strong>.<\/p>\n<p>&#8211; Incluir novos recursos como LEDs indicadores, buzzer ou at\u00e9 \u00e1udio com m\u00f3dulo MP3.<\/p>\n<p>Dessa forma, al\u00e9m de ser um projeto funcional, o elevador tamb\u00e9m serve como base de aprendizado para quem deseja aprofundar seus conhecimentos em programa\u00e7\u00e3o, controle de motores e automa\u00e7\u00e3o com Arduino.<\/p>\n<p>&nbsp;<\/p>\n<h2>Conclus\u00e3o<\/h2>\n<p>O <strong>Projeto Elevador Altum V2<\/strong>\u00a0mostra como \u00e9 poss\u00edvel unir mec\u00e2nica, eletr\u00f4nica e programa\u00e7\u00e3o em um \u00fanico desafio did\u00e1tico. Embora a quantidade de conex\u00f5es e componentes possa parecer complexa em um primeiro momento, o c\u00f3digo j\u00e1 est\u00e1 pronto para uso, facilitando a montagem e o aprendizado.<\/p>\n<p>A nova vers\u00e3o do elevador traz melhorias importantes em rela\u00e7\u00e3o \u00e0 anterior: agora conta com <strong>display LCD<\/strong> para indicar os andares em tempo real e utiliza <strong>sensores de efeito Hall<\/strong>, que oferecem maior precis\u00e3o e confiabilidade em compara\u00e7\u00e3o aos antigos reed switches. Essas atualiza\u00e7\u00f5es tornam o projeto mais robusto e aproximam ainda mais a experi\u00eancia de um elevador real.<\/p>\n<p>Al\u00e9m disso, o c\u00f3digo \u00e9 facilmente adapt\u00e1vel. \u00c9 poss\u00edvel, por exemplo, alterar a velocidade do motor, modificar mensagens no display ou at\u00e9 integrar novos recursos, como <strong>LEDs indicadores, buzzer sonoro<\/strong> ou mesmo um <strong>m\u00f3dulo MP3<\/strong>\u00a0para anunciar os andares. Isso abre espa\u00e7o para personaliza\u00e7\u00f5es criativas e torna o projeto ainda mais interessante tanto para uso educacional quanto para makers que gostam de explorar novos desafios.<\/p>\n<p>No fim, o Elevador Altum V2 n\u00e3o \u00e9 apenas um exerc\u00edcio t\u00e9cnico, mas uma ferramenta de aprendizado que ajuda a consolidar conceitos de programa\u00e7\u00e3o, controle de motores, sensores digitais e integra\u00e7\u00e3o de perif\u00e9ricos no Arduino. Se voc\u00ea montou este projeto, compartilhe suas experi\u00eancias e melhorias nos coment\u00e1rios, sua ideia pode ajudar outros desenvolvedores a evolu\u00edrem ainda mais este prot\u00f3tipo.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Procurando o tutorial da vers\u00e3o do Elevador sem Display? Clique aqui para a p\u00e1gina correta. O Projeto Elevador Altum V2 \u00e9 a evolu\u00e7\u00e3o direta do nosso cl\u00e1ssico elevador em MDF, trazendo novos recursos que deixam a experi\u00eancia ainda mais completa e pr\u00f3xima de um sistema real de automa\u00e7\u00e3o predial. Esta vers\u00e3o conta com um display indicador de andares, mostrando em tempo real a posi\u00e7\u00e3o do elevador, al\u00e9m da substitui\u00e7\u00e3o do antigo sensor reed switch pelos modernos sensores de Efeito Hall, que oferecem maior precis\u00e3o e confiabilidade na detec\u00e7\u00e3o de posi\u00e7\u00e3o. Com essas melhorias, o projeto vai al\u00e9m de um simples exerc\u00edcio de programa\u00e7\u00e3o: ele se torna uma plataforma did\u00e1tica completa, unindo conceitos de mec\u00e2nica, eletr\u00f4nica e programa\u00e7\u00e3o\u00a0em uma montagem acess\u00edvel. [&hellip;]<\/p>\n","protected":false},"author":24,"featured_media":6899,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[10,57,58,1,342],"tags":[275,259,375,372,371,373,374],"class_list":["post-6868","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-arduino","category-automacao-residencial","category-eletronica","category-projetos","category-tutoriais","tag-arduino","tag-automacao","tag-elevador","tag-programacao","tag-projeto-didatico","tag-projeto-maker","tag-projeto-mdf"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.8 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Elevador Altum V2 - Projeto Rob\u00f3tica Educacional - Blog Usinainfo<\/title>\n<meta name=\"description\" content=\"Monte o Elevador Altum V2, projeto de rob\u00f3tica em MDF com Arduino, sensores Hall e display LCD. Aprenda automa\u00e7\u00e3o e programa\u00e7\u00e3o na pr\u00e1tica!\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.usinainfo.com.br\/blog\/elevador-altum-v2-projeto-robotica-educacional\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Elevador Altum V2 - Projeto Rob\u00f3tica Educacional - Blog Usinainfo\" \/>\n<meta property=\"og:description\" content=\"Monte o Elevador Altum V2, projeto de rob\u00f3tica em MDF com Arduino, sensores Hall e display LCD. Aprenda automa\u00e7\u00e3o e programa\u00e7\u00e3o na pr\u00e1tica!\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.usinainfo.com.br\/blog\/elevador-altum-v2-projeto-robotica-educacional\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog Usinainfo\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/pt-br.facebook.com\/faceusinainfo\/\" \/>\n<meta property=\"article:published_time\" content=\"2025-10-07T12:43:30+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-11-03T20:49:10+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2025\/10\/CAPA.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1920\" \/>\n\t<meta property=\"og:image:height\" content=\"1080\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Victor Eduardo Ferreira\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Victor Eduardo Ferreira\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. tempo de leitura\" \/>\n\t<meta name=\"twitter:data2\" content=\"15 minutos\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Elevador Altum V2 - Projeto Rob\u00f3tica Educacional - Blog Usinainfo","description":"Monte o Elevador Altum V2, projeto de rob\u00f3tica em MDF com Arduino, sensores Hall e display LCD. Aprenda automa\u00e7\u00e3o e programa\u00e7\u00e3o na pr\u00e1tica!","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.usinainfo.com.br\/blog\/elevador-altum-v2-projeto-robotica-educacional\/","og_locale":"pt_BR","og_type":"article","og_title":"Elevador Altum V2 - Projeto Rob\u00f3tica Educacional - Blog Usinainfo","og_description":"Monte o Elevador Altum V2, projeto de rob\u00f3tica em MDF com Arduino, sensores Hall e display LCD. Aprenda automa\u00e7\u00e3o e programa\u00e7\u00e3o na pr\u00e1tica!","og_url":"https:\/\/www.usinainfo.com.br\/blog\/elevador-altum-v2-projeto-robotica-educacional\/","og_site_name":"Blog Usinainfo","article_publisher":"https:\/\/pt-br.facebook.com\/faceusinainfo\/","article_published_time":"2025-10-07T12:43:30+00:00","article_modified_time":"2025-11-03T20:49:10+00:00","og_image":[{"width":1920,"height":1080,"url":"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2025\/10\/CAPA.png","type":"image\/png"}],"author":"Victor Eduardo Ferreira","twitter_card":"summary_large_image","twitter_misc":{"Escrito por":"Victor Eduardo Ferreira","Est. tempo de leitura":"15 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.usinainfo.com.br\/blog\/elevador-altum-v2-projeto-robotica-educacional\/","url":"https:\/\/www.usinainfo.com.br\/blog\/elevador-altum-v2-projeto-robotica-educacional\/","name":"Elevador Altum V2 - Projeto Rob\u00f3tica Educacional - Blog Usinainfo","isPartOf":{"@id":"https:\/\/www.usinainfo.com.br\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.usinainfo.com.br\/blog\/elevador-altum-v2-projeto-robotica-educacional\/#primaryimage"},"image":{"@id":"https:\/\/www.usinainfo.com.br\/blog\/elevador-altum-v2-projeto-robotica-educacional\/#primaryimage"},"thumbnailUrl":"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2025\/10\/CAPA.png","datePublished":"2025-10-07T12:43:30+00:00","dateModified":"2025-11-03T20:49:10+00:00","author":{"@id":"https:\/\/www.usinainfo.com.br\/blog\/#\/schema\/person\/42af7dcaf36388e9c09e502d5c37ccf4"},"description":"Monte o Elevador Altum V2, projeto de rob\u00f3tica em MDF com Arduino, sensores Hall e display LCD. Aprenda automa\u00e7\u00e3o e programa\u00e7\u00e3o na pr\u00e1tica!","breadcrumb":{"@id":"https:\/\/www.usinainfo.com.br\/blog\/elevador-altum-v2-projeto-robotica-educacional\/#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.usinainfo.com.br\/blog\/elevador-altum-v2-projeto-robotica-educacional\/"]}]},{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.usinainfo.com.br\/blog\/elevador-altum-v2-projeto-robotica-educacional\/#primaryimage","url":"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2025\/10\/CAPA.png","contentUrl":"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2025\/10\/CAPA.png","width":1920,"height":1080},{"@type":"BreadcrumbList","@id":"https:\/\/www.usinainfo.com.br\/blog\/elevador-altum-v2-projeto-robotica-educacional\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"In\u00edcio","item":"https:\/\/www.usinainfo.com.br\/blog\/"},{"@type":"ListItem","position":2,"name":"Elevador Altum V2 &#8211; Projeto Rob\u00f3tica Educacional"}]},{"@type":"WebSite","@id":"https:\/\/www.usinainfo.com.br\/blog\/#website","url":"https:\/\/www.usinainfo.com.br\/blog\/","name":"Blog Usinainfo","description":"Usinainfo","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.usinainfo.com.br\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-BR"},{"@type":"Person","@id":"https:\/\/www.usinainfo.com.br\/blog\/#\/schema\/person\/42af7dcaf36388e9c09e502d5c37ccf4","name":"Victor Eduardo Ferreira","image":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.usinainfo.com.br\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/30594505903ea0d000e635c10575bea675834a0dddfbba4b8d586a18aed204f9?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/30594505903ea0d000e635c10575bea675834a0dddfbba4b8d586a18aed204f9?s=96&d=mm&r=g","caption":"Victor Eduardo Ferreira"},"description":"Sou programador e estudante de eletr\u00f4nica, busco explorar como as coisas funcionam \ud83d\udca1","sameAs":["https:\/\/www.youtube.com\/@rc0d3"],"url":"https:\/\/www.usinainfo.com.br\/blog\/author\/victor\/"}]}},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/www.usinainfo.com.br\/blog\/wp-json\/wp\/v2\/posts\/6868","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.usinainfo.com.br\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.usinainfo.com.br\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.usinainfo.com.br\/blog\/wp-json\/wp\/v2\/users\/24"}],"replies":[{"embeddable":true,"href":"https:\/\/www.usinainfo.com.br\/blog\/wp-json\/wp\/v2\/comments?post=6868"}],"version-history":[{"count":31,"href":"https:\/\/www.usinainfo.com.br\/blog\/wp-json\/wp\/v2\/posts\/6868\/revisions"}],"predecessor-version":[{"id":6912,"href":"https:\/\/www.usinainfo.com.br\/blog\/wp-json\/wp\/v2\/posts\/6868\/revisions\/6912"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.usinainfo.com.br\/blog\/wp-json\/wp\/v2\/media\/6899"}],"wp:attachment":[{"href":"https:\/\/www.usinainfo.com.br\/blog\/wp-json\/wp\/v2\/media?parent=6868"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.usinainfo.com.br\/blog\/wp-json\/wp\/v2\/categories?post=6868"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.usinainfo.com.br\/blog\/wp-json\/wp\/v2\/tags?post=6868"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}