Baixe o app para aproveitar ainda mais
Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
SEMÁFORO INTERATIVO Historia Os semáforos modernos foram desenvolvidos a partir de equipamentos manuais de operação de tráfego utilizados em Londres no ano de 1868. Esse semáforo possuía dois braços que, quando estendidos horizontalmente significavam “Pare” e quando inclinados a 45 graus significavam “Siga com cuidado”. À noite, uma lâmpada de gás verde e uma vermelha reforçavam as indicações dos braços. Entretanto, o equipamento explodiu 23 dias depois de entrar em operação, matando o policial que o estava operando e desincentivando novos invenções nesta área por um bom tempo. Em 1913, James Hoge inventou o primeiro semáforo elétrico como hoje é conhecido, porém com apenas os sinais verde e vermelho. Esta invenção aparece como sendo a origem do semáforo a três cores, o qual se propagou nos Estados Unidos no começo da década de 20. Semáforos interligados começaram a ser utilizados na cidade de Salt Lake City em 1917. Um sistema progressivo foi proposto em 1922. Os primeiros semáforos atuados foram instalados em New Haven, East Norwalk e Baltimore em 1928. O sinal vermelho indica que a passagem está proibida, ao contrário do verde, que permite o prosseguimento do deslocamento. A mudança do verde para o vermelho dá-se através do sinal amarelo, que alerta o motorista sobre o fechamento do sinal. Proposta O projeto visou criar uma solução que tornasse mais fácil o controle dos semáforos instalados nas grandes empresas, universidades é etc. De forma simples e prática, causando menos transtornos para os trabalhadores e civis de uma empresa ou grande universidade. Em conjunto, foi desenvolvido um software em C++ em uma Arduino mega 2560 para facilitar a interação entre carros e pedestres em vias de Mão única. Características do kit Arduino MEGA2560 Ambientes de Desenvolvimento O ambiente de desenvolvimento do Arduino contém um editor de texto para escrita do código, uma área de mensagem, uma área de controle de informações, uma barra de ferramentas com botões para funções comuns e um conjunto de menus. O ambiente de desenvolvimento é escrito em C++/Java e é derivado do ambiente de desenvolvimento para a linguagem Processing. Passo a Passo Esquemático Código int carRed=12; int carYellow=11; // Estabelecemos o semáforo dos carros int carGreen=10; int pedRed=9; // Estebelecemos o semáforo dos pedestres int pedGreen=8; int button=2; // Estabelecemos o pino do botão int crossTime=5000 //Estabelecemos uma variável de tempo para os pedestres atravessarem, no caso 5 segundos. Daria no mesmo que digitar delay(5000) no void lopp. unsigned long changeTime; void setup() { pinMode(carRed, OUTPUT); pinMode(carYellow, OUTPUT); pinMode(carGreen, OUTPUT); // Estabelecemos os pinos de saída pinMode(pedRed, OUTPUT); pinMode(pedGreen, OUTPUT); pinMode(button, INPUT); // Estabelecemos o botão do pino 2 como entrada digitalWrite(carGreen, HIGH); // Base: Verde para os carros e vermelho para os pedestres digitalWrite(pedRed, HIGH); } void loop() { int state=digitalRead(button); // verifica se o botão foi pressionado e se passou 5 segundos desde a última vez que isso ocorreu if(state == HIGH && (millis() - changeTime)>5000){ // chama a função para alterar as luzes changeLights(); }} oid changeLights() { digitalWrite(carGreen, LOW); digitalWrite(carYellow, HIGH); delay(2000); digitalWrite(carYellow, LOW); digitalWrite(carRed, HIGH); delay(1000); digitalWrite(pedRed, LOW); digitalWrite(pedGreen, HIGH); delay(crossTime); for (int x=0; x<10; x++); { digitalWrite(pedGreen, HIGH); // Piscar o verde dos pedestres delay(250); digitalWrite(pedGreen, LOW); delay(250); } digitalWrite (pedRed, HIGH); delay(500); digitalWrite(carYellow, HIGH); digitalWrite(carRed, LOW); delay(1000); digitalWrite(carGreen, HIGH); digitalWrite(carYellow, LOW); changeTime= millis();} // Registra o tempo desde a última alteração no semáforo
Compartilhar