Modelo arquitectónico de una parada de autobús con parasol automático V2
Componentes y suministros
| × | 1 | ||||
| × | 1 | ||||
| × | 2 | ||||
| × | 1 | ||||
| × | 6 | ||||
| × | 3 | ||||
| × | 1 | ||||
| × | 27 | ||||
| × | 2 | ||||
| × | 2 | ||||
| × | 1 | ||||
| × | 1 |
Acerca de este proyecto
Esta es una actualización del proyecto anterior (V 1.0)
Los principales cambios de V1.0 son:
- El tamaño del modelo arquitectónico. Tiene un tamaño de 1,5 mx 1 m
- El peso de la sombrilla, por eso cambiamos el micro servo SG99 por el MG995
- Agregamos una fuente de energía externa para que el MG995 pudiera funcionar
- Probamos dos mecanismos diferentes para expandir / contraer la sombrilla. El que se descartó se muestra en el segundo video. El que usamos al final se muestra en el 3er. video.
- Modifique el boceto para usar la biblioteca VarSpeedServo
- Se corrigió un pequeño error lógico en uno de los estados de la sombrilla (gracias a Gurneet1928)
Puede encontrar la V1.0 en el siguiente enlace:Modelo Versión 1.0
LOS VIDEOS:
Realización del circuito
Realización del modelo arquitectónico
Código
- El código
El código C / C ++
#includeVarSpeedServo servo; int EasternLight =0; int westernLight =0; int rainSensed =0; int sunshadePosition =0; int rainThreshold =512; int sunshadeExpanded =120; int sunshadeContracted =60; int ambientLighting =0; int turnOnLightsOn =150; int ledIntensity =0; int ledPower =0; int servoSpeed =20; bool debugging =false; // Establecer en TRUE para habilitar la depuración en Serial Consolevoid setup () {pinMode (A4, OUTPUT); // Iluminación interior de la parada de autobús pinMode (A5, OUTPUT); // Luz de calle pinMode (A1, INPUT); // PinMode de luz occidental (A2, ENTRADA); // PinMode de luz oriental (A3, ENTRADA); // Sensor de lluvia pinMode analógico (2, INPUT); // Sensor de lluvia digital servo.attach (A0); // Servo servo.write (sunshadeContracted, servoSpeed, true); if (depuración) {Serial.begin (9600); Serial.println ("*** DEPURACIÓN INICIADA ***"); Serial.println ("-------------------------"); }} void oya_mydebug (String text, int value =NULL) {// Agregué 'oya_' como una forma de evitar un bloqueo con cualquier posible función de depuración // que pueda tener una biblioteca externa. Oya es una abreviatura del nombre // de mi empresa OfficeYA if (depuración) {Serial.print (texto); if (valor) {Serial.print ("="); Serial.println (valor); } else {Serial.println (""); }}} void expand_collapse (int EasternLight, int westernLight) {if (EasternLight <=westernLight) {// Está amaneciendo oya_mydebug ("Está amaneciendo"); if (sunshadePosition! =sunshadeExpanded) {servo.write (sunshadeExpanded, servoSpeed, true); oya_mydebug ("Parasol expandido"); }} if (EasternLight> westernLight) {// Está abajo oya_mydebug ("El sol está bajando"); if (sunshadePosition! =sunshadeContracted) {servo.write (sunshadeContracted, servoSpeed, true); oya_mydebug ("Parasol contraído"); }}} void loop () {// Obtiene los valores del sensor easternLight =analogRead (A2); westernLight =analogRead (A1); rainSensed =analogRead (A3); sunshadePosition =servo.read (); AmbientLighting =((EasternLight + westernLight) / 2); // Promedio del brillo del este y oeste oya_mydebug ("easternLight", easternLight); oya_mydebug ("luz occidental", luz occidental); oya_mydebug ("rainSensed", rainSensed); oya_mydebug ("posición de la sombrilla", posición de la sombrilla); oya_mydebug ("iluminación ambiental", iluminación ambiental); // ¿Averiguar si está lloviendo? if (rainSensed Esquemas
Proceso de manufactura
- Tren modelo
- Reciclar el robot de clasificación con Google Coral
- Maximice los ingresos recurrentes con un modelo de negocio de consumibles inteligente
- Control automático de trenes
- Obstáculos que evitan el robot con servomotor
- Sistema de riego automático de plantas con Arduino
- Torneado automático con tiempos de trabajo cortos
- Una introducción a la servoprensa
- ¿Qué es un servomotor?
- Emparejamiento de cabezales de engranajes con servomotores
- Mandrinado ECS G86 con ciclo de parada de husillo