Skip to content

Instantly share code, notes, and snippets.

@ubi-gists
Created June 2, 2016 19:33
Show Gist options
  • Save ubi-gists/01bd4d6e73deac618bebe2c55bb4007b to your computer and use it in GitHub Desktop.
Save ubi-gists/01bd4d6e73deac618bebe2c55bb4007b to your computer and use it in GitHub Desktop.
/*
Ejemplo para Dispensador de comidas para mascotas
Este codigo es para controlar el servo
del dispensador de alimentos para mascotas
Arduino pins:
5V --> cable rojo del servo
GND --> cable negro del servo
9 --> cable blanco o amarillo del servo
Created 22 Octubre 2014
by Mateo Vélez - Metavix
Codigo publico.
*/
#include <WiFi.h>
#include <Ubidots.h>
#include <Servo.h>
Servo myservo; //crea el objeto para iniciar la libreria servo
int pos = 170; //valor inicial del servo, coloca como valor por defecto el de arriba
char ssid[] = "Atom House Medellin"; //nombre de tu red WiFi
char pass[] = "atommed2014"; //contraseña de tu red WiFi
String api = "5ca9b10038e49e0492c6794f9043f0918ddcbd26"; //tu numero de API Key
String idvari = "53beeca07625420bde83ce29"; //el numero de tu variable
Ubidots ubiclient(api); //crea el objeto para iniciar la libreria de Ubidots
String readvalue = "";
boolean response;
int valor_sensor = 0;
int status = WL_IDLE_STATUS;
void setup()
{
myservo.attach(9);
myservo.write(170);
Serial.begin(9600); //velocidad del serial 9600 baudios
response = ubiclient.WifiCon(ssid, pass, status, api); //con esta funcion se inicia la transmision a la API de Ubidots
myservo.write(170);
}
void loop()
{
pinMode(A0, OUTPUT);
readvalue = ubiclient.get_value(idvari);
Serial.println(readvalue);
if(readvalue == "1.0")
{
if (pos==0)
{
for(pos = 0; pos <= 170; pos += 1) //el servo se mueve de 0 a 170 grados
{ //desplazamiento de a un grado
myservo.write(pos); //le envia el angulo al servo a traves de la variable 'pos'
delay(5); //espera 5 ms
}
}
else
{
myservo.write(170);
}
}
else if (readvalue == "0.0")
{
if(pos==170)
{
for(pos = 170; pos>=0; pos-=1)
{
myservo.write(pos);
delay(5);
}
}
else
{
myservo.write(0);
}
}
else
{
myservo.write(170);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment