Salve a tutti, Sono gennaro nuovo utente, da giorni Pochi, siccome Sono RIMASTO bloccato per This accelerometro, chiedevo se con Estrema cortesia se mi potete aiutare.dopo Aver Caricato Nella libreria Arduino Uno versione 1.6.4, ho Caricato sul mio Arduino Uno This skech, tutto okey caricamento Completato, ma al visualizzare nulla non visualizzo, ho provato e riprovato il classico programmino di Esempio "ciao Wold" ed e un posto leggo la scritta Ma Quando Carico lo skech of this modello di accelerometro non visualizzo piu niente. Certi della Vostra cortese Collaborazione vi ringrazio anticipatamente.
qui sotto ho copiato lo skech Che ho scaricato da Polou.
Questo e il tipo di accelerometro Che ho acquistato.
... Gennaro, attenzione, perché, da regolamento, il Croos-Posting è vietato e ... mi sembra che ci siano altri tuoi post in giro sempre relativi allo stesso argomento
Comunque ... continuiamo qui e vediamo di capire ...
La prima cosa da fare è far funzionare SOLO Arduino UNO e lo shield LCD. Riuscito a fare questo e capito come funziona, si può passare ad aggiungere altro hardware ed a complicare il codice.
Quindi ... comincia come ho detto e pubblica qui un programmino che funzioni correttamente con lo shield LCD (... mi raccomando, racchiudilo nei tag CODE come descritto nel regolamento al punto 7) che poi lo modifichiamo ...
Guglielmo
P.S. : Cortesemente, di qualunque cosa, NON mettere "accelerometro lsc303dlhc" o "libreria lsm303.h" ... ma metti il link esatto com cui uno può recuperare le informazioni. Già il tempo è poco, se puoi uno si deve mettere a fare le ricerche, con il rischio di trovare un oggetto simile ma non lo stesso ... capisci che diventa difficile ...
ciao Guglielmo e grazie per la tua attenzione, mi scuso per i pasticci che ho combinato sul sito, ma ancora devo prendere dimestichezza,pian paino sto capendo come funziona, ho insrito diversi post perchè pensavo di non averli pubblicati ma invece...
per quanto riguarda il mio progetto, ho arduino uno ed un lcd shield keypad 16,2
qui ho trovato la libreria e funziona http://www.hobbyist.co.nz/sites/default/files/ArduinoLibraries/LCD4Bit_mod.zip
per l'accelerometro ho trovato qui la libreria(https://codeload.github.com/pololu/lsm303-arduino/zip/master) leggo sul monitor seriale tutti i valori che ovviamente dovrò calibrare.
Il mio problema e trasferire i valori dell'accelerometro sul display.
Certo della tua disponibilità anticipatamente ti ringrazio.
Come ti ho già detto, magari comincia a mettere qui il codice che scrive sul LCD "Ciao Gennaro" e ... vediamo come lo fai, che ad aggiungere l'accelerometro c'è tempo ...
Guglielmo
P.S. : ... mi raccomando, il codice racchiuso nei tag CODE come descritto nel regolamento al punto 7
ciao gugliemo, ieri ho fatto tardi, oggi ti invio come da te richiesto la scdritta di Ciao Gennaro, compreso un saluto anche #include <LiquidCrystal.h>
Ok e ... già da quest'esempio che hai messo salta fuori un bel problema ...
L'LCD che hai collegato, stando alla tua chiamata di inizializzazione, "LiquidCrystal lcd(8,9,4,5,6,7);" usa i pin 4, 5, 6, 7, 8 e 9 ... peccato che i pin 4 e 5, su Arduino UNO, siano i pin SDA e SCL usati dalla comunicazione I2C che, immagino, sia la comunicazione che usa il tuo accelerometro
Se così è ... purtroppo non puoi fare nulla di semplice, visto che i pin del I2C sono fissi hardware ...
Le soluzioni che hai sono ...
... o vedere se puoi collegare l'LCD ad altri pin lasciando liberi il 4 e il 5, o usare un altro LCD (uno che funzioni attraverso I2C) o ... invece che usare l'I2C nativo di Arduino (quello HW) usare, con le dovute limitazioni, una libreria che lo "simuli" da software ... la "Software I2C", che trovi descritta QUI e che ti permette di definire, via software, due altri pin per SDA e SCL (simulati).
Vedi tu ...
Guglielmo
Edit : ... lascia sta' ... oggi confondo fischi per fiaschi ...
ciao Guglielmo, questo è lo skech che ho trovato e modificato, ottengo solo la bussola ma non riesco a leggere l'elevazione, mi potresti aiutare?
#include <LiquidCrystal.h>
LiquidCrystal lcd(8,9,4,5,6,7);
#include <Wire.h>
#include <LSM303.h>
#define Z;
#define X;
#define Y;
LSM303 compass;
void setup() {
Serial.begin(9600);
lcd.begin(16,2);
Wire.begin();
lcd.print(" ");
pinMode (SDA,INPUT);
pinMode (SCL,INPUT);
pinMode(SDA,LOW);
pinMode(SCL,LOW);
compass.init();
compass.enableDefault();
compass.m_min = (LSM303::vector<int16_t>){-32767, -32767, -32767};
compass.m_max = (LSM303::vector<int16_t>){+32767, +32767, +32767};
compass.heading((LSM303::vector<int>){0, 0, 1});
/*
Calibration values; the default values of +/-32767 for each axis
lead to an assumed magnetometer bias of 0. Use the Calibrate example
program to determine appropriate values for your particular unit.
*/
}
void loop() {
(compass.heading((LSM303::vector<int>){0, 0, 1}));
compass.read();
/*
When given no arguments, the heading() function returns the angular
difference in the horizontal plane between a default vector and
north, in degrees.
The default vector is chosen by the library to point along the
surface of the PCB, in the direction of the top of the text on the
silkscreen. This is the +X axis on the Pololu LSM303D carrier and
the -Y axis on the Pololu LSM303DLHC, LSM303DLM, and LSM303DLH
carriers.
To use a different vector as a reference, use the version of heading()
that takes a vector argument; for example, use
compass.heading((LSM303::vector<int>){0, 0, 1});
to use the +Z axis as a reference.
*/
float heading = compass.heading();
compass.read();
Serial.begin(9600);
lcd.begin(16,2);
Wire.begin();
pinMode (SDA,INPUT);
pinMode (SCL,INPUT);
pinMode(SDA,LOW);
pinMode(SCL,LOW);
compass.init();
compass.enableDefault();
compass.read();
lcd.print("Dir ");
lcd.print(heading);
delay(500);
}