Android ThingsLib (ODROID C2): I/O, I2C, PWM, Servo, Motor

Updated (28.03.2018): v2.2, fixed I2CPort für einige Beispiele, fertig nutzbare native libs im “libs” Verzeichnis (das kompilieren der NDK Libs fällt im Projekt weg)

Hinweis: bitte nur Android 5.1.1 v1.9 (242) benutzen (bei > v1.9 funktionieren die PWM Pins nicht!)

Neben meinem Mac hat mich selten so ein Produkt begeistert wie das neue
ODROID C2 Board. Bisher versuchte man immer die Fähigkeiten von Arduino mit Android zu koppeln, in dem man über irgendeinen Kanal eine Verbindung zwischen Android und Arduino versucht herzustellen. Es funktioniert zwar, aber nur mit Aufwand, und oftmals nicht so wie man es sich eigentlich wünschen würde.Versuche wurden schon von zahlreichen Herstellern unternommen, aber keine Lösung funktioniert wirklich gut. Manchmal scheiterte es an Android, mal an Arduino. Der Aufwand, um irgendein Projekt gemeinsam mit diesen beiden Plattformen zu realisieren, war nicht selten hoch, und des öfteren mehr als nervig.

 

Lange Rede kurzer Sinn… ODROID C2 ist die Lösung.Was mich zu allererst überrascht hat ist, dass die aktuelle Android Version 5.1.1 (Hardkernal Android Version 1.9 (242)) schlicht und einfach funktioniert. Ich bin nicht selten pingelich… aber alles was ich probierte funktionierte auf Anhieb:

  • USB 720P Cam (29€)
  • Dell 24″ Touchscreen (HDMI + USB)
  • I2C RTC DS3231
  • PWM Servo
  • USB Wifi Dongle (EDIMAX)
  • USB Bluetooth Dongle (LogiLink)
  • USB Soundblaster

 

Ein Blick auf die Hardkernel Website zeigte auch den Grund auf, denn es vergehen keine 7-14 Tage ohne Android Update. Die Jungs arbeiten so lange an einem Problem bis es gelöst ist, und rausgekommen ist das bisher rundeste Ergebnis was ich bisher bei Android Boards gesehen habe. Sodann habe ich mich sofort rangemacht und habe eine sehr einfache und übersichtliche ODROID C2 Android Library mit NDK Code entwickelt (dazu benötigt man die Hardkernal Android 1.9 Version – Android 5.1.1), die auf die 40-polige Steckerleiste zugreift, um alles mögliche von der Arduino-Welt in die Android-Welt zu übertragen:

 

Unterstützte stapelbare HAT Boards (I2C):

  • Sense HAT / Astro Pi  *Neu*
  • GrovePi+ HAT *Neu*  mit GroveLib – viele sofort einsatzbereite Grove Module   
  • Adafruit Servo HAT (992 Servos)
  • Adafruit Motor HAT (128 Motors, 64 Steppers)
  • Adafruit RGB LCD Display 1602 (16×2) HAT
  • Digital I/O HAT with MCP23017 Chip
  • PiUSV+ HAT (http://www.reichelt.de)
  • TouchHDMI 800×480 XPT2046 SPI Board

 

Unterstützte andere Boards:

  • ADS 1015 I2C Board 6 Analog Pins, https://www.adafruit.com/product/1083
  • OLED Display1306 I2C Board
  • OLED Display 1306 SPI Board
  • OLED Display 1351 SPI Board
  • LCD Display Nokia 5110/3310 PCD8544 SPI 84×48
  • Realtime Clock DS3231
  • NFC PN532 (UID Read)  I2C Board  *Neu*  
  • Colorduino (I2C) incl. Firmware-Uploader (ISP/SPI)  *Neu*

 

Sonstige Funktionen:

  • KeyMatrix support (mit oder ohne Digital I/O HAT | MCP 23017 chip)
  • Native USB Keyboard und Mouse Listener mit “Device Grab” option
  • Boot-Logo und Boot-Animation änderbar
  • Rotary Encoder Unterstützung
  • NetWS2812 Support mit Arduino UNO oder Mega mit Ethernet Shield  *Neu*

 

I2C Sensors:

  • Barometer BMP180 (+ Temperature)
  • Humidity HTU21D (+ Temperature)
  • Humidity HDC1000 (+ Temperature)
  • Luxmeter TSL2561
  • UVmeter SI1145

 

 

Update to v30 (21.12.2016):

Ich habe die GrovePi+ Library komplett neu geschrieben und viele neue Features hinzugefügt. Nachdem App Start wird die Firmware des GrovePi+ überprüft. Wenn die Firmware < 2.00 ist, dann wird die App automatisch ein Firmware-Update starten (man sieht dann den Update-Prozess, der ca. 1 Min. dauern wird). Die Firmware ist kompatibel mit der alten Firmware 1.22.

 

Unterstützte Grove Module:

  • Analog Air Quality
  • Analog Joystick
  • Analog Rotary Angle Knob
  • Analog Slider
  • Analog Sound Sensor
  • Digital 4 Digit Display
  • Digital Button
  • Digital Buzzer
  • Digital Dust Sensor
  • Digital Ear Clip Heart Rate Sensor
  • Digital IR Receiver/Transmitter R/C (Learn/Send)
  • Digital LED
  • Digital LED Bar
  • Digital LED Strip Driver *Neu*
  • Digital Relais
  • Digital RGB Chainable LEDs
  • Digital Rotary Encoder
  • Digital Speaker
  • Digital Switch
  • Digital Temperatur Humidity Sensor
  • Digital PIR Sensor
  • Digital Ultrasonic Sensor
  • Digital Vibration Motor
  • Digital WS2812 LED Strip *Neu*
  • I2C ADC
  • I2C Barometer BMP 180
  • I2C Baromoter  BMP 280
  • I2C Colorduino inkl. Firmware-Uploader (ISP/SPI)  *Neu*
  • I2C LCD RGB Background Display
  • I2C Light Sensor TLS 2561
  • I2C Motor Driver / Stepper
  • I2C MPU 9250 Accelerometer/Gyro
  • I2C OLED 128×64 Display
  • I2C OLED 96×96 Display
  • I2C RTC 1307
  • I2C RTC 3231
  • I2C Servo-Board Mini (Adafruit)
  • I2C Temperature Humidity HDC1000
  • Serial Fingerprint Sensor

 

 

   img_20161208_013306596   img_20161208_013339139      
      
   IMG_20160621_010044719     IMG_20160625_132527437
IMG_20160625_132517553   IMG_20160626_050155983   IMG_20160630_021838013
IMG_20160626_234644517   IMG_20160630_021838012   IMG_20160712_065414957
IMG_20160714_242611376   IMG_20160710_192912417   IMG_20160720_030748127   IMG_20160720_030913286   IMG_20160720_030951850   IMG_20160720_031020147
IMG_20160721_182014129   IMG_20160726_210844225   IMG_20160728_234807628        

 

Tipp: 

Wenn man das Board als Arduino/Raspberry Pi Ersatz verwenden möchte, dann kann den Stromverbrauch senken in dem man die CPU Frequenz mit dem onboard Android “ODROID Utility” auf 1 Ghz senkt und CPU Governor auf “Hotplug” umstellt. Dann benötigt man auch keinen Kühlkörper! Der Stromverbrauch sinkt dann auf 1,5 Watt (5,15V / 0.3A) und die CPU Temperatur beträgt dann nur ~ 37°C (100° F).

 

Download: <Um alles was dazu gehört zu finanzieren, werden die Downloads nach einer Spende aktiviert>

Danke für Deine Unterstützung!