hallo
Ik gebruik normaal de ATtiny85,werkt goed,nu dacht ik een paar ATtiny13A te gebruiken.
ik dacht dat die enkel minder geheugen had.
maar er zit meer verschil in,is dit hier bekent en is er weat aan te doen???
ik hoor het graag

Datasheet Attiny13
Datasheet Attiny85

Belangrijkste verschillen:

  • Flash geheugen
  • Eeprom en sram geheugen
  • Het aantal timers
  • Wel of geen USI aanboord

Verder is slim om per toepassing te kijken of een attiny13 voldoet ipv de attiny85. Is het slechts voor experimenteren op een breadboard of wil je een voorraadje aanleggen zou ik de keuze niet eens overwegen en het bij de Attiny85 houden, volgens mij de krachtigste 8 pins avr.

[Bericht gewijzigd door leime op (18%)]

Ken de exacte verschillen in specificaties niet. Maar waarom? Ding is fysiek even groot en om en nabij even duur.

ik vind 26 euro cent toch wel een verschil,dat de attiny13 goedkoper is.
het is voor beetje experimenteren ,kleine sketches.

Ik zag dat je ze nu te koop hebt gezet. Als je ze al hebt kun je ze prima gebruiken, als de specificaties genoeg zijn voor je toepassing.

Ik ging er vanuit dat je ze nog ging kopen.

nee heb ze al binnen gekregen.
ik las op een forum,dat als je aanpassingen doet ze prima te gebruiken zijn.
Maar ik heb ze nu te koop staan,zijn dus helemaal nieuw.

Ze zijn ook prima te gebruiken, ligt er precies maar aan waarvoor.

http://avrprogrammers.com/articles/attiny13-vs-attiny85

Ik wil het even uitleggen.
Als ik de sketch gebruik bij ATtiny85,is het net zoals op breadboardje.
maar met ATtiny13,op verschillende modes probeer ,maar klopt er niks meer van.

/*
  Blink
  Turns on an LED on for one second, then off for one second, repeatedly.
 
  This example code is in the public domain.
 */
 
// Pin 13 has an LED connected on most Arduino boards.
// give it a name:
int led = 0;
int led2 =1;
int led3 =2;
// the setup routine runs once when you press reset:
void setup() {                
  // initialize the digital pin as an output.
  pinMode(led, OUTPUT);  
pinMode(led2,OUTPUT);  
pinMode(led3,OUTPUT);
}

// the loop routine runs over and over again forever:
void loop() {
  digitalWrite(led, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(250);
digitalWrite(led2,HIGH);
delay(250);
digitalWrite(led3,HIGH);
delay(250);
  digitalWrite(led, LOW); 
  delay(250); 
digitalWrite(led2,LOW);
delay(250);
digitalWrite(led3,LOW);
delay(250);

}

en ik weet zo niet wat ik veranderen moet om het zo te krijgen zoals op breadboard.

het schijnt dat je millis moet gebruiken inplaats van delay.
maar ik heb dat nog nooit gebruikt, dus weet niet hoe dat gaat :)

een vraag ,hoe pas ik de geplaatste sketch aan met die delays ,veranderen in millis??

[Bericht gewijzigd door Henry S. op (9%)]

Je hebt je software vertelt dat je een tiny13 gebruikt en geen tiny85?
Want ze zijn niet binair compatible. Ik weet ook niet of de arduino-libraries ook tiny13 ondersteunen...

jahoor attiny13 aangegeven en op verschillende frequenties geprobeerd.
en library is wat anders.

ik heb geprobeerd met millis,maakt bij alle 6 instellingen van ATtiny13 niet uit.
dit is wat ik nu heb .
dus een attiny13 is behoorlijk anders ,zoal hij reageerd.
iemand een oplossing???
ik hoor het graag.

/* Blink without Delay
 
 Turns on and off a light emitting diode(LED) connected to a digital  
 pin, without using the delay() function.  This means that other code
 can run at the same time without being interrupted by the LED code.
 
 The circuit:
 * LED attached from pin 13 to ground.
 * Note: on most Arduinos, there is already an LED on the board
 that's attached to pin 13, so no hardware is needed for this example.
 
 
 created 2005
 by David A. Mellis
 modified 8 Feb 2010
 by Paul Stoffregen
 
 This example code is in the public domain.

 
 http://www.arduino.cc/en/Tutorial/BlinkWithoutDelay
 */

// constants won't change. Used here to
// set pin numbers:
const int ledPin =  0; 
const int ledPin1 = 1;
const int ledPin2 = 2;

// Variables will change:
int ledState = LOW;             // ledState used to set the LED
long previousMillis = 0;        // will store last time LED was updated

// the follow variables is a long because the time, measured in miliseconds,
// will quickly become a bigger number than can be stored in an int.
long interval = 1000;           // interval at which to blink (milliseconds)

void setup() {
  // set the digital pin as output:
  pinMode(ledPin, OUTPUT);   
pinMode (ledPin1,OUTPUT);
pinMode(ledPin2,OUTPUT);
}

void loop()
{
  // here is where you'd put code that needs to be running all the time.

  // check to see if it's time to blink the LED; that is, if the
  // difference between the current time and last time you blinked
  // the LED is bigger than the interval at which you want to
  // blink the LED.
  unsigned long currentMillis = millis();
 
  if(currentMillis - previousMillis > interval) {
    // save the last time you blinked the LED
    previousMillis = currentMillis;  

    // if the LED is off turn it on and vice-versa:
    if (ledState == LOW)
      ledState = HIGH;
    else
      ledState = LOW;

    // set the LED with the ledState of the variable:
    digitalWrite(ledPin, ledState);
    digitalWrite(ledPin1, ledState);
    digitalWrite(ledPin2, ledState);
  }
}

[Bericht gewijzigd door Henry S. op (0%)]

Op 11 juni 2015 14:06:36 schreef bertus1945:
ik vind 26 euro cent toch wel een verschil,dat de attiny13 goedkoper is.
het is voor beetje experimenteren ,kleine sketches.

Dat is echt totaal geen interessant prijs verschil voor experimenteer / hobby projectjes. Reken even de tijd dat je aan het uitzoeken bent om je code te porten naar deze andere processor. Als je nu volumes >10000 stuks moet maken wordt het een ander verhaal :)

ok.
maar niemand een oplossing ,hoe je paar ledjes normaal laat knipperen???

Heb je wel een bootloader in de attiny13 geladen? Ik heb even gezocht, maar ik kan deze zelf niet vinden.

op de ATtiny85 werkt alles prima
en ik heb deze ATtiny13 core ,dus 6 mogelijkheden
maar niks werkt zoals het hoort.
het doet bij elke instelling wat anders,maar dus niet goed :)
dit is de core
http://forum.arduino.cc/index.php?topic=89781.msg2234412#msg2234412

In plaats van te blijven herhalen dat hij het niet doen, zou je voor de verandering ook eens kunnen proberen te zeggen wat het niet doet?

Compiled goed? Download goed? Draait het hele ding gewoon op de verkeerde kloksnelheid? doet hij niks?

Dat is echt totaal geen interessant prijs verschil voor experimenteer / hobby projectjes.

Precies, ik gebruik alleen nog maar de Arduino Pro Mini (ATMEGA328)

Nog geen 2€ per stuk incl verzenden uit China.

Heb je wel een bootloader in de attiny13 geladen?

Lijkt me idd het probleem

@DK, volkomen mee eens ! Geef idd een goede omschrijving wat wel en niet werkt.

hij hoort 3 ledjes ,om de beurt te laten aan,en uit gaan dus 3 knipperende ledjes.
en compiled goed alle klok snelheden geprobeerd.
pin aan sluitingen is net als de ATtiny85
dus ik was in de veronderstelling dat het het zelfde werkte.
ik weet ook niet wat ik er verder van moet melden.
bij bepaalde klok snelheid ,knippert het wel ,maar of heel ongeregeld en of langzaam ,en bij andere klok weer snel.
dus bootloader neem ik aan zit er wel in.

Die laatste code die je stuurde knipperen ze tegelijk.

Nog maar een keer dan?
Verder compiled en download alles goed?
Ik vermoed van wel, maar heb het jou nog niet horen zeggen

Wat gebeurd er dan?
Ledjes blijven uit? Ledjes knipperen op de verkeerde snelheid, gaan aan?

Ah dus die chip runt wel iets

Is er een manier om te controleren of er een bootloader in zit?

Klinkt een beetje of je kloksnelheid niet helemaal overeen komt met wat je timer libraries verwachten

[Bericht gewijzigd door DK op (12%)]

dus als alle 3 ledjes tegelijk knipperen met die millis code voorbeeld is dat fout dus.
dat moet niet ,moet om de beurt knipperen.
maar ik vind dat millis ,moeilijk.
hoe verander ik die dan dat de ledjes om de beurt aan en uit gaan??

zal dus in de laatste 3 regels zitten.

Als niemand reageert doe ik dat vanavond wel ff met de compiler erbij.

Ik kan nu wel ff snel iets neertypen maar als ik dan een ';' vergeet.. "hij doet het niet"

Maak je eigen "delay" functie met millis (noem die bijvoorbeeld hold_ms) en je kunt het op dezelfde manier gebruiken.

Dandoe je dus in plaats van delay(1000); dus hold_ms(1000);

O en hier vind je goedkope tiny85's als het helemaal niet lukt: http://www.aliexpress.com/snapshot/6681909587.html

[Bericht gewijzigd door Benadski op (23%)]

zo goedkoop zijn die ATtiny's 85 niet je hebt ze al voor 1,15 euro
maar bedankt voor alles
dus alle mensen die geholpen hebben bedankt
ik hou het wel bij de ATtiny85

het is gelukt ik heb deze gebruikt.

// Which pins are connected to which LED

const byte LED1 = 0;

const byte LED2 = 1;

const byte LED3 = 2;

 

 

// Assigning delays.

const unsigned long LED1_interval = 25;

const unsigned long LED2_interval = 50;

const unsigned long LED3_interval = 100;

 

 

// Declaring the variables holding the timer values for each LED.

unsigned long LED1_timer;

unsigned long LED2_timer;

unsigned long LED3_timer;

 

 

// Setting 3 digital pins as output pins and resetting timer

void setup ()

  {

  pinMode (LED1, OUTPUT);

  pinMode (LED2, OUTPUT);

  pinMode (LED3, OUTPUT);

  LED1_timer = millis ();

  LED2_timer = millis ();

  LED3_timer = millis ();

  }  // end of setup

 

 

//LED1 loop that turns it ON if it is OFF and vice versa

void toggle_LED1 ()

  {

   if (digitalRead (LED1) == LOW)

      digitalWrite (LED1, HIGH);

   else

      digitalWrite (LED1, LOW);

 

 

  // remember when we toggled it

  LED1_timer = millis (); 

  }  // end of toggleLED_1

 

 

//LED2 loop

void toggle_LED2 ()

  {

   if (digitalRead (LED2) == LOW)

      digitalWrite (LED2, HIGH);

   else

      digitalWrite (LED2, LOW);

 

 

  // remember when we toggled it

  LED2_timer = millis (); 

  }  // end of toggle_LED2

 

  //LED 3 loop

void toggle_LED3 ()

  {

   if (digitalRead (LED3) == LOW)

      digitalWrite (LED3, HIGH);

   else

      digitalWrite (LED3, LOW);

 

 

  // remember when we toggled it

  LED3_timer = millis (); 

  }  // end of toggle_LED3

 

 

void loop ()

  {

 

 

  // Handling the blink of LED1.

  if ( (millis () - LED1_timer) >= LED1_interval)

     toggle_LED1 ();

 

 

  // Handling the blink of LED2.

  if ( (millis () - LED2_timer) >= LED2_interval)

    toggle_LED2 ();

   

// Handling the blink of LED3.

  if ( (millis () - LED3_timer) >= LED3_interval)

    toggle_LED3 ();

   

/* Other code that needs to execute goes here.

   It will be called many thousand times per second because the above code

   does not wait for the LED blink interval to finish. */

 

 

} 

met klok snelheid 9.6MHZ met internal klok
op de attiny13
bedankt allen

[Bericht gewijzigd door Henry S. op (87%)]

Sinds wanneer heeft een attiny13 een DO pin 6,7,8?

Ok, mooi dat het is opgelost! :)

Deze tiny's zijn inderdaad zo rond de 1,15. Wel weer een ander ontwerp. Of gebruik je losse chips? Dan kan het misschien nog goedkoper: 5 stuks voor ruim onder 5 euro.