SIMULACION EN ARDUINO PARTE 1
practica 1
Codigo:
int led = 13;// the setup routine runs once when you press reset:
void setup() {
// initialize the digital pin as an output.
pinMode(led, OUTPUT);
}
// the loop routine runs over and over again forever:
void loop() {
digitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level)
delay(1000); // wait for a second
digitalWrite(led, LOW); // turn the LED off by making the voltage LOW
delay(1000); // wait for a second
}
Comentario:
Esta practica solo vimos como se componia el codigo y como lo dab a en automatico circuits si solo era un led.Enlace: "https://circuits.io/circuits/2611383-the-unnamed-circuit"
PRACTICA 2
CODIGO:
int led1 = 13;int led2 = 12;
int led3 = 11;
int led4 = 10;
// the setup routine runs once when you press reset:
void setup() {
// initialize the digital pin as an output.
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
pinMode(led4, OUTPUT);
}
// the loop routine runs over and over again forever:
void loop() {
digitalWrite(led1, HIGH); // turn the LED on (HIGH is the voltage level)
delay(100); // wait for a second
digitalWrite(led1, LOW); // turn the LED off by making the voltage LOW
delay(50); // wait for a second
digitalWrite(led2, HIGH); // turn the LED on (HIGH is the voltage level)
delay(100); // wait for a second
digitalWrite(led2, LOW); // turn the LED off by making the voltage LOW
delay(50); // wait for a second
digitalWrite(led3, HIGH); // turn the LED on (HIGH is the voltage level)
delay(100); // wait for a second
digitalWrite(led3, LOW); // turn the LED off by making the voltage LOW
delay(50); // wait for a second
digitalWrite(led4, HIGH); // turn the LED on (HIGH is the voltage level)
delay(100); // wait for a second
digitalWrite(led4, LOW); // turn the LED off by making the voltage LOW
delay(50); // wait for a second
}
Comentario:
Aqui como en la primera practica solo se tuvieron que agregar y definir las variables igual que en la primera practica.Enlace: "https://circuits.io/circuits/2611431-practica-2"
PRACTICA 3
CODIGO:
int led1 = 13;int led2 = 12;
int led3 = 11;
int led4 = 10;
// the setup routine runs once when you press reset:
void setup() {
// initialize the digital pin as an output.
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
pinMode(led4, OUTPUT);
}
// the loop routine runs over and over again forever:
void loop() {
digitalWrite(led1, HIGH); // turn the LED on (HIGH is the voltage level)
delay(100); // wait for a second
digitalWrite(led1, LOW); // turn the LED off by making the voltage LOW
delay(50); // wait for a second
digitalWrite(led2, HIGH); // turn the LED on (HIGH is the voltage level)
delay(100); // wait for a second
digitalWrite(led2, LOW); // turn the LED off by making the voltage LOW
delay(50); // wait for a second
digitalWrite(led3, HIGH); // turn the LED on (HIGH is the voltage level)
delay(100); // wait for a second
digitalWrite(led3, LOW); // turn the LED off by making the voltage LOW
delay(50); // wait for a second
digitalWrite(led4, HIGH); // turn the LED on (HIGH is the voltage level)
delay(100); // wait for a second
digitalWrite(led4, LOW); // turn the LED off by making the voltage LOW
delay(50); // wait for a second
}
Comentario:
Aqui se cambio el orden en el que prendia los led solo cambiandole de lugar ya sea el puerto o programando en diferente orden las variables.Enlace:"https://circuits.io/circuits/2608037-practica-3"
PRACTICA 4
CODIGO:
int ledv = 13;int leda = 12;
int ledr = 11;
int ledv2 = 10;
int leda2 = 9;
int ledr2 = 8;
// the setup routine runs once when you press reset:
void setup() {
// initialize the digital pin as an output.
pinMode(ledv, OUTPUT);
pinMode(leda, OUTPUT);
pinMode(ledr, OUTPUT);
pinMode(ledv2, OUTPUT);
pinMode(leda2, OUTPUT);
pinMode(ledr2, OUTPUT);
}
// the loop routine runs over and over again forever:
void loop() {
digitalWrite(ledv, HIGH); // turn the LED on (HIGH is the voltage level)
digitalWrite(ledr2, HIGH); // turn the LED on (HIGH is the voltage level)
delay(5000);
digitalWrite(ledv, LOW);
delay(1000);
digitalWrite(ledv, HIGH);
delay(1000);
digitalWrite(ledv, LOW);
delay(1000);
digitalWrite(ledv, HIGH);
delay(1000);
digitalWrite(ledv, LOW);
delay(1000);
digitalWrite(leda, HIGH);
delay(2000);
digitalWrite(leda, LOW);
delay(1000);
digitalWrite(ledr, HIGH);
delay(1000);
digitalWrite(ledr2, LOW);
digitalWrite(ledv2, HIGH);
delay(5000);
digitalWrite(ledv2, LOW);
delay(1000);
digitalWrite(ledv2, HIGH);
delay(1000);
digitalWrite(ledv2, LOW);
delay(1000);
digitalWrite(ledv2, HIGH);
delay(1000);
digitalWrite(ledv2, LOW);
delay(1000);
digitalWrite(leda2, HIGH);
delay(2000);
digitalWrite(leda2, LOW);
delay(1000);
digitalWrite(ledr2, HIGH);
delay(1000);
digitalWrite(ledr, LOW);
}
Enlace: "https://circuits.io/circuits/2611567-practica-4"
Comentario:
Aqui se configuro en forma de semaforo ya que si uno estaba en verde el otro debia estar en rojo y viceversa al prinicpio nos dio batalla por que no prendia como queriamos por el delay.TAREA PREGUNTAS
¿Que es un potenciometro?
Un potenciómetro es una Resistencia Variable. Así de sencillo. El problema, o la diferencia, es la técnica para que esa resistencia pueda variar y como lo hace.
Los potenciómetros limitan el paso de la corriente eléctrica (Intensidad) provocando una caída de tensión en ellos al igual que en una resistencia, pero en este caso el valor de la corriente y la tensión en el potenciómetro las podemos variar solo con cambiar el valor de su resistencia. En una resistencia fija estos valores serían siempre los mismos. Si esto no lo tienes claro es mejor que estudies las magnitudes electricas.
¿Cual es la ecuación para la división de voltaje?
Tarjetas DAQ
La adquisición de datos (DAQ) es el proceso de medir con una PC un fenómeno eléctrico o físico como voltaje, corriente, temperatura, presión o sonido. Un sistema DAQ consiste de sensores, hardware de medidas DAQ y una PC con software programable. Comparados con los sistemas de medidas tradicionales, los sistemas DAQ basados en PC aprovechan la potencia del procesamiento, la productividad, la visualización y las habilidades de conectividad de las PCs estándares en la industria proporcionando una solución de medidas más potente, flexible y rentable.
BB: http://www.areatecnologia.com/electronica/potenciometro.html
http://www.ni.com/data-acquisition/what-is/esa/
SIMULACIONES PARTE 2
Simulación 1: Potencio-metro
CODIGO:
int led1 = 13;int led2 = 12;
int led3 = 11;
int led4 = 10;
void setup() {
pinMode(led1,OUTPUT);
pinMode(led2,OUTPUT);
pinMode(led3,OUTPUT);
pinMode(led4,OUTPUT);
Serial.begin(9600);
}
void loop() {
int sensorValue = analogRead(A0);
float voltage = sensorValue * (5.0 / 1023.0);
Serial.println(voltage);
if(voltage <=1){
digitalWrite(led1, LOW);
digitalWrite(led2, LOW);
digitalWrite(led3, LOW);
digitalWrite(led4, LOW);
}
if(voltage > 1 && voltage <=2){
digitalWrite(led1, HIGH);
digitalWrite(led2, LOW);
digitalWrite(led3, LOW);
digitalWrite(led4, LOW);
}
if(voltage > 2 && voltage <=3){
digitalWrite(led1, HIGH);
digitalWrite(led2, HIGH);
digitalWrite(led3, LOW);
digitalWrite(led4, LOW);
}
if(voltage > 3 && voltage <=4){
digitalWrite(led1, HIGH);
digitalWrite(led2, HIGH);
digitalWrite(led3, HIGH);
digitalWrite(led4, LOW);
}
if(voltage > 4 && voltage <=4.5){
digitalWrite(led1, HIGH);
digitalWrite(led2, HIGH);
digitalWrite(led3, HIGH);
digitalWrite(led4, HIGH);
}
if(voltage > 4.5 && voltage <=5){
digitalWrite(led1, HIGH);
digitalWrite(led2, HIGH);
digitalWrite(led3, HIGH);
digitalWrite(led4, HIGH);
delay(100);
}
}
Comentario:
En esta parte se le agrego el potenciometro, para que este al girarlo manualmente prendiera los led entre mas valor tuvieran.Enlace: https://circuits.io/circuits/2888048-practica-5-potenciometro
Simulación 2: Potencio-metro display
Codigo:
int led1 = 13;
int led2 = 12;
int led3 = 11;
int led4 = 10;
const byte numeros[11] =
{B11111100, // 0
B01100000, // 1
B11011010, // 2
B11110010, // 3
B01100110, // 4
B10110110, // 5
B00111110, // 6
B11100000, // 7
B11111110, // 8
B11100110, // 9
B00000001 // PD
};
const int pinSegmento[] = {9,4,5,2,3,8,7,6};
void setup() {
pinMode(led1,OUTPUT);
pinMode(led2,OUTPUT);
pinMode(led3,OUTPUT);
pinMode(led4,OUTPUT);
for(int i=0; i < 8; i++){
pinMode(pinSegmento[i], OUTPUT);
}
Serial.begin(9600);
}
void loop() {
int sensorValue = analogRead(A0);
float voltage = sensorValue * (5.0 / 1023.0);
Serial.println(voltage);
if(voltage <=1){
digitalWrite(led1, LOW);
digitalWrite(led2, LOW);
digitalWrite(led3, LOW);
digitalWrite(led4, LOW);
pintaDigito(0);
delay(1000);
}
if(voltage > 1 && voltage <=2){
digitalWrite(led1, HIGH);
digitalWrite(led2, LOW);
digitalWrite(led3, LOW);
digitalWrite(led4, LOW);
pintaDigito(1);
delay(1000);
}
if(voltage > 2 && voltage <=3){
digitalWrite(led1, HIGH);
digitalWrite(led2, HIGH);
digitalWrite(led3, LOW);
digitalWrite(led4, LOW);
pintaDigito(2);
delay(1000);
}
if(voltage > 3 && voltage <=4){
digitalWrite(led1, HIGH);
digitalWrite(led2, HIGH);
digitalWrite(led3, HIGH);
digitalWrite(led4, LOW);
pintaDigito(3);
delay(1000);
}
if(voltage > 4 && voltage <=4.5){
digitalWrite(led1, HIGH);
digitalWrite(led2, HIGH);
digitalWrite(led3, HIGH);
digitalWrite(led4, HIGH);
pintaDigito(4);
delay(1000);
}
if(voltage > 4.5 && voltage <=5){
digitalWrite(led1, HIGH);
digitalWrite(led2, HIGH);
digitalWrite(led3, HIGH);
digitalWrite(led4, HIGH);
delay(100);
digitalWrite(led1, LOW);
digitalWrite(led2, LOW);
digitalWrite(led3, LOW);
digitalWrite(led4, LOW);
delay(100);
pintaDigito(5);
delay(1000);
}
}
void pintaDigito(int numero) {
boolean prendido;
for(int segmento = 0; segmento < 8; segmento++) {
prendido = bitRead(numeros[numero], segmento);
digitalWrite( pinSegmento[segmento], prendido);
}
Enlace: https://circuits.io/circuits/2888523-the-unnamed-circuit/ int led2 = 12;
int led3 = 11;
int led4 = 10;
const byte numeros[11] =
{B11111100, // 0
B01100000, // 1
B11011010, // 2
B11110010, // 3
B01100110, // 4
B10110110, // 5
B00111110, // 6
B11100000, // 7
B11111110, // 8
B11100110, // 9
B00000001 // PD
};
const int pinSegmento[] = {9,4,5,2,3,8,7,6};
void setup() {
pinMode(led1,OUTPUT);
pinMode(led2,OUTPUT);
pinMode(led3,OUTPUT);
pinMode(led4,OUTPUT);
for(int i=0; i < 8; i++){
pinMode(pinSegmento[i], OUTPUT);
}
Serial.begin(9600);
}
void loop() {
int sensorValue = analogRead(A0);
float voltage = sensorValue * (5.0 / 1023.0);
Serial.println(voltage);
if(voltage <=1){
digitalWrite(led1, LOW);
digitalWrite(led2, LOW);
digitalWrite(led3, LOW);
digitalWrite(led4, LOW);
pintaDigito(0);
delay(1000);
}
if(voltage > 1 && voltage <=2){
digitalWrite(led1, HIGH);
digitalWrite(led2, LOW);
digitalWrite(led3, LOW);
digitalWrite(led4, LOW);
pintaDigito(1);
delay(1000);
}
if(voltage > 2 && voltage <=3){
digitalWrite(led1, HIGH);
digitalWrite(led2, HIGH);
digitalWrite(led3, LOW);
digitalWrite(led4, LOW);
pintaDigito(2);
delay(1000);
}
if(voltage > 3 && voltage <=4){
digitalWrite(led1, HIGH);
digitalWrite(led2, HIGH);
digitalWrite(led3, HIGH);
digitalWrite(led4, LOW);
pintaDigito(3);
delay(1000);
}
if(voltage > 4 && voltage <=4.5){
digitalWrite(led1, HIGH);
digitalWrite(led2, HIGH);
digitalWrite(led3, HIGH);
digitalWrite(led4, HIGH);
pintaDigito(4);
delay(1000);
}
if(voltage > 4.5 && voltage <=5){
digitalWrite(led1, HIGH);
digitalWrite(led2, HIGH);
digitalWrite(led3, HIGH);
digitalWrite(led4, HIGH);
delay(100);
digitalWrite(led1, LOW);
digitalWrite(led2, LOW);
digitalWrite(led3, LOW);
digitalWrite(led4, LOW);
delay(100);
pintaDigito(5);
delay(1000);
}
}
void pintaDigito(int numero) {
boolean prendido;
for(int segmento = 0; segmento < 8; segmento++) {
prendido = bitRead(numeros[numero], segmento);
digitalWrite( pinSegmento[segmento], prendido);
}
Simulación 3: Sensor Temperatura
Código:
int led1 = 13;
int led2 = 12;
int led3 = 11;
int led4 = 10;
void setup() {
pinMode(led1,OUTPUT);
pinMode(led2,OUTPUT);
pinMode(led3,OUTPUT);
pinMode(led4,OUTPUT);
Serial.begin(9600);
}
void loop() {
int sensorValue = analogRead(A0);
float voltage = sensorValue * (5 / 150);
Serial.println(voltage);
if(voltage <=1){
digitalWrite(led1, LOW);
digitalWrite(led2, LOW);
digitalWrite(led3, LOW);
digitalWrite(led4, LOW);
}
if(voltage > 1 && voltage <=2){
digitalWrite(led1, HIGH);
digitalWrite(led2, LOW);
digitalWrite(led3, LOW);
digitalWrite(led4, LOW);
}
if(voltage > 2 && voltage <=3){
digitalWrite(led1, HIGH);
digitalWrite(led2, HIGH);
digitalWrite(led3, LOW);
digitalWrite(led4, LOW);
}
if(voltage > 3 && voltage <=4){
digitalWrite(led1, HIGH);
digitalWrite(led2, HIGH);
digitalWrite(led3, HIGH);
digitalWrite(led4, LOW);
}
if(voltage > 4 && voltage <=4.5){
digitalWrite(led1, HIGH);
digitalWrite(led2, HIGH);
digitalWrite(led3, HIGH);
digitalWrite(led4, HIGH);
}
if(voltage > 4.5 && voltage <=5){
digitalWrite(led1, HIGH);
digitalWrite(led2, HIGH);
digitalWrite(led3, HIGH);
digitalWrite(led4, HIGH);
delay(100);
digitalWrite(led1, LOW);
digitalWrite(led2, LOW);
digitalWrite(led3, LOW);
digitalWrite(led4, LOW);
delay(100);
}
}
0 comentarios:
Publicar un comentario