// ARDUINO UNO
#include <LiquidCrystal.h>
#include <DHT.h>
#define DHTpin 7
#define DHTtype DHT11
DHT dht11 (DHTpin, DHTtype);
LiquidCrystal lcd(13,12,11,10,9,8);
void setup() {
// Serial.begin(9600);
dht11.begin();
lcd.begin(16,2);
lcd.clear();
pinMode(2,OUTPUT);//ejemplo q sea un motor
}
void loop() {
int temp,hume;
temp = dht11.readTemperature();
hume = dht11.readHumidity();
if(temp>=20){
digitalWrite(2,HIGH);
}
else {
digitalWrite(2,LOW);
}
if(temp<=90)
{
digitalWrite(2,HIGH);
}
else {
digitalWrite(2,LOW);
}
lcd.setCursor(0,0);
lcd.print("Temperatura ");
lcd.print(temp);
lcd.print("C");
delay(2000);
}
PROGRAMMING ARDUINO UNO - PIC 16F877A - 18F4550
martes, 10 de enero de 2017
PCB Wizard - Placa Inversión de Giro
Placa de Control de Inversion de Giro de un Motor Trifásico
Ejemplo la Conexión es similar para un Motor Trifásico
Cuenta de Display del 20 hasta 60 Exms.
//PROGRAMACIÓN PIC 18F4550
//Conteo desde el numero 20 hasta solo 60
unsigned short NUMERO[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7C,0x07,0x7F,0x67};
void main() {
int k=2; //decenas
int j=0; //unidades
int n=20; //cantidades de veces q se repiten
trisd=0x00; //apagado los display
trisb=0x00; //apagados el pulso para los display
portd=0;
portb=0;
while(1){
portd=NUMERO[k];
portb.f0=1;
delay_ms(200);
portb=0;
j++;
if(j==10){
j=0;
k++;
if(k==6)
k=2;
if(j==0)
j=0;
}
portd=NUMERO[j];
portb.f1=1;
delay_ms(200);
portb=0;
n++;
}
}
lunes, 9 de enero de 2017
Control de Servo BLUETOOTH
// ARDUINO UNO
#include <SoftwareSerial.h> //Incluimos libreria para crear nuestro propio RX-TX
SoftwareSerial NZV (2,3); //2 es igual a RX
//3 es igual a TX
#include <Servo.h> //Incluimos La libreria del MicroServo
Servo servo; //Creo el primer objeto cone el nombre "servo"
int puls_rest =0; //Estas tres variables son creadas para almacenar en los pines A0,A1,A2
int puls_der =0; //Configuramos que esten los tres para inicializar a los pulsadores en 0
int puls_izq =0; //que se encuentre en un estado cero
void setup()
{ Serial.begin(9600);
NZV.begin(9600);
servo.attach(5,500,2400); // Asocia el servo al pin 3, define el min y max del ancho del pulso
// eso depende del fabricante del servo
pinMode(A0,INPUT); //Para los 3 pulsadores
pinMode(A1,INPUT);
pinMode(A2,INPUT);
}
void loop()
{ int a;
//-------------------------Funcion de Recepcion
if(Serial.available() > 0){
a = Serial.read();
}
//-------------------------Funcion de Transmision
if(a == '1'){
servo.write(0);
}
if(a == '2'){
servo.write(90);
}
if(a == '3'){
servo.write(180);
}
puls_rest = digitalRead(A0); //Lee el valor del pin si esta en HIGH-LOW
puls_der = digitalRead(A1); //Lee el valor del pin si esta en HIGH-LOW
puls_izq = digitalRead(A2); //Lee el valor del pin si esta en HIGH-LOW
if(puls_rest==HIGH){
servo.write(0); //el servo Gira a 0 grados
delay(25); //Espera 25 mili segundos a que el servo llegue a la posicion
}
if(puls_der==HIGH){
servo.write(90); //el servo Gira a 90 grados
delay(25);
}
if(puls_izq==HIGH){
servo.write(180); //el servo Gira a 180 grados
delay(25);
}
}
Control de Servomotor con un Pulsador
//PROGRAMACIÓN ARDUINO-UNO
#include <Servo.h> //Incluimos La libreria del MicroServo
Servo servo; //Creo el primer objeto cone el nombre "servo"
void setup()
{ Serial.begin(9600);
servo.attach(9,500,2400); // Asocia el servo al pin 9
, define el min y max del ancho del pulso
// eso depende del fabricante del servo
pinMode(A0,INPUT); //Configuramos INPUT para Pulsador
}
void loop()
{
int pulsador;
pulsador = digitalRead(A0); //Almacenamos en la variable pulsador digitalRead(A0);
//Lee el valor del pin si esta en HIGH-LOW
if(pulsador==HIGH){ //Si el pulsador es pulsado se activa el servomotor
servo.write(0); //el servo Gira a 0 grados
delay(25); //Espera 25 mili segundos a que el servo llegue a la posicion
servo.write(90); //el servo Gira a 90 grados
delay(25);
servo.write(180); //el servo Gira a 180 grados
delay(25);
}
}
#include <Servo.h> //Incluimos La libreria del MicroServo
Servo servo; //Creo el primer objeto cone el nombre "servo"
void setup()
{ Serial.begin(9600);
servo.attach(9,500,2400); // Asocia el servo al pin 9
, define el min y max del ancho del pulso
// eso depende del fabricante del servo
}
void loop()
{
int pulsador;
pulsador = digitalRead(A0); //Almacenamos en la variable pulsador digitalRead(A0);
//Lee el valor del pin si esta en HIGH-LOW
if(pulsador==HIGH){ //Si el pulsador es pulsado se activa el servomotor
servo.write(0); //el servo Gira a 0 grados
delay(25); //Espera 25 mili segundos a que el servo llegue a la posicion
servo.write(90); //el servo Gira a 90 grados
delay(25);
servo.write(180); //el servo Gira a 180 grados
delay(25);
}
}
DISPLAY 7 SEGMENTOS PIC18F4550
//DISPLAY 7 SEGMENTOS PIC18F4550
void main() {
unsigned short NUMERO[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7C,0x07,0x7F,0x67};
trisc.f0=1;
trisd=0;
portd=0;
while(1){
int k=0;
for(k=0; k<=9; k++){
portd=NUMERO[k];
delay_ms(200);
}
for(k=8; k>=0; k--){
portd=NUMERO[k];
delay_ms(200);
}
}
}
Encender y Apagar un led con un button-PIC18f4550
//MODULO FULL-DOWN PIC 18F4550
void main() {
trisc.f0=1;
trisd=0;
portd=0;
while(1){
int estado;
int estadoAnterior;
int salida;
estado=portc.f0;
if((estado==1)&&(estadoAnterior==0)){
salida=1-salida;
delay_ms(20);
}
estadoAnterior=estado;
if(salida==1){
portd=1;
}
else{
portd=0;
}
}
}
void main() {
trisc.f0=1;
trisd=0;
portd=0;
while(1){
int estado;
int estadoAnterior;
int salida;
estado=portc.f0;
if((estado==1)&&(estadoAnterior==0)){
salida=1-salida;
delay_ms(20);
}
estadoAnterior=estado;
if(salida==1){
portd=1;
}
else{
portd=0;
}
}
}
Suscribirse a:
Entradas (Atom)