|
www.elektronik.si Forum o elektrotehniki in računalništvu
|
Poglej prejšnjo temo :: Poglej naslednjo temo |
Avtor |
Sporočilo |
malci Član
Pridružen-a: Sob 15 Sep 2007 21:05 Prispevkov: 793 Aktiv.: 3.92 Kraj: Polhov Gradec
|
Objavljeno: Pon Okt 29, 2018 6:38 pm Naslov sporočila: DAC MCP4725 in ADC ADS1115 - uporaba v arduino nano |
|
|
Pozdravljeni!
Pri mojem projektu bi rad uporabil tako A/D ADS1115 <Adafruit_ADS1015.h> kot tudi D/A MCP4725 <Adafruit_MCP4725.h>
Vsako posebej mi lepo deluje, oba skupaj pa mi ne arduino ne prevede.
Četudi sem se izognil knjižnici <Adafruit_MCP4725.h>, mi program noče prevesti, takoj ko vključim ADS1115 library.
I2C naslovi so različni ( 0x48; 0x62)
Kakšna bi bila rešitev za nastalo težavo?
lp
Uroš
_________________ Elektronika za hobi |
|
Nazaj na vrh |
|
|
igo Član
Pridružen-a: Sre 11 Okt 2006 19:11 Prispevkov: 3638 Aktiv.: 17.04
|
Objavljeno: Pon Okt 29, 2018 7:14 pm Naslov sporočila: |
|
|
Pripni program.
Na hitro sem preletel .cpp datoteko od ADS1115 in že ona vsebuje
#include wire.h .
Morda dvakraten #include zmede prevajalnik.
Javi kakšno napako ali opozorilo?
V nastavitvah Arduino okolja nastavi prikaz vsega in pripni izpisek.
Ali .ino samo za ADS1115 prav deluje?
_________________ Teoretično je praksa posledica teorije, praktično je pa ravno obratno. (igo 2001)
LP, Igor |
|
Nazaj na vrh |
|
|
malci Član
Pridružen-a: Sob 15 Sep 2007 21:05 Prispevkov: 793 Aktiv.: 3.92 Kraj: Polhov Gradec
|
Objavljeno: Pon Okt 29, 2018 7:54 pm Naslov sporočila: |
|
|
Ja, vsak .ino posebej deluje v redu, pče pa v enega združim oboje, pa ga ne prevede, javi napako. Uporabljam arduino nano pro.
Koda: |
#include <Wire.h> // specify use of Wire.h library
#include <Adafruit_ADS1015.h>
#define MCP4725 0x62 // MCP4725 base address
unsigned int val;
byte buffer[3];
void setup() {
Wire.begin(); // begin I2C
} // end setup
void loop() {
buffer[0] = 0b01000000; // control byte
val = analogRead(0) * 4; // read pot
buffer[1] = val >> 4; // MSB 11-4 shift right 4 places
buffer[2] = val << 4; // LSB 3-0 shift left 4 places
Wire.beginTransmission(MCP4725); // address device
Wire.write(buffer[0]); // pointer
Wire.write(buffer[1]); // 8 MSB
Wire.write(buffer[2]); // 4 LSB
Wire.endTransmission();
// just an indicator
digitalWrite(13, HIGH);
delay(100);
digitalWrite(13, LOW);
delay(100);
} // end loop |
Pri zgornjem primeru mi izpiše:
( samo sedajle gledam, da je v poročilu omenjen TinyWireM...???? - je to vredu, ali je to mogoče ostalo od enega prejšnega projekta, ko sem uporabljal software I2c na Attiny85?)
Koda: |
Arduino:1.8.5 (Windows 7), Plošča:"Arduino Nano, ATmega328P"
C:\Users\Uros\Documents\Arduino\libraries\TinyWireM\USI_TWI_Master.cpp:23:0: warning: "F_CPU" redefined
#define F_CPU 1000000UL // Sets up the default speed for delay.h
^
<command-line>:0:0: note: this is the location of the previous definition
C:\Users\Uros\Documents\Arduino\libraries\TinyWireM\USI_TWI_Master.cpp: In function 'void USI_TWI_Master_Initialise()':
C:\Users\Uros\Documents\Arduino\libraries\TinyWireM\USI_TWI_Master.cpp:50:3: error: 'PORT_USI' was not declared in this scope
PORT_USI |= (1<<PIN_USI_SDA); // Enable pullup on SDA, to set high as released state.
^
C:\Users\Uros\Documents\Arduino\libraries\TinyWireM\USI_TWI_Master.cpp:50:19: error: 'PIN_USI_SDA' was not declared in this scope
PORT_USI |= (1<<PIN_USI_SDA); // Enable pullup on SDA, to set high as released state.
^
C:\Users\Uros\Documents\Arduino\libraries\TinyWireM\USI_TWI_Master.cpp:51:19: error: 'PIN_USI_SCL' was not declared in this scope
PORT_USI |= (1<<PIN_USI_SCL); // Enable pullup on SCL, to set high as released state.
^
........
\
\
........
^
C:\Users\Uros\Documents\Arduino\libraries\TinyWireM\USI_TWI_Master.cpp:329:21: error: 'USIPF' was not declared in this scope
if( !(USISR & (1<<USIPF)) )
^
exit status 1
Error compiling for board Arduino Nano.
This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.
|
_________________ Elektronika za hobi
Nazadnje urejal/a malci Tor Okt 30, 2018 6:04 pm; skupaj popravljeno 1 krat |
|
Nazaj na vrh |
|
|
igo Član
Pridružen-a: Sre 11 Okt 2006 19:11 Prispevkov: 3638 Aktiv.: 17.04
|
Objavljeno: Pon Okt 29, 2018 10:23 pm Naslov sporočila: |
|
|
To ni v redu.
V Arduino okolju nastavi pravi tip Arduinota (Nano, Mini, Uno, Mega, ...), ki ga uporabljaš.
Malo preleti zgornjo menujsko vrstico (nisem pri računalniku, da bi točno napisal, kam klikneš).
V istem sklopu menuja so tip kontrolerja, tip programatorja, številka Com porta, ... .
_________________ Teoretično je praksa posledica teorije, praktično je pa ravno obratno. (igo 2001)
LP, Igor |
|
Nazaj na vrh |
|
|
malci Član
Pridružen-a: Sob 15 Sep 2007 21:05 Prispevkov: 793 Aktiv.: 3.92 Kraj: Polhov Gradec
|
Objavljeno: Pon Okt 29, 2018 11:00 pm Naslov sporočila: |
|
|
Ne, saj to imam pravilno nastavljeno, "Arduino pro or pro mini", prav takega, kot uporabljam. Sem poizkusil tudi z "Arduino mini", pa je bilo isto.
Tip programatorja je tudi pravi, čeprav to naj ne bi imelo vpliva pri prevajanju..
Samo tisti TinyWire mi ne gre iz glave. Če se ne motim, je bil aktualen pri software I2C, ki sem ga uporabljal pred cca 1 mesecem. Moram malo pobrskati po arhivu, če sem takrat kaj spreminjal knjižnice.
lp
Uroš
_________________ Elektronika za hobi |
|
Nazaj na vrh |
|
|
Jaka57 Moderator
Pridružen-a: Ned 12 Dec 2004 21:47 Prispevkov: 5773 Aktiv.: 25.89 Kraj: Grosuplje
|
Objavljeno: Tor Okt 30, 2018 12:36 am Naslov sporočila: |
|
|
malci meni prevede normalno (Arduino 1.8.1), s tem, da jaz nimam ekstra Wire knjižnjice,
ker je že v Arduino IDE vključena, še manj pa TinyWire.
Opis: |
|
Velikost datoteke: |
75.37 KB |
Pogledana: |
6 krat |
|
_________________ Lp, Jaka |
|
Nazaj na vrh |
|
|
malci Član
Pridružen-a: Sob 15 Sep 2007 21:05 Prispevkov: 793 Aktiv.: 3.92 Kraj: Polhov Gradec
|
Objavljeno: Tor Okt 30, 2018 7:02 am Naslov sporočila: |
|
|
Jaka hvala. Dober podatek.
Sedaj vem v kateri smeri iskat dalje. Se bom popoldne poglobil v knjižnice in morebitne njihove spremembe....
Lp
Uroš
_________________ Elektronika za hobi
Nazadnje urejal/a malci Tor Okt 30, 2018 6:21 pm; skupaj popravljeno 1 krat |
|
Nazaj na vrh |
|
|
malci Član
Pridružen-a: Sob 15 Sep 2007 21:05 Prispevkov: 793 Aktiv.: 3.92 Kraj: Polhov Gradec
|
Objavljeno: Tor Okt 30, 2018 6:15 pm Naslov sporočila: |
|
|
problem rešen, vsaj upam
Težava je bila v spremenjeni <Adafruit_ADS1015.h> knjižnici, saj sem jo pred časom spremenil, da je delovala z software I2C. Pri Nano-tu pa imam original I2C vodilo.
Zakaj pa je problem nastal, samo če sem dodal še knjižnico za MCP4725, sicer pa ne, mi pa ni jasno.
lp
Uoš
_________________ Elektronika za hobi |
|
Nazaj na vrh |
|
|
|
|
Ne, ne moreš dodajati novih tem v tem forumu Ne, ne moreš odgovarjati na teme v tem forumu Ne, ne moreš urejati svojih prispevkov v tem forumu Ne, ne moreš brisati svojih prispevkov v tem forumu Ne ne moreš glasovati v anketi v tem forumu Ne, ne moreš pripeti datotek v tem forumu Ne, ne moreš povleči datotek v tem forumu
|
Uptime: 74 dni
Powered by phpBB © 2001, 2005 phpBB Group
|