Author Topic: Probleme mit Trinket  (Read 14467 times)

Dome

  • Newbie
  • *
  • Posts: 3
  • Karma: +0/-0
Probleme mit Trinket
« on: April 16, 2015, 12:57:54 AM »
Hallo zusammen, bei mir instaliert ist die Arduino IDE Version 1.63 und ich bekomme es nicht gebacken, meinen Trinket 5Volt Version zu programmieren.
Beim Verifizieren des Sketches ist alles OK und auf dem Uno läuft der auch.
Nun wollte ich den auf das Trinket hochladen, doch nix geht, respektive Fehlermeldungen kommen.
Code: [Select]
Arduino: 1.6.3 (Windows 7), Platine: "Pro Trinket 5V/16MHz (USB)"
Der Sketch verwendet 2.796 Bytes (9%) des Programmspeicherplatzes. Das Maximum sind 28.672 Bytes.
Globale Variablen verwenden 38 Bytes des dynamischen Speichers.
C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avrdude -CC:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf -v -patmega328p -cusbtiny -Uflash:w:C:\Users\JUMPER~1\AppData\Local\Temp\build7880810019020999749.tmp/AirCrownAndyTrinket.cpp.hex:i
avrdude: Version 6.0.1, compiled on Mar 30 2015 at 14:56:06
Copyright © 2000-2005 Brian Dean, [url=http://www.bdmicro.com/]http://www.bdmicro.com/[/url]
Copyright © 2007-2009 Joerg Wunsch

System wide configuration file is "C:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf"
Using Port : usb
Using Programmer : usbtiny
avrdude: Error: Could not find USBtiny device (0x1781/0xc9f)
avrdude done. Thank you.
Der gewählte serielle Port
existiert nicht oder die Platine ist nicht angeschlossen

Im Gerätemanager ist der Trinket erkannt unter libusb-win32-devices und als USBtiny Im IDe ist die Platine als ProTrinkte 5V 16MHz definiert und bei Programer als USBtinyISP

Nun also weis ich absolut nicht weiter und würde euch um Hilfe bitten um dem Problem auf die Schliche zu kommen.

Hier noch der Sketch:
Code: [Select]
#include <Adafruit_NeoPixel.h>

#define PIN 1

// Parameter 1 = number of pixels in strip
// Parameter 2 = Arduino pin number (most are valid)
// Parameter 3 = pixel type flags, add together as needed:
// NEO_KHZ800 800 KHz bitstream (most NeoPixel products w/WS2812 LEDs)
// NEO_KHZ400 400 KHz (classic 'v1' (not v2) FLORA pixels, WS2811 drivers)
// NEO_GRB Pixels are wired for GRB bitstream (most NeoPixel products)
// NEO_RGB Pixels are wired for RGB bitstream (v1 FLORA pixels, not v2)
Adafruit_NeoPixel strip = Adafruit_NeoPixel(8, 1, NEO_GRB + NEO_KHZ800);

// IMPORTANT: To reduce NeoPixel burnout risk, add 1000 uF capacitor across
// pixel power leads, add 300 - 500 Ohm resistor on first pixel's data input
// and minimize distance between Arduino and first pixel. Avoid connecting
// on a live circuit...if you must, connect GND first.

void setup() {
strip.begin();
strip.show(); // Initialize all pixels to 'off'
#if defined (__AVR_ATtiny85__)
if (F_CPU == 16000000) clock_prescale_set(clock_div_1);
#endif
}

void loop() {
test();
test2();
}

void test() {
for (int i = 0; i < strip.numPixels(); i++) {
if (i % 2 == 0) {
strip.setPixelColor(i, strip.Color(255, 0, 0));
} else {
strip.setPixelColor(i, strip.Color(0, 0, 255));
}
strip.show();
delay(30);
}
for(uint16_t i=0; i<strip.numPixels(); i++) {
strip.setPixelColor(i, strip.Color(0, 0, 0));
strip.show();
delay(30);
}
}

void test2() {
for (int i = strip.numPixels() - 1; i >= 0; i--) {
if (i % 2 == 0) {
strip.setPixelColor(i, strip.Color(255, 0, 0));
} else {
strip.setPixelColor(i, strip.Color(0, 0, 255));
}
strip.show();
delay(30);
}
for(int i = strip.numPixels() - 1; i >= 0; i--) {
strip.setPixelColor(i, strip.Color(0, 0, 0));
strip.show();
delay(30);
}
}
« Last Edit: April 16, 2015, 12:45:19 PM by MathiasW »

MathiasW

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 614
  • Karma: +13/-0
    • my Arduino page
Re: Probleme mit Trinket
« Reply #1 on: April 16, 2015, 12:44:53 PM »
Salut,

willkommen im Club ...
Ich hatte ähnliche Problem mit dem Trinket und kann nur ein paar Tipps geben:

Triviale Frage: Ist der Trinket im bootloader modus (Button pressed)? Das ist für Deinen Fehler bei Adafruit als Grund angegeben (https://learn.adafruit.com/introducing-trinket/setting-up-with-arduino-ide#if-you-get-the-error-message-avrdude-error-could-not-find-usbtiny-device-0x1781-slash-0xc9f)

Check des trinket mit avrdude:
Code: [Select]
avrdude.exe -C ..\etc\avrdude.conf -c usbtiny -p attiny85sollte als Antwort etwa so aussehen:
Code: [Select]
avrdude.exe: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100% 0.05s
avrdude.exe: Device signature = 0x1e930b
avrdude.exe: safemode: Fuses OK
avrdude.exe done.  Thank you.
Wenn nicht, dann kann avrdude den Trinket nicht erkennen. Hauptgrund ist dann meist dass der Trinket an einem USB 3.0 Port hängt. Erster Lösungsansatz ist dann das Umhängen an einen USB 2.0 Port oder die Verwendung eines Hubs mit USB 2.0.

Mir ist in Deinem Output aufgefallen, dass der avrdude bei Dir als Port USB angibt, bei meinem arbeitenden Trinket den Port lpt1. Testweise würde ich einmal das vorkonfigurierte Arduino IDE zum Trinket installieren.

Mehr fällt mir derweil nicht dazu ein. Bin gerade auf Dienstreise und werde erst am Wochenende meinen Trinket hervorkramen können.

Ciao, Mathias
PS: Ich habe mir erlaubt Deinen Post etwas lesbarer zu machen

« Last Edit: April 16, 2015, 12:53:40 PM by MathiasW »

Dome

  • Newbie
  • *
  • Posts: 3
  • Karma: +0/-0
Re: Probleme mit Trinket
« Reply #2 on: April 16, 2015, 01:26:04 PM »
Hallo Mathias,
danke und ja, der Trinket ist beim Sketch hochladen im Bootloader Modus und den Gedanken die für Trinket vorinstallierte Version zu probieren habe ich auch schon gehabt, sowie auch umgesetzt. wobei dann wieder die Meldungen andere, aber immer noch einiges rot war. (sieh unten)

Nur das mit dem avrdude....... da habe ich absolut Null Durchblick. was, wie, wann, wo und warum.... Also vielleicht liegt der Fehler dort irgendwo, nur müsste mich dann jemand besser aufklären. Denn aus den Texten in der Adafruit Trinket Einführung werde ich absolut nicht schlau, was wahrscheinlich daran liegt, dass ich mich bei dem Thema noch gaaaaaaanz an den Anfängen befinde. Der Knoten ist noch lange nicht gelöst und sicherlich werden noch einige neue kommen, bevor ich mir selbst weiter helfen kann.

MathiasW

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 614
  • Karma: +13/-0
    • my Arduino page
Re: Probleme mit Trinket
« Reply #3 on: April 18, 2015, 02:23:59 PM »
Salut,

ich habe den Trinket (5V 16MHz) an meinen PC (windows 8.1) gehängt. Im Gerätemanager erscheint er als libusb device, der Treiber ist von Adafruit signiert, Version 1.2.6.0 vom 15.1.2013
Wenn ich die Arduino/Trinket IDE starte, erhalte ich einen Fork der Arduino 1.0.5 IDE. Dort habe ich Adafruit Trinket 16 MHz als Board angewählt, kein Serial Port (default COM1) und als Programmer USBTinyISP.

Der Sketch kann nicht übersetzt werden, da clock_prescale_set(clock_div_1) nicht definiert ist, was ich auskommentiert habe.
Dann kann ich den Sketch laden, erhalte aber Fehlermeldungen, dass die Device nicht reagiert. Dieses Timerproblem haben wir hier im Forum behandelt (http://forum.boxtec.ch/index.php/topic,2817.msg4812.html#msg4812). Mit der Auswahl, dass beim Upload das Protokoll angezeigt wird, funktioniert der Upload und ich sehe die rote LED wild blinken.

Als nächstes teste ich den IDE 1.6.3

Ciao, Mathias


MathiasW

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 614
  • Karma: +13/-0
    • my Arduino page
Re: Probleme mit Trinket
« Reply #4 on: April 18, 2015, 02:53:09 PM »
Salut,

ich habe nun den Setup mit Arduino1.6.3 gemacht. Beim Upload erhalte ich eine Fehler, dass der Trinket nicht antwortet, schalte ich wie vormals die Protokollierung ein, klappt der Upload. Leider geht danach der Trinket in einen unendlichen Bootloadermodus und bootet alle 4 Sekunden. Selbst ein einfaches blink-Sketch funktioniert nicht.
Also zurück zum Adafrui-IDE, blink sketch mit upload-Protokoll enabled und der Trinket blinkt.

Summa:
  • Mit dem Arduino IDE 1.6.3 kann der Trinket nicht verwendet werden.
  • Mit dem Adafruit IDE  auf Basis 1.0.5 kann der Trinket verwendet werden, wenn beim Upload das Protokoll eingeschaltet ist.
  • Der beste Leagerort für den Trinket ist der Mülleimer
  • Alternative: Teensy, Arduino Nano


 

 

anything