Descrición:
A proposta consiste en construír unha maqueta que simule o control do tráfico mediante semáforos. Trátase dunha programación secuencial, moi sinxela.
Prácticas a repasar:
- Para o acendido e apagado dos LEDs: Entradas e saídas dixitais → LEDs intermitentes
- Para o zumbador: Xogando co son → Melodía
Se vas facer un semáforo de peóns máis complexo pódeche interesar:
- Para engadir un contador: Display 7 segmentos
- Para engadir un boneco que se move: Matriz de LEDs
Reto1: Rúa con paso de peóns e semáforos
Imos construír unha maqueta na que se mostre unha rúa con semáforo. Debe conter dous semáforos de coches e dous de peóns, un para cada sentido de circulación.
- O semáforo de coches ten tres LEDs: Vermello, amarelo e verde.
- O semáforo de peóns ten dous LEDs: Vermello e verde.
- Incorpora un zumbador para a melodía do semáforo de peóns cando está verde.
Debes programar de maneira cíclica os acendidos e apagados dos LEDs, e tamén facer soar a melodía cando se pode cruzar a rúa. Chega con programar 5 LEDs, xa que os semáforos de ámbolos dous lados da rúa poden ir conectados en paralelo, recibindo o mesmo sinal.
Podes utilizar unha función para definir a melodía, de maneira que cando necesites usala só terás que chamala. Por exemplo:
void melodia() { // Definimos a función "son" para chamala despois tone(4,1000,200); // 1000 Hz durante 0.2s delay(200); tone(4,2000,200); // 2000 Hz durante 0.2s delay(200); tone(4,500,200); // 500 Hz durante 0.2s delay(200); } void loop(){ for (int n=0;n<4;n++){ // Repetimos a melodía 4 veces melodia(); } }
Outra opción: Semáforo de peóns con botón.
Podes utilizar o mesmo esquema anterior, pero neste caso, cando unha persoa desexa cruzar a rúa debe premer nun pulsador. Despois dun tempo o semáforo de peóns porase en verde e o de coches vermello mentres soa unha melodía, ata que volve outra vez a poñerse vermello despois dun tempo.
Reto 2: Cruce de semáforos
Hai dúas rúas, unha principal e outra secundaria. Os semáforos da rúa principal están conectados en paralelo entre si, así que só fai falta programar tres LEDS (SC1R, SC1A E SC1V).
Na rúa secundaria hai un semáforo de coches con tres LEDs (SC2R, SC2A e SC2V) e un semáforo de peóns con dous LEDs (SP2R e SP2V). Poderías incorporar outro semáforo de peóns ao outro lado da rúa conectado en paralelo con este . Incorpora ademais un zumbador para o son.
Debes programar a secuencia cíclica do estado dos diferentes semáforos. Pode ser de axuda completar previamente unha táboa de estados coma esta. Complétaa ti.
Semáforo de coches 1 | Semáforo de coches 2 | Semáforo de peóns | |||||||||
Estado | SC1R | SC1A | SC1V | SC2R | SC2A | SC2V | SP2R | SP2V | |||
1 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 1 | |||
2 | |||||||||||
3 | |||||||||||
4 | |||||||||||
5 | |||||||||||
… |
Propostas:
- Mellora os programas: Cando o semáforo de peóns se pon vermello o de coches non se pon verde inmediatamente, senón que agarda un tempo. Ademais, o led verde do paso de peóns escintila unhas cantas veces antes de apagarse para avisar aos peóns de que vai cambiar.
- Display 7 segmentos: Incorpora na parte superior do semáforo de peóns un display 7 segmentos que, cando estea verde, vaia contando desde 9 ata 0 os segundos que faltan para cambiar a vermello. Se xa tes ocupados moitos pins de Arduíno podes utilizar un rexistro de desprazamento.
- Pantalla de LEDs: Anímaste a debuxar a programar para unha matriz de LEDs un boneco que simule unha persoa camiñando? O semáforo de peóns quedará bastante máis chulo. Recomendo utilizar unha matriz con protocolo SPI para poder usar só dous pins do Arduíno.
- Deseño 3D: Se dispós dunha impresora 3D, podes deseñar un modelo de semáforo, imprimilo e utilizalo para montar a maqueta.
Deseño 3D:
Se tendes unha conta en Onshape podedes copiar este deseño para modificalo e adaptalo a outros proxectos, ou tamén para descargar os ficheiros en formato STL, tamén dispoñibles en thingiverse. Consta de 6 pezas, e está preparado para que non haxa que pegar nada, xa que as pezas encaixan unhas con outras facendo presión.
Imaxes: [tecnoloxia.org CC By-SA]
En tecnoloxia.org/impresion3d tendes información sobre como configurar a vosa impresora e sobre como deseñar pezas con Onshape.
Mostra:
Aquí tes un vídeo no que se mostra a programación básica dun semáforo. Fáltanlle melloras.