Categories
Arduino Artificial Intelligence Raspberry

YouTube: Writing Code & Pinouts in Arduino IDE

Canal de YouTube

Categories
Arduino Raspberry Technological

Arduino (IoT): Proyecto de Iluminación Nocturna

Arduino Honduras Santiapps Marcio Valenzuela

Proyecto de Iluminación Nocturna

Nuestros robots ya pueden diferenciar entre noche y día.  Podemos usar esto a nuestra ventaja al combinarlo con detección de movimiento para controlar una luz.

Requisitos:

  1. Computadora (mac)
  2. Arduino UNO o equivalente.
  3. Foto-transistor
  4. Detector de Movimiento PIR
  5. LED
  6. Resistor de 1kOhm
  7. Breadboard
  8. Arduino IDE (https://www.arduino.cc/en/Main/Software)

Ya aprendimos a usar el detector de movimiento PIR.  Ahora combinemos el PIR con el sensor de iluminación para controlar una LED.  Hagamos las conexiones así:

Arduino IoT: Simple Tutorial Luz Nocturna Detección de Movimiento Santiapps Marcio Valenzuela
Arduino IoT: Simple Tutorial Luz Nocturna Detección de Movimiento

Ahora estudiemos el código, el cual es bastante sencillo por cierto.  Lo importante es la lógica:

[code] //PIR
int ledPin = 10;
int pirPin = 9;
int pirVal = 0;
int photoTr = 0;
//Timing parameters
boolean motionDetectedFlag;
unsigned long initialiseSensorTimestamp;
long previousMillis = 0;
long interval = 1000;
void setup() {
Serial.begin(9600);
pinMode (pirPin, INPUT);
pinMode (ledPin, OUTPUT);
}
void loop() {
//if PIR motion is detected && illum is below x value
pirVal = digitalRead(pirPin);
Serial.print(“PIR: “);
Serial.println(pirVal);
photoTr = analogRead(A0);
Serial.print(“Illum: “);
Serial.println(photoTr);
if (pirVal == 1) { //if pirPin is 1…
//Test Illum
if (photoTr < 5) { //if photoTr is larger than 100…
Serial.println(“Illum is also low”);
digitalWrite(ledPin,HIGH); //light up the LED!
delay(15000); //leave it on for 15 seconds
digitalWrite(ledPin,LOW); //light up the LED!
} //end of photoTr
} //end of pir if
delay(1000); //delay loop for 1 whole second
}[/code]

Lo que hacemos es probar si se combinan las factores iluminación baja (<5) y detección de movimiento por parte del PIR (valor==1).  Si esto sucede, queremos escribir un voltaje alto a nuestra LED y dejarla así durante 15 segundos para hacer lo que tenemos que hacer.  Luego de 15 segundos la LED se apaga y la detección reincia con el loop().

Arduino IoT: Simple Tutorial Luz Nocturna Detección de Movimiento Santiapps Marcio Valenzuela
Arduino IoT: Simple Tutorial Luz Nocturna Detección de Movimiento

Como podemos ver, es fácil que cada vez nuestros robots se hacen mas habilidosos, inteligentes!

Categories
Arduino Raspberry Technological

Arduino (IoT): Simple Tutorial iOS App

Arduino Honduras Santiapps Marcio Valenzuela

Arduino iOS App

Ya vimos como conectarnos a dispositivos BT via Android.  No podríamos dejar por fuera al iOS.

Requisitos:

  1. Computadora (mac)
  2. iPhone con iOS 7+ (BLE)
  3. Xcode
  4. Arduino UNO
  5. Arduino IDE
  6. HM10/11
  7. LED & Resistor 220O
  8. Android Studio (http://developer.android.com/sdk/installing/index.html?pkg=studio)

iOS ObjC Swift iPhone iPad App Design Programming
iOS BLE + Arduino

Ahora vamos a crear una aplicación para iOS y un sketch para Arduino y hacer que se comuniquen de forma sencilla para controlar una LED.

Iniciemos con la Arduino Sketch para leer los datos:

[code]//#include <SoftwareSerial.h>

//SoftwareSerial mySerial(19,18); // RX, TX
// Connect HM10 Arduino MEGA
void setup() {
Serial.begin(9600);
// If the baudrate of the HM-10 module has been updated,
// you may need to change 9600 by another value
// Once you have found the correct baudrate,
// you can update it using AT+BAUDx command
// e.g. AT+BAUD0 for 9600 bauds
Serial1.begin(9600);
}
void loop() {
char c;
if (Serial.available()) {
c = Serial.read();
Serial1.print(c);
}
if (Serial1.available()) {
c = Serial1.read();
Serial.print(c);
}
}
[/code]

Ahora podemos enviar datos mas complejos y recibirlos en Arduino.

Veamos la iOS App.  Debemos entender que datos vamos a recibir primero para poder enviarlos desde nuestro dispositivo iOS.

En este caso estamos usando un modulo BT HM10, que es mas avanzado porque soporta BT4.0 o Smart BT.  Para conectarse a un dispositivo de estos es un poco mas complicado porque utiliza un protocolo GATT para asegurar las conexiones y hacerlas mas eficientes.  La aplicación iOS se puede ver en este tutorial:

http://www.instructables.com/id/IPhone-to-Arduino-using-Bluetooth-40-/

Corremos la app en el celular y podremos buscar dispositivos con BT y conectarnos a ellos y controlar una LED o mas!

Translate »