Recursos usados en la charla «Experimenta y aprende programando con NanoPlayBoard».
III Jornadas HackLab Almería 2016. 10 y 11 de Diciembre en El Ejido (Almería).
- Título: Experimenta y aprende programando con NanoPlayBoard.
- Tipo: Charla + Taller (Si disponemos de placas suficientes).
- Descripción larga: Haremos un recorrido por todos los recursos que hay disponibles para programar la placa NanoPlayBoard. Veremos algunos ejemplos de uso con diferentes lenguajes de programación como
C++
,JavaScript
,Python
oJava
. También veremos cómo interaccionar con la placa desde un dispositivoAndroid
o un navegador web, y por qué no, también haremos algún que otroNanoPlayBot
. - Material necesario: Proyector, Internet.
- Fecha posible: Sábado por la tarde.
- Duración: 45 min.
- Nivel: Introducción.
- Conocimientos previos: Conocimientos básicos de programación.
int read();
int scaleTo(int to_low, int to_high);
read
(Serial).- Mostrar datos con Serial Monitor del Arduino IDE.
- Conectar por USB OTG a la aplicación Android y mostrar los datos en el Terminal.
read
(Bluetooth).- Conectar por Bluetooth con la aplicación Android y mostrar los datos en el Terminal.
scaleTo
Nota: Comentar que en esta versión de la placa Serial
y Bluetooth
comparten los pines Rx, Tx, por lo que hay que desconectar el módulo de Bluetooth cada vez que se quiera subir un nuevo sketch a la placa.
int read();
int scaleTo(int to_low, int to_high);
read
(Serial).- Mostrar datos con Serial Monitor del Arduino IDE.
- Conectar por USB OTG a la aplicación Android y mostrar los datos en el Terminal.
read
(Bluetooth).- Conectar por Bluetooth con la aplicación Android y mostrar los datos en el Terminal.
scaleTo
- Mostrar algunos ejemplos sencillos de cómo podemos usar los valores leídos con los sensores de la placa y manipular algún objeto en Processing con ellos.
- Referencia.
void playTone(unsigned int frequency);
void playTone(unsigned int frequency, unsigned long duration);
void stopTone();
void setColor(uint8_t r, uint8_t g, uint8_t b);
void setColor(String color);
void setIntensity(uint8_t intensity);
void on();
void off();
void toggle();
void clear();
void print(char symbol);
void print(const byte pattern[5]);
void print(char message[]);
void print(String message);
void setScrollSpeed(uint8_t speed);
void printInLandscape(uint8_t number);
- Cargar el sketch para comunicar la aplicación Android con la placa por Bluetooth y enseñar todas las funcionalidades que tiene para los elementos que se han mostrado previamente.
- Android controlled RGB LED using NanoPlayBoard and Bluetooth.
- Experimenting with NanoPlayBoard and MQTT.
void to(uint8_t degrees);
void goForward(uint32_t milliseconds);
void goBackward(uint32_t milliseconds);
void goRight(uint32_t milliseconds);
void goLeft(uint32_t milliseconds);
void goForward();
void goBackward();
void goRight();
void goLeft();
void stop();
void setSpeed(uint8_t speed);
long getPosition();
unsigned long pingCm(unsigned int max_cm_distance = 0);
- Reference: NewPing Library.
float getX();
float getY();
float getZ();
bool isFront();
bool isBack();
bool isUp();
bool isDown();
bool isLeft();
bool isRight();
bool isXTapped();
bool isYTapped();
bool isZTapped();
bool isShaked();
float readTemperature(bool S=false, bool force=false);
float readHumidity(bool force=false);
- Reference: DHT Library.
bool isPressed();
Mostrar cómo podemos convertir la NanoPlayBoard en un controlador MIDI con la ayuda de hairless-midiserial y Garage Band.
- http://firmata.org
- https://github.com/josejuansanchez/NanoPlayBoard-Firmata
- Mostrar todos los clientes que existen para usar con Firmata: Johnny-Five, Python, ScratchX, etc.