Pages: 1 ... 4 5 [6] 7 8 ... 41   Go Down
Author Topic: Giocando con l'Attiny85  (Read 33276 times)
0 Members and 1 Guest are viewing this topic.
Global Moderator
Italy
Offline Offline
Brattain Member
*****
Karma: 313
Posts: 21624
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Premetto che il Tiny Core non l'ho usato ma essendo il PinChangeInterrupt una lib va scompattata in /sketchbook/libraries così da essere disponible come #include nel modo classico.
Logged


Lamezia Terme
Offline Offline
Shannon Member
****
Karma: 414
Posts: 11987
Le domande di chi vuol imparare rappresentano la sua sete di sapere
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Scusa, lo so che passo per imbranato (e lo sono  smiley-red) ma non ho una cartella /sketchbook/libraries, bensì la sola libraries che contiene le varie librerie classiche "eeprom", "ethernet", "liquidcrystal", ecc., quindi devo metterla lì dentro?

EDIT:
naturalmente poi devo mettere il nome della libreria nel mio sketch: #include <PinChangeInterruptSimple.h>?
« Last Edit: May 21, 2011, 02:06:00 am by menniti » Logged

Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

Global Moderator
Italy
Offline Offline
Brattain Member
*****
Karma: 313
Posts: 21624
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

LA cartella /sketchbook/libraries normalmente NON esiste.
Va creata e lì andrebbero messe le librerie di terzi per Arduino per non mescolarle a quelle di sistema fornite con l'IDE. In questo modo non sei costretto quando aggiorni l'IDE a rimettere tutte le librerie personali e così sai anche subito quali sono quelle ufficiali e quali no.
Logged


Lamezia Terme
Offline Offline
Shannon Member
****
Karma: 414
Posts: 11987
Le domande di chi vuol imparare rappresentano la sua sete di sapere
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Ora ho capito, perfetto, tra oggi e domani farò le prove e ti faccio sapere, naturalmente quando tutto funziona metterò ordine nelle varie informazioni, per i posteri..... smiley-lol
Grazie Leo, la tua signora è fortunata ad avere sposato un ragazzo paziente come te smiley-grin
Logged

Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

Rome (Italy)
Offline Offline
Tesla Member
***
Karma: 120
Posts: 9185
"Il Vero Programmatore ha imparato il C sul K&R, qualunque altro testo è inutile e deviante."
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

LA cartella /sketchbook/libraries normalmente NON esiste.

Giusto ma vale per Linux, con Windows la cosa funziona in modo simile, ma diverso al tempo stesso, la cartella sketchbook in realtà è:

"..\Documenti\Arduino"

Che è la cartella dove l'IDE mette gli sketch creati dall'utente, basta creare al su interno la cartella "libraries" e metterci dentro quelle aggiuntive, in questo modo con i cambi versione dell'IDE non è necessario ricordarsi di spostare lavori e librerie.

Logged

Global Moderator
Italy
Offline Offline
Brattain Member
*****
Karma: 313
Posts: 21624
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Grazie Leo, la tua signora è fortunata ad avere sposato un ragazzo paziente come te smiley-grin

Peccato che lei non la pensi così  smiley-roll-blue
Logged


Lamezia Terme
Offline Offline
Shannon Member
****
Karma: 414
Posts: 11987
Le domande di chi vuol imparare rappresentano la sua sete di sapere
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

LA cartella /sketchbook/libraries normalmente NON esiste.

Giusto ma vale per Linux, con Windows la cosa funziona in modo simile, ma diverso al tempo stesso, la cartella sketchbook in realtà è:

"..\Documenti\Arduino"

Che è la cartella dove l'IDE mette gli sketch creati dall'utente, basta creare al su interno la cartella "libraries" e metterci dentro quelle aggiuntive, in questo modo con i cambi versione dell'IDE non è necessario ricordarsi di spostare lavori e librerie.

In realtà io quel percorso l'ho cambiato, per mia comodità, e comunque devo metterla nella cartella dei miei sketch. OK, provo.
Logged

Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

Global Moderator
Italy
Offline Offline
Brattain Member
*****
Karma: 313
Posts: 21624
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

comunque devo metterla nella cartella dei miei sketch.

Esatto, il succo è quello.
Logged


Lamezia Terme
Offline Offline
Shannon Member
****
Karma: 414
Posts: 11987
Le domande di chi vuol imparare rappresentano la sua sete di sapere
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Grazie, le persone si apprezzano solo quando si perdono...per un paio di settimane... prova, vedi quante telefonate e manifestazioni di affetto  smiley-kiss smiley-kiss smiley-kiss
Logged

Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

Lamezia Terme
Offline Offline
Shannon Member
****
Karma: 414
Posts: 11987
Le domande di chi vuol imparare rappresentano la sua sete di sapere
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

uhm, primo problemino:
#include <PinChangeInterrupt.h> (con la board at85 arduino isp), mi dà errore

In file included from Sleep_Mode_Test_ATTINY.cpp:2:
C:\percorso...\libraries\PinChangeInterrupt/PinChangeInterrupt.h:29:32: error: core_build_options.h: No such file or directory

Cosa cerca quest'altra libreria? Forse si trova nella tiny che però ho messo in hardware?
Logged

Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

Global Moderator
Italy
Offline Offline
Brattain Member
*****
Karma: 313
Posts: 21624
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Con il Tiny core devi compilare per le board specificate dal core e non quelle inserite dal mio file boards.txt...
Questo perché PinChange si aggancia a librerie del Tiny core stesso.
« Last Edit: May 21, 2011, 05:30:42 am by leo72 » Logged


Lamezia Terme
Offline Offline
Shannon Member
****
Karma: 414
Posts: 11987
Le domande di chi vuol imparare rappresentano la sua sete di sapere
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Agliah! e come faccio ad inviare lo sketch al chip se non uso la tua board?
Logged

Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

Global Moderator
Italy
Offline Offline
Brattain Member
*****
Karma: 313
Posts: 21624
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Ma hai provat e non ti funziona?
Perché vedo comunque che anche il file boards.txt presente in /hardware/tiny specifica arduino:arduinoisp come programmatore.
Logged


Lamezia Terme
Offline Offline
Shannon Member
****
Karma: 414
Posts: 11987
Le domande di chi vuol imparare rappresentano la sua sete di sapere
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Allora, se uso il boards.txt della tiny la compilazione va a buon fine ma poi non riesco ad inviare lo sketch; se invece uso il tuo file boards mi dà errore di compilazione, quindi mi conviene estrarre le righe di attyny85 & ISP e metterle nel boards originale, ma non è la stessa cosa, visto che devo comunque usare la tua per inviare lo sketch? smiley-eek-blue
Logged

Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

Lamezia Terme
Offline Offline
Shannon Member
****
Karma: 414
Posts: 11987
Le domande di chi vuol imparare rappresentano la sua sete di sapere
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Ho riunito i due gruppi cores, in boards.txt ho inserito le sole righe dell'attiny85 & ISP, la compilazione funziona, l'upload anche, ma il risultato non cambia. Provo a spiegare la semplice prova dare fare:
Code:
#include <avr/sleep.h>  // libreria standard (avrlib) per lo sleep
#include <PinChangeInterrupt.h>
/* Sleep test */
#define Sveglia 2    // pin 7 dell'attiny corrispondente a INT0
#define LED     4    // pin 3 dell'attiny85

void sbadiglio()        // risveglio dallo sleep
{
  // inserire eventuali azioni legate all'interrupt
}

void setup()
{
  pinMode(Sveglia, INPUT);
  //digitalWrite(Sveglia, HIGH);
  pinMode(LED, OUTPUT);
 
  //digitalWrite(Sveglia, 1);              // pull up attiva sul pin 2
  attachInterrupt(0, sbadiglio, HIGH);    // interrupt 0
  set_sleep_mode(SLEEP_MODE_PWR_DOWN);   // setta registri per il modo sleep
  sleep_enable();                        // abilita la sleep all'uso
}

void A_nanna()                      // funzione attivazione sleep
{
    attachInterrupt(0, sbadiglio, LOW); // riattiva l'interrupt
    ADCSRA &= ~(1 << ADEN);
    sleep_mode();                          // mette in stato di sleep
    sleep_disable();      // disattiva la modalità sleep e riporta il micro a piena operatività
    detachInterrupt(0);  // disattiva l'interrupt
}
void loop()
{
  for(byte i=0;i<4;i++)
   {
    digitalWrite(LED, HIGH);
    delay(500);
    digitalWrite(LED, LOW);
    delay(500);
   }
  A_nanna();               // mette il micro in sleep
}
Per realizzarlo basta alimentare il chip e collegare una R+led sul pin 3 dell’attiny85 (che non è tra quelli interessati all’upload).
Appena si alimenta (ma Arduino deve essere scollegato) il led fa 4 lampeggi e poi si spegne, segno che è in sleep; collegando per un attimo il pin 7 (INT0) del chip a GND il led riprende a lampeggiare (s’è svegliato) finché non si scollega.
A me serve poter mettere (v. scritte in rosso) LOW invece di HIGH e CHANGE invece di LOW, in modo che il chip esca dallo sleep ANCHE se collego il 7 al +5, ma anche con questa libreria non cambia nulla, se cambio questi valori si spegne e non s’accende più fino al reset.
Allora non capisco se la libreria serve ad altro o se bisogna metterci mano, ma che libreria sarebbe? naturalmente ho provato anche la versione "Simple".
Logged

Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

Pages: 1 ... 4 5 [6] 7 8 ... 41   Go Up
Jump to: