NanoPlayBoard: Un proyecto educativo Open Source Hardware

NanoPlayBoard: Un proyecto educativo Open Source Hardware

«NanoPlayBoard: Un proyecto educativo Open Source Hardware» es una charla de:

- Antonio Morales / @antonio1010mr
- José Juan Sánchez / @josejuansanchez

Presentación utilizada en XIII Jornadas SLCENT de Actualización Informática y Electrónica. 17 de Noviembre de 2016, Almería.

http://hacklabalmeria.net/actividades/2016/11/17/xiii-jornadas-slcent.html

Descripción de la charla:

Esta charla muestra todos los recursos educativos que se han creado en torno al proyecto NanoPlayBoard y cómo pueden ser utilizados en el aula.

Vídeos usados en la charla:

[1] Obstacle avoiding NanoPlayBot.
[2] Android controlled RGB LED using NanoPlayBoard and Bluetooth.
[3] Experimenting with NanoPlayBoard and MQTT.

[1] https://www.youtube.com/watch?v=pL5-iOmOGC8
[2] https://www.youtube.com/watch?v=5EVmYEs8DxE
[3] https://www.youtube.com/watch?v=j-Uuq9SCd-M

2e5aefd649aca2d15a7dd3c2bb0726d4?s=128

José Juan Sánchez Hernández

November 25, 2016
Tweet

Transcript

  1. NanoPlayBoard. Un proyecto educativo Open Source Hardware XIII Jornadas SLCENT

    de Actualización Informática y Electrónica
  2. 2 NanoPlayBoard Educational Shield for Arduino Nano Made with ❤

    in Almería http://nanoplayboard.org
  3. Agenda 1. Projects 2. Contributing 3. Demo time 4. References

    3
  4. Agenda 1. Projects 2. Contributing 3. Demo time 4. References

    4
  5. • Arduino Library • Android App • Firmata • Johnny-Five

    • Python client library • Processing • ScratchX Extension 5 Projects
  6. 6 License GNU General Public License, Version 3 http://www.gnu.org/licenses/gpl-3.0.en.html

  7. 7 Arduino Library Open the Arduino IDE and select: Sketch

    > Include Library > Manage Libraries
  8. 8 Arduino Library Select: File > Examples > NanoPlayBoard

  9. 9 #include <NanoPlayBoard.h> NanoPlayBoard board; ...

  10. 10 int value = board.potentiometer.read(); Potentiometer / read

  11. 11 int value = board.potentiometer.scaleTo(0,99); Potentiometer / scaleTo

  12. 12 int value = board.ldr.read(); LDR / read

  13. 13 int value = board.ldr.scaleTo(0,99); LDR / scaleTo

  14. 14 board.buzzer.playTone(440); Buzzer / playTone

  15. 15 board.rgb.on(); LED RGB / on

  16. 16 board.rgb.off(); LED RGB / off

  17. 17 board.rgb.setColor(255, 0, 0); LED RGB / setColor

  18. 18 board.rgb.setColor(“FF0000”); LED RGB / setColor

  19. 19 board.rgb.setIntensity(25); LED RGB / setIntensity

  20. 20 board.ledmatrix.print(“Hola”); LED Matrix / print

  21. 21 board.servos.goForward(); Servos / goForward

  22. 22 board.servos.goBackward(); Servos / goBackward

  23. 23 board.servos.goRight(); Servos / goRight

  24. 24 board.servos.goLeft(); Servos / goLeft

  25. 25 int value = board.ultrasound.pingCm(); Ultrasound / pingCm

  26. 26 Example

  27. 27

  28. 28

  29. 29 Android App

  30. 30

  31. 31 Android App

  32. 32 Android App

  33. Example

  34. 34

  35. 35

  36. 36 NanoPlayBoard ❤ MQTT

  37. 37

  38. 38 Firmata • Firmata is a protocol for communicating with

    microcontrollers from software on a computer (or smartphone/tablet, etc). • Firmata is based on the MIDI message format. • Firmata client libraries: • Processing • Python • Perl • Ruby • Javascript https://github.com/firmata • Java • .NET • PHP • Haskell • iOS • Dart • Max/MSP • Elixir • golang • Qt/QML
  39. 39 Johnny-Five var five = require("johnny-five"); var board = new

    five.Board(); board.on("ready", function() { var led = new five.Led.RGB([9,10,11]); led.on(); led.color("#0000FF"); led.blink(1000); });
  40. 40

  41. 41 Python client library #!/usr/bin/python from nanoplayboard.nanoplayboard import NanoPlayBoard board

    = NanoPlayBoard() def loop(): board.rgb.on() board.sleep(1) board.rgb.off() board.sleep(1) if __name__ == "__main__": while True: loop()
  42. 42 Processing Work in progress

  43. 43 ScratchX Extension Work in progress

  44. Agenda 1. Projects 2. Contributing 3. Demo time 4. References

    44
  45. 45 Contributing We always welcome contributions to help make NanoPlayBoard

    better. Please feel free to post questions or comments in the HackLab Almería Forum.
  46. Agenda 1. Projects 2. Contributing 3. Demo time 4. References

    46
  47. Agenda 1. Projects 2. Contributing 3. Demo time 4. References

    47
  48. 48 References 1. http://nanoplayboard.org 2. http://arduino.cc 3. http://mqtt.org 4. http://johnny-five.io

    5. https://processing.org 6. http://scratchx.org 7. http://firmata.org

  49. NanoPlayBoard. Un proyecto educativo Open Source Hardware XIII Jornadas SLCENT

    de Actualización Informática y Electrónica