Amosando publicacións coa etiqueta Robótica. Amosar todas as publicacións
Amosando publicacións coa etiqueta Robótica. Amosar todas as publicacións

mércores, 26 de febreiro de 2020

Anemómetro

Anemómetro

O alumnado de cuarto da ESO na materia de tecnoloxía constrúe un anemómetro que dá inicio á estratexia AMI Anemoi dentro do marco da UNESCO. Este primeiro paso consiste no deseño e impresión 3D, a construción do circuíto electrónico cun sensor de efecto Hall e a programación no IDE Arduino.



luns, 8 de abril de 2019

Masa efectiva do aire $M_{eff}$

En relación có artigo anterior imos a calcular a masa efectiva do aire. Supoñendo que o aire está composto do 20% de osíxeno e do 80% de nitróxeno e as moléculas de estes gases están constituidas por dous átomos, a masa molecular efectiva do aire pódese calcular da seguinte forma:

A masa a atómica do nitróxeno é de 14,0067 uma, polo tanto unha molécula de nitróxeno $N_{2}$ terá unha masa molecular de 28,0134 uma. A masa atómica do osíxeno é de 15,9944 uma, polo tanto unha molécula de osíxeno $O_{2}$ terá unha masa molecular de 31,988 uma. Tendo en conta os porcentaxes anteriores:


$M_{eff}=\left ( 28.0134uma \right )\left ( \frac{80}{100} \right ) + \left ( 31.9888uma \right )\left (\frac{20}{100}\right ) = 28.8085uma$


Imos calcular a cantidade de moléculas en condicións normais, e cantas hai de cada tipo, en un $1cm^{3}$ de aire:

En condicións normais a temperatura son T=273 K a presión é p=1 atm.
Para calcular o número de moléculas primeiro calculamos o número de moles,
o volume é v=$1cm^{3}$=$1^{-3}dm^{3}$=$10^{-3}litros$. A partir da ecuación de estado para os gases ideais:

$p.v=n.R.T\Rightarrow n=\frac{p.v}{R.T}=\frac{\left ( 1atm \right ).\left ( 10^{-3}L \right )}{\left ( 0.082 \frac{atm.L}{mol.K} \right )\left ( 273K \right )}=4,4671\cdot 10^{-5}moles.$

Para calcular o número de moléculas necesitamos o número de Avogadro:

$\left (4,4671\cdot 10^{-5}moles \right )\cdot\left (\frac {6,023\cdot10^{23}mol\acute {e}culas}{1mol} \right )=2,7\cdot10^{19}mol\acute{e}culas$

Destas moléculas as de nitróxeno serán o 80%:

$mol_{N_{2}}=\left (2,7\cdot10^{19}mol\acute{e}culas \right )\cdot\left (\frac {80}{100} \right )=2,16\cdot10^{19}mol\acute{e}culas$

As de osíxeno 20%:

$mol_{O_{2}}=\left (2,7\cdot10^{19}mol\acute{e}culas \right )\cdot\left (\frac {20}{100} \right )=5,4\cdot10^{18}mol\acute{e}culas$

venres, 29 de marzo de 2019

Explicación das partes por millón en volume.

Se dentro da  cámara  temos N gases e dun en concreto, i, temos $n_{i}$ moles, sendo a masa molar $M_{i}$ e  ocupando un volume $v_{i}$, entón a densidade dese gas é: $\rho_{i}=\frac{n_{i}.M_{i}}{v_{i}}$
Da lei dos gases ideais $p_{i}.v_{i}=n_{i}RT\Rightarrow p_{i}=\frac{\rho_{i}}{M_{i}}RT$


Se temos N gases ocupando o mesmo volume, que pode ser o caso dentro da cámara de medida do sensor, e a unha mesma temperatura T:

$\frac{p _i}{\sum p_j}=\frac{\frac{\rho _i}{M_i}RT}{\sum \frac{\rho _j}{M_j}RT}=\frac{\frac{\rho _i}{M_i}}{\sum \frac{\rho _j}{M_j}}=\frac{n_i}{\sum n_j}$

Se chamamos á presión total: $p_{total}= \sum p _j$ e á densidade total: $\rho _{total}= \sum \rho _j$

Podemos expresar a presión total, empregando a lei dos gases ideais, da seguinte maneira:

$p_{total}=\sum \frac{n_{i}}{v_{i}}RT=\sum \frac{\rho _{i}}{M_{i}}RT$

Se definimos a masa molecular efectiva do aire $M_{eff}$ tal que:
$\frac{\rho _{total}}{Meff}= \sum \frac{\rho _{j}}{M_{j}}$ podemos expresar a presión total:

 $p_{total} = \rho_{total} \left ( \frac{R}{M_{eff}} \right ) T$

Do anterior dedúcese: $\frac{n_{i}}{\sum n_{j}}= \frac{^{\frac{\rho_{i}}{M_{i}}}}{\frac{\rho_{total}}{M_{eff}}} \Rightarrow  \frac{\rho_{i}}{\rho_{total}} = \left ( \frac{M_{i}}{M_{eff}} \right ).\frac{n_{i}}{\sum n_{j}}$

Disto último a fración en masa en partes por millón é: $10^{6}.\frac{\rho_{i}}{\rho_{total}}$  a fración molar en partes por millón, que é o que mide o sensor, é:
$10^{6}.\frac{n_{i}}{\sum n_{j}}$

A relación entre a medida do sensor e da fracción en masa vén dada polo factor
$(\frac{M_{i}}{M_{eff}})$ , ou sexa, a proporción entre a masa molecular de cada gas $(M_{i})$ e a masa molecular efectiva da mestura de gases coa que estamos traballando $(M_{eff})$.








xoves, 28 de marzo de 2019

Circuito Arduino

O circuíto empregado para a medida do dióxido de carbono ten os seguintes elementos: 
  • Pantalla LCD 20x4 I2C
  • Sensor K30 NDIR
  • Arduino UNO
  • Fonte YWRobot
  • Placa breadboard

As conexións indícanse na seguinte imaxe:

Francisco. Conexións. CC-BY-SA

Códido Arduino.

Mostramos a continuación o código necesario para o funcionamento do circuíto:

#include <K30_I2C.h>
#include <LiquidCrystal_I2C.h>
K30_I2C k30_i2c = K30_I2C(0x68);
LiquidCrystal_I2C lcd(0x3F, 20, 4);
int co2 = 0;
int rc  = 1;
String ppmString = " ppm";
String linea1;
String linea2;
int TiempoLazo = 3000;
void setup() {
   lcd.init();
  lcd.backlight();
}
void loop() {
  rc = k30_i2c.readCO2(co2);
  if (rc == 0) {
    linea1 = "Nivel de CO2:";
    linea2 = String(co2) + ppmString;
  } else {
    linea1 = String("Fallo en la lectura sensor\n");
    linea2 = String("Retorno codigo:  " + String(rc));
  }
 lcd.setCursor(0, 0);
 lcd.print(linea1);
 lcd.setCursor(0, 1);
 lcd.print(linea2);
 delay(TiempoLazo);
 lcd.clear();
}
Abraham. Código. CC-BY-SA

sábado, 9 de marzo de 2019

Fundamentos NDIR

Os elementos que  intevienen na detección son: emisor de infravermellos, cámara de  muestreo, filtro de lonxitude de onda e detector de infravermellos.


Lilly Bolero. NDIR. CC-BY-SA


O gas  a detectar(dióxido de carbono) entre a fonte de infravermellos e o detector absorbe radiación  infravermella de determinada lonxitude de onda. O filtro absorbe todas as lonxitudes de onda menos a absorbida polo dióxido de carbono. O detector rexistra a cantidade de infravermello non absorbido, e desta maneira pódese saber a cantidade de dióxido de carbono que está presente. A expresión matemática que describe o fenómeno é a ecuación de  Beer- Lambert:

$ I=I_0.e^{Ksc} $
$I_0$ é a intensidade de luz nunha cámara vacia.
$K$  é o coeficiente específico de absorción.
$c$ é a concentración do gas obxectivo.
$s$ é a lonxitude do tramo de absorción.

É un sistema de moi alta precisión e de baixo consumo.
Aquí témolo noso sensor nas mans de Yeray:

Lilly Bolero. Sensor K30. CC-BY-SA

Medida do Dióxido de carbono

A directora do IES acompaña ao alumnado que experimenta coa tecnoloxía de infravermello non dispersivo no espazo creativo( FAB LAB) da Augateca, no marco do Proxecta, na montaxe do circuíto para a medida do dióxido de carbono.


Lilly Bolero .Proxecta na Augateca. En youtube. CC-BY-SA

sábado, 16 de febreiro de 2019

Entendendo os infravermellos

Para comprender como se comportan e que son as radiacións infravermellas gocemos deste vídeo. É o primeiro paso para entender a tecnoloxía NDIR que usará o noso sensor K30.

 
MARDUK Ciencia. El espectro electromagnético 4 NASA. En youtube. Licenza youtube estandar



sábado, 9 de febreiro de 2019

NDIR Medida do Dióxido de Carbono

Obxectivos

 

Empregando a técnica de infravermello non dispersivo(NDIR) o alumnado de segundo de bacharelato propón estes obxectivos:
  • Investigar os fundamentos da técnica  de infravermello non dispersivo co sensor K30 para o dióxido de carbono. O sensor poñerase  en funcionamento coa plataforma Arduino. Os datos visualizaranse nunha pantalla lcd con protocolo I2C.
  • Cos datos recolleitos investigarase en profundidade o significado de partes por millón en volume, entendendo ben como a fracción en  masa é a fracción de moles multiplicada pola razón dos pesos moleculares do dióxido de carbono e o aire.
  • Facer unha reflexión profunda do significado do número de Avogadro.

sábado, 7 de abril de 2018

Cálculos matemáticos.Estrutura.

A estación real é de 400x400x400 mm, a réplica é de 170x170x170 mm. Ao ser as columnas da estación real de 30x30 mm de sección, as medidas  da réplica obtéñense da seguinte igualdade matemática:

As medidas do teito superior calcúlanse así:



A altura das pezas que soportan o teito:

O cálculo da inclinación das pezas de apoio do teito faise usando trigonometria na seguinte imaxe:
Nacho Iriondo. Ángulo.CC-BY-SA

Na seguinte imaxe vemos o teito para comprender o cálculo anterior:

Nacho Iriondo. Teito. CC-BY-SA



sábado, 31 de marzo de 2018

App Inventor

Esta é a pantalla na que se diseña a interface de usuario. Nela poñemos os componentes que serven para que os usuarios interactúen coa aplicación. A aplicación móvil permítenos monitorar os datos da nosa estación. O IDE empregado e App Inventor. Vexámos os pasos que levan a acadála. Está composta por un listpicker(conectar), un botón(desconectar), un cliente de bluetooth e un reloxo, o resto de elementos son etiquetas onde poñer os datos.

Nacho Iriondo. Deseño. CC-BY-SA

Nesta pantalla incluimos os bloques que se corresponde coa programación dos componentes da pantalla de deseño. Imos ir analizando un a un.

Nacho Iriondo. Bloques. CC-BY-SA

Con estos bloques al inicializar a pantalla un, asignamos a propiedade Text das etiquetas e labels o seu valor inicial. Deste xeito no comezo a aplicación danos a información axeitada.


Nacho Iriondo. Screen1. CC-BY-SA


Programamos o evento Beforepicking do listpicker1. A propiedade elements do listpicker1 asignamoslle os nomes e direccións do cliente de bluetooth.

Nacho Iriondo. BeforePicking. CC-BY-SA
Programamos o evento Afterpicking do listpicker1. Conectamos o cliente de bluetooth co selección realizada no listpicker1, si o cliente de bluetooth esta ben conectado poñemos a true a propiedade TimerAlwaysFires e mostramos na etiqueta correspondente este feito de estar conectado, no caso contrario aparece a información de desconexión.

Nacho Iriondo. AfterPicking. CC-BY-SA
Declaramos dúas variables. A primeira inicializase a cero, e a que almacena os datos que veñen vía bluetooth, e a segunda e a lista na que se organizan estes datos para ser mostrados nas etiquetas, para a correcta monitorización da estación.

Nacho Iriondo. Variables. CC-BY-SA
Programamos o evento Timer do clock1. No diseño o TimerInterval do clock1 puxémolo a 900 milisegundos para unha correcta sincronización. Agora temos que facer chegar os datos as etiquetas correspondentes. Comprobamos si el cliente de bluetooth está conectado, os datos recibidos almacenánse nunha lista e son asignados as etiquetas correspondentes. Si non está ben conectado mostramos a mensaxe: "Error de conexión".

Nacho Iriondo. Timer. CC-BY-SA
Programamos o evento click do botón1, cando é pulsado e se desconecta o bluetooth mostráse nunha etiqueta a palabra:”Desconectado”, e reseteanse o resto das etiquetas.

Nacho Iriondo. Button1. CC-BY-SA

mércores, 21 de marzo de 2018

Imprimindo a estación

Na clase co programa Freecad diseñamos as pezas da estructura.

Nacho Iriondo. Diseño Freecad. CC-BY-SA
Co diseño feito facémola impresión.


Nacho Iriondo. Impresión 3D. En youtube. Licenza youtube estándar.

venres, 16 de febreiro de 2018

Robótica, módulo bluetooth

HC-06


 Para comunicar a estación, a través da aplicación móbil, imos empregar o módulo bluetooth HC-06, conéctase como se indica na seguinte imaxe.


Nacho Iriondo. HC-06 (CC BY-SA)

Código para el IDE Arduino.

const int LED=13;
const int BTVcc=10;
char nombre[10]="estación";
char velocidad="4";
char pin[5]="m555";
void setup() {
  pinMode(LED,OUTPUT);
  pinMode(BTVcc,OUTPUT);
  digitalWrite(LED,LOW);
  digitalWrite(BTVcc,HIGH);
  Serial.begin(9600);
  Serial.print("AT");
  delay(1000);
  Serial.print("AT+NAME");
  Serial.print(nombre);
  delay(1000);
  Serial.print("AT+BAUD");
  Serial.print(velocidad);
  delay(1000);
  Serial.print("AT+PIN");
  Serial.print(pin);
  delay(1000);
  digitalWrite(LED,HIGH);
}

void loop() {
 }

xoves, 15 de febreiro de 2018

Robótica pantalla LCD

CONEXIÓN A ARDUINO


Esta pantalla dános a posibilidade de representar caracteres númericos e letras en dúas filas de 16 posicións cada unha, necesita unha librería para funcionar LiquidCrystal. h, o IDE de Arduino tráea preinstalada.

 Neste esquema apréciase como conectar a pantalla con Arduino, tendo en conta que é necesario un potenciometro de 10K para regular o contraste e unha resistencia de 220 ohmios para acender a retroiluminación da mesma.

Nacho Iriondo. LCD (CC BY-SA)

 CÓDIGO ARDUINO


#include <LiquidCrystal.h>  
#include "DHT.h"       
#define DHTPIN 8     
#define DHTTYPE DHT11       
DHT dht(DHTPIN, DHTTYPE);     
int Humedad=0;     
int Temperatura=0;     
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);   
void setup() {
  dht.begin();      
  lcd.begin(16, 2);    
  lcd.setCursor(4, 0);    
  lcd.print("PROXECTA");     
  delay (2000);         
  lcd.clear();      
  lcd.setCursor(0, 0);      
  lcd.print("Tecnologia ");      
  delay (1000);     
  lcd.setCursor(2, 1);       
  lcd.print("Industrial.I");        
  delay (2000);     
  lcd.clear();         
  lcd.setCursor(0, 0);   
  lcd.print("ESTACION");     
  delay (1000);    
  lcd.setCursor(0, 1);    
  lcd.print("METEOROLOGICA");   
  delay (2000);  
  lcd.clear();     
  }
void loop() {
  Humedad = dht.readHumidity(); 
  Temperatura = dht.readTemperature();   
  lcd.setCursor(0, 0);     
  lcd.print("HUMEDAD");  
  lcd.setCursor(12, 0);    
  lcd.print(Humedad);    
  lcd.setCursor(14, 0); 
  lcd.print("%");       
  lcd.setCursor(0, 1);  
  lcd.print("TEMPERATURA");  
  lcd.setCursor(12, 1); 
  lcd.print(Temperatura);   
  lcd.setCursor(14, 1);  
  lcd.print("C");   
  delay(1000);  
    }

Rapaces traballando

martes, 13 de febreiro de 2018

Robótica sensor DHT11

 Sensor de temperatura e humidade

Coñecementos para poder medir a temperatura e a humidade.

Sensor DHT11 

 O DHT11 é un sensor de humidade e temperatura ambiente, que dá unha saída dixital dos datos. Proporciona números enteiros na súa saída de datos.


Nacho Iriondo. Imagen DHT11 (CC BY-SA)
 
Características técnicas:
  • Rango de medida de temperatura: 0º-60º 
  • Rango de medida de humidade: 20%-90% 
  • Tensión de alimentación: 3,3V a 5V 
  • Tempo de resposta < 0,5s. 
  • Dimensións: 23,5 mm x 12 mm x 5,5 mm.

Conexión a  Arduino

 Imos usar o número 8 para os datos.

Nacho Iriondo. Conexiones del DHT11 (CC BY-SA)

CÓDIGO PARA EL IDE ARDUINO

#include "DHT.h"
#define DATOS 8
#define TIPO DHT11
DHT dht(DATOS, TIPO);
int temperatura = 0;
int humedad = 0;
void setup() {
Serial.begin(9600);
dht.begin();
}
void loop() {  
 humedad = dht.readHumidity();
temperatura = dht.readTemperature();
Serial.print("Humedad: ");            
Serial.print(humedad);
Serial.println("%");                           
Serial.print("Temperatura: ");             
Serial.print(temperatura);
Serial.println("C");             
delay (5000);
}

Alumnos traballando



Nacho Iriondo. DHT11. En youtube.Enlace a licenza.

Robótica

 Robótica educativa e impresión 3D


 Empregamos os coñecementos de robótica e impresión 3D, adquiridos en Tecnoloxía, cos seguintes obxectivos:
  •  Construír unha réplica da estación coa impresora 3D.
  •  Dotar á réplica da estación da electrónica necesaria para medir a temperatura e a humidade. 
  • Monitorar os datos da estación en dispositivos móbiles, para iso creamos unha aplicación coa plataforma do MIT( Instituto Tecnolóxico de Massachusetts) App Inventor, que monitora os datos enviados a través dun módulo bluetooth.
  •  Crear unha comunidade de aprendizaxe ubicua empregando o Social Learning Environment desenvolvido no Laboratorio de Redes da Universidade de Vigo, xunto coa spin- off da UVigo resultante SocialWire Labs, chamada SocialWire.
  • Os alumnos participantes crearán cadanseu PLE e unha PLN empregando ferramentas ALFIN como: Diigo, Feedly, Twitter etc.......no seo da comunidade de aprendizaxe.
  • Facer non centro de ensino unha presentación pública do proxecto na biblioteca.

Seguidores

Buscar neste blog