lunes, 18 de febrero de 2019

Control Remoto



Para esta practica necesitamos descargar la Libreria "IRLremote", la cual puedes descargar en la siguiente liga: https://drive.google.com/drive/folders/1oBBXT5tb-sHLiMJtyfgbPPG5ptOzEJLY?usp=sharing


Aquí les dejo el código para trabajar con el Receptor de Luz Infraroja y recibir la información de un Control Remoto (Mando a Distancia):

//+++++++++++++++++++++++++++++++++++++++
//+++++++++++++++++++++++++++++++++++++++
#include <IRLremote.h>
int INTERRUPCION = 1; //PIN 3

uint8_t PROTOCOLO;    //FORMATO DE LA INFORMACIÓN
uint16_t DIRECCION;   //QUE RECIBE DEL CONTROL REMOTO
uint32_t TECLA;

uint8_t COPIA;

void IREvent(uint8_t protocol, uint16_t address, uint32_t command){
  PROTOCOLO = protocol;
  DIRECCION = address;
  TECLA = command;
}

void setup(){
  IRLbegin<IR_ALL>(INTERRUPCION);
  Serial.begin(9600);
}

void loop(){
  COPIA = SREG;
  cli();  //CLEAR Global Interrupt Flag

  while(PROTOCOLO!=0){
    Serial.print("Protocolo=");
    Serial.print(PROTOCOLO);
    Serial.print(" Direccion=");
    Serial.print(DIRECCION, HEX);
    Serial.print(" Tecla=");
    Serial.println(TECLA, HEX);
    PROTOCOLO=0;
  }
  SREG = COPIA;
  //sei(); //SET Global Interrupt Flag
}
//+++++++++++++++++++++++++++++++++++++++
//+++++++++++++++++++++++++++++++++++++++

Si tuvieron algún problema para cargar la librería aquí les dejo otra solución para montar el archivo a la biblioteca de Arduino



Les deseo mucho éxito

y sigamos programando!!!

jueves, 14 de febrero de 2019

Control de Motor



//++++++++++++++++++++++++++++++++++++++
//++++++++++++++++++++++++++++++++++++++
void ADELANTE(){
  PORTD=B10100000;    
}

void DERECHA(){
  PORTD=B10000000;
}

void IZQUIERDA(){
  PORTD=B00100000;
}
void DETENER(){
  PORTD=B00000000;
}

void REVERSA(){
  PORTD=B01010000;
}

void setup() {
  // put your setup code here, to run once:
  //PINES 7,6,5,4,3,2,1,0 = PORTD
  //ENTRADA=0 Y SALIDA=1
  DDRD=B11110011;
}

void loop() {
  // put your main code here, to run repeatedly:
  ADELANTE();
  delay(2000);
  DERECHA();
  delay(500);
  IZQUIERDA();
  delay(500);
  DETENER();
  delay(3000);
  REVERSA();
  delay(1000);
}
//++++++++++++++++++++++++++++++++++++++
//++++++++++++++++++++++++++++++++++++++
Les deseo mucho éxito
y sigamos programando!!!

miércoles, 6 de febrero de 2019

Arduino Serial print y read

Hola, aquí les dejo dos vídeos para aprender como 
enviar datos desde Arduino a la PC y viceversa:






//+++++++++++++++++++++++++++++++++++++++++
//+++++++++++++++++++++++++++++++++++++++++
#define BUZZER 8    //PIN #8 PARA BUZZER
int GREEN=A0;       //PUERTO ANALOGICO
int YELLOW=A1;
int RED=A2;
char TECLA;

void APAGAR(){
  analogWrite(RED,0);
  analogWrite(YELLOW,0);
  analogWrite(GREEN,0);
}

void setup() {
  // put your setup code here, to run once:
  pinMode(BUZZER,OUTPUT);
  Serial.begin(9600);
}

void loop() {
  // put your main code here, to run repeatedly:
  while(Serial.available()==0){}//espera sino hay datos
  TECLA=Serial.read();
  
  if(TECLA=='\n'){}
  else{
    
    APAGAR();       //Turn OFF Leds
    
    switch(TECLA){
      case 'R':
        Serial.println("Turn On RED Led");
        analogWrite(RED,255);
        break;
      case 'Y':
        Serial.println("Turn On YELLOW Led");
        analogWrite(YELLOW,255);
        break;
      case 'G':
        Serial.println("Turn On GREEN Led");
        analogWrite(GREEN,255);
        break;
      default:
        Serial.println("Key Wrong");
        tone(BUZZER,200,300);
        break;
    }
  }    
}
//+++++++++++++++++++++++++++++++++++++++++
//+++++++++++++++++++++++++++++++++++++++++


Les deseo mucho éxito
y sigamos programando!!!


Transformación del Samybot

Les deseo mucho éxito y sigamos programando!!!