Fórum témák
- • Elektromos roller
- • Indukciós főzőlap javítása
- • LCD TV probléma
- • LED-es villogó fényfüzér
- • Arduino
- • Karácsonyi fényfüzérek
- • Leválasztó transzformátor
- • Erősítő mindig és mindig
- • MyElecParts alkatrész kereső és készlet nyilvántartó
- • STK erősítők javítások
- • Akkumulátor töltő
- • Kenyérpirító nem kapcsol ki időben
- • Számítógép hiba, de mi a probléma?
- • Kombikazán működési hiba
- • Elfogadnám, ha ingyen elvihető
- • Varrógép elektronika
- • Nyomtató probléma
- • Videoton EA 6383 s (tuning)
- • Klíma szervizelés, javítás
- • ZC-18 kazán
- • Audiofil, High End Audio
- • Gázkazán vezérlő hibák
- • IPTV, azaz, TV-zés internet szolgáltatón keresztül
- • Szobatermosztát bekötése
- • Villanyszerelés
- • Felajánlás, azaz ingyen elvihető
- • Vicces - mókás történetek
- • Hegesztő inverter javítás
- • Sprint-Layout NYÁK-tervező
- • Hibrid erősítő
- • Tápegységgel kapcsolatos kérdések
- • Lemezjátszó beállítása, javítása
- • Kerámialapos tűzhely
- • ESP32 bootloader
- • Androidos okos telefonok
- • WiFi / WLAN alapkérdések
- • PIC - Miértek, hogyanok haladóknak
- • PC táp javítása
- • Dióda helyettesítés
- • Szárítógép problémák
- • Vásárlás, hol kapható?
- • Autós erősítős kérdések, problémák
- • Elektromos távirányítós kapunyitó
- • NYÁK-fólia rendelés
- • Kikapcsolás késleltető
- • Li-Ion saját akkucsomag készítése
- • Hőkioldó bekötése áramkörbe
- • SMD forrasztás profin
- • Tesla tekercs építése
- • Vezetékes telefon szerelés
- • Néhány wattos szünetmentes tápegység
- • Suzuki Swift elektronika
- • Ponthegesztő készítése házilag
- • Digitális forrasztóállomás
- • Parkside akkuk javìtása
» Több friss téma
|
Én nem vitatom, hogy nálad működik.
Éppen ezért akartam megtudni, hogy nálam miért nem?
Nem tudom. Ha a kód benne van és a fuse bitek beállítása is jó. akkor mennie kellene. a Reset láb fel van húzva 10kohm ellenállással? A 4Mhz kvarc kondikkal a 4-es 5-ös lábon. A ledet nem fordított polaritással kötötted be? Tápegység milyen? a bekötést ellenőrizd. De annak jónak kell lennie ha a felprogramozás megy.
Amiket leírtál, már többször átnéztem.
A ledet már többször megfordítottam. Tápegységről világít is.
Éppen ezért érthetetlen számomra. Biztosan én cseszek el valamit, csak nem tudom, hogy mit.
Köszi a segítséget.
Ha SPI on keresztül tudod programozni akkor az oszcillátor is megy.
Írd már át úgy hogy
config portd.0 = output
illetve
set portd.0
reset portd.0
és erre a lábra tedd a led-et.
Illetve a program végére kell egy
end. A hozzászólás módosítva: Jan 23, 2016
(#) |
pont hozzászólása |
Jún 30, 2016 |
|
/ |
|
|
Sziasztok! Van olyan függvény ami visszaadja egy pl. nyolcjegyű decimális szám megfelelő helyi értékén lévő számot? Max7219 hez kellene.
Üdv! A "MID" függvény tud ilyet, de csak ha előtte stringé alakítod.
(#) |
wbt hozzászólása |
Júl 1, 2016 |
|
/ |
1 |
|
Előtte bővítsd ki, akkor tudsz nullakioltást is csinálni, ha kell, pl:
Szam=12345678
Temp_string1=STR(Szam) 'Konvertálás string-é
Temp_string1="0000000"+Temp_string1 '00000..+a szám (vagy spc-k a 0 helyett)
Temp_string1=Right(Temp_string1,8) 'értékes jobb oldal 8 karakter
Temp_string2=Mid(Temp_string1,3,1) 'Pl. 3. szám kiszedése
(A Temp_string1-nek 2x akkorának kell lennie, mint a szám max hossza, a kibővítéshez, ha kell, így nem kell foglalkoznod a keletkezett string hosszával, nem tudod túlpozícionálni pl.)
(#) |
pont hozzászólása |
Júl 1, 2016 |
|
/ |
|
|
Köszönöm , mindkettőtöknek.
Tiszteletem!
Ha portról bejövő adattal szeretném feltölteni egy másik port adatirány regiszterét, akkor azt a következő programsorral tehetem meg.
Config Portd = input 'Bejövő adatport'
.....
DDRA = PIND
Itt a DDRA felveszi a portd-n megjelenő adatnak megfelelő adatirányokat.
Ha kiolvasni szeretném a PortA adatirány regiszterét és visszaküldeni a PortD-re, akkor az alábbi kóddal megtehetem?
Config Portd = Output 'Kimenő adatport'
.....
Portd = DDRA
Kérdésem, hogy az adatirány regisztert mindig olvashatom figyelmen kívül hagyva azt, hogy éppen kimenet vagy bemenet éppen?
Köszönöm! A hozzászólás módosítva: Júl 30, 2016
(#) |
pont hozzászólása |
Aug 22, 2016 |
|
/ |
|
|
Sziasztok! Egy max6675-ös K-tip hőelem modulból származó hőmérséklet értéket szeretném mcp 41010-essel 0-5vig kijeleztetni. A problémám az, hogy mindegyik SPI-t használ, és ugye a program elején konfiguráljuk, hogy melyik lábakat használjuk erre. Tulajdonképpen elég lenne csak az engedélyező lábat váltogatni. Hogyan is kéne ezt programban megoldani, hogy mégse kelljen két AVR-t elhasználni ezért,( mert olyan működő összeállításom már van)?
A midulokkal a beszélgetés:
_CS láb aktív
SPI beszélgetés
_CS láb alacsony
_Másik_CS láb aktív
SPI beszélgetés
_Másik_CS láb alacsony
Köszönöm a válaszod, csak a SPIOUT maga kapcsolta a CS lábat a konfiguráláskor megadott porton. Akkor úgy kell, hogy konfiguráláskor nem adunk meg cs-hez portot és adat küldés előtt a kívánt portot kapcsolgatjuk?
Én így szoktam tenni...
Magam kapcsolgatom a CS lábat, ne az SPI kezelő program (pont a több eszköz miatt) az ördög rossz alvókáva miatt at /SS lábat nem is használom /CS-ként.
Üdv ismét,
A BascomAVR könyvről tud valaki, hogy hova "tűnt" el? Az összes link ami oda mutat hibát ír ki..
Esetleg valakinek megvan elektronikus formában?
Nekem meg van, de legalább 45M zip , azt ide méret miatt nem tudom feltölteni.Mi kell belőle , lehet nem is kellene mind.
Helo,
Ha megtennéd, hogy elküldenéd privátban nagyon megköszönném.
Szakirodalom, nemárt ha megvan a teljes verzió A hozzászólás módosítva: Szept 20, 2016
Ok töltöm , és majd küldöm , ha majd sikerül ,és megkapod , akkor jelezz vissza hogy sikerült e , és nem sérült e meg .Tehát meg tudod nyitni ki tudod csomagolni stb.
Részemről elküldtem. A hozzászólás módosítva: Szept 20, 2016
Köszönöm szépen! A csomag sikeresen megérkezett és minden rendben vele.
Igazából a PWM-el kapcsolatos részt kerestem, összeraktam egy kis kapcsolást (a PB6-ra egy fet és 1db fehér led, ADC7-en 10k poti), ennek a fényerejét szeretném PWM-el szabályozni. Az ADC működik, viszont a led meg sem villan, még nyomozom mit rontottam el...
$regfile = "m1284pdef.dat" ' specify the used AVR
$crystal = 16000000 ' used crystal frequency
$hwstack = 32 ' default use 32 for the hardware stack
$swstack = 20 ' default use 10 for the SW stack
$framesize = 60 ' default use 40 for the frame space
$baud = 19200 ' use baud rate 19200 baud
Config Timer3 = Pwm , Pwm = 10 , Compare A Pwm = Clear Down , Prescale = 64
Start Timer3
Config ADC = Single , Prescaler = Auto
Start ADC
Dim W as WORD
Do
W = Getadc(7)
Print W
Pwm3a = W
Loop
End
Esetleg nincs véletlenül fordítva a led ?
Sosem lehet tudni .
A lábat állitsd be kimenetnek.
Üdv!
Atmega 328P vel (16MHz en jár) szeretnék lekérdezni egy DS18S20 hőmérőt, és kiírni a hőmérsékletet LCD re vagy elküldeni soros porton..
A hőmérő a portd.0 lábon van.
Több forrást is próbáltam de egyikkel sem működik.
Van esetleg valakinek kipróbált, működő forrása?
Előre is köszönöm.
megoldódott, kábelhiba volt...
Nagyon szépen köszönöm, tényleg!!!
(#) |
Moderátor hozzászólása |
Jan 31, 2017 |
|
"Pont" kérésére az okafogyott hozzászólások törlésre kerültek. A hozzászólás módosítva: Jan 31, 2017
Üdv!
Egy mpu6050 szenzort szeretnék használni. Tud esetleg valaki minta kódot a szenzorhoz? Előre is köszönöm.
Itt volt MPU, nem tudom meg van-e nézd át az oldalt ha nincs meg van lementett programom.
Egyelőre nem találom. A lementett program nagy segítség lenne.
Ezt találtam mikor kísérleteztem vele, csak már 5 éve.
'===CHIP SETTINGS===
$regfile = "m128def.dat"
$framesize = 320
$swstack = 160
$hwstack = 160
$crystal = 16000000
$baud1 = 38400
Config Scl = Portd.0
Config Sda = Portd.1
Open "COM2:" For Binary As #1
Const Mpuaddw = &B11010000 'AD0 auf Masse
Const Mpuaddr = &B11010001
'--MPU6000--
Dim Test As Byte
Dim Gyrox As Integer
Dim Gyroy As Integer
Dim Gyroz As Integer
Dim Tmp_gyrox(2) As Byte At Gyrox Overlay 'nick
Dim Tmp_gyroy(2) As Byte At Gyroy Overlay 'roll
Dim Tmp_gyroz(2) As Byte At Gyroz Overlay 'yaw
Dim Xacc_pre As Integer
Dim Yacc_pre As Integer
Dim Zacc_pre As Integer
Dim Tmp_accx(2) As Byte At Xacc_pre Overlay
Dim Tmp_accy(2) As Byte At Yacc_pre Overlay
Dim Tmp_accz(2) As Byte At Zacc_pre Overlay
Dim Meas_nick As Single
Dim Meas_roll As Single
Dim Yaw_gyro As Single
Dim Xacc As Single
Dim Yacc As Single
Dim Zacc As Single
Declare Sub Read_mpu
Declare Sub Init_mpu
I2cinit
Waitms 100
Init_mpu
Print #1 , "OK";
Do
Read_mpu
Waitms 250
Print #1 , "$" ; Meas_nick;
Loop
End
Sub Init_mpu
I2cstart 'start condition
I2cwbyte Mpuaddw 'write adress of MPU-6050
I2cwbyte 117 'Register 117 "Who am I"
I2crepstart 'repeated start
I2cwbyte Mpuaddr 'read adress of MPU-6050
I2crbyte Test , Nack 'read byte WHO_AM_I (Reg 117)
I2cstop 'stop condition
I2cstart 'start condition
I2cwbyte Mpuaddw 'write adress of MPU-6050
I2cwbyte 25 'Register 25 Sample Rate Divider (1..8 kHz)
'mal spielen...
'&B00000001 wäre 500 Hz
I2cwbyte &B00000000 'Divider set to 1 (soll)
I2cstop 'stop condition
'Low pass filter
'0=256Hz &B00000000
'1 = 188hz &B00000001
'2 = 98hz &B00000010
'3 = 42hz &B00000011
'4 = 20hz &B00000100
'5 = 10hz &B00000101
'6 = 5hz &B00000110
I2cstart 'start condition
I2cwbyte Mpuaddw 'write adress of MPU-6050
I2cwbyte 26 'Register 26 DLPF_CFG (digital lowpass filter) Configuration
I2cwbyte &B00000011 'Bits 0..2 = 000 - ACC:260Hz, 0.0ms; Gyro:256Hz, 0.98ms ( &B00000000 )
I2cstop 'stop condition
'42hz scheint gut
'gyro full range
'250°/s &B00000000
'500°/s &B00001000
'1000°/s &B00010000
'2000°/s &B00011000
I2cstart 'start condition
I2cwbyte Mpuaddw 'write adress of MPU-6050
I2cwbyte 27 'Register 27 Gyro Configuration
I2cwbyte &B00011000 'Bits 3+4 = 00 - Full Scale Range: +/-250°/s
I2cstop 'stop condition
'ACC full range
'+-2g &B00000000
'+-4g &B00001000
I2cstart 'start condition
I2cwbyte Mpuaddw 'write adress of MPU-6050
I2cwbyte 28 'Register 28 ACC Configuration
'set to +-8g?
'&B00000000 = 2g
'&B00001000 = 4g
'&B00010000 = 8g
'&B00011000 = 16g
I2cwbyte &B00000000 'Bits 3+4 = 00 - Full Scale Range: +/-2g / No High Pass Filter
I2cstop 'stop condition
I2cstart 'start condition
I2cwbyte Mpuaddw 'write adress of MPU-6050
I2cwbyte 107 'Register 107 Power Management 1
'temp enabled: &B00000011
'temp disabled: &B00001011
I2cwbyte &B00000011 'No Reset / No Sleep / No Cycle / Temp_Sens: Dis / Clock Source: Z-Gyro
I2cstop
End Sub
Sub Read_mpu
I2cstart 'X ACC
I2cwbyte Mpuaddw
I2cwbyte 59
I2crepstart
I2cwbyte Mpuaddr
I2crbyte Tmp_accx(2) , Ack
I2crbyte Tmp_accx(1) , Ack
I2crbyte Tmp_accy(2) , Ack
I2crbyte Tmp_accy(1) , Ack
I2crbyte Tmp_accz(2) , Ack
I2crbyte Tmp_accz(1) , Nack
I2cstop
I2cstart 'X GYRO
I2cwbyte Mpuaddw
I2cwbyte 67
I2crepstart
I2cwbyte Mpuaddr
I2crbyte Tmp_gyrox(2) , Ack
I2crbyte Tmp_gyrox(1) , Ack
I2crbyte Tmp_gyroy(2) , Ack
I2crbyte Tmp_gyroy(1) , Ack
I2crbyte Tmp_gyroz(2) , Ack
I2crbyte Tmp_gyroz(1) , Nack
I2cstop
' Shift xAcc , Right , 5 , Signed '+-1024 bei 2g
' Shift yAcc , Right , 5 , Signed
' Shift zAcc , Right , 5 , Signed
' Shift Meas_nick , Right , 5 , Signed '+-1024 bei 250°/s
' Shift Meas_roll , Right , 5 , Signed
' Shift Yaw_gyro , Right , 5 , Signed
'Meas_nick = Gyrox / 76.8 '65536/1024/(300/250) MPU gyro scaling equals adxrs300 scaling
'Meas_roll = Gyroy / 76.8
'Yaw_gyro = Gyroz / 76.8
' Meas_nick = Gyrox / 38.4 'bei 500°/s
' Meas_roll = Gyroy / 38.4
' Yaw_gyro = Gyroz / 38.4
Meas_nick = Gyrox / 8.7 'bei 2000°/s
Meas_roll = Gyroy / 8.7
Yaw_gyro = Gyroz / -8.7
Xacc = Xacc_pre '65536/1024 MPU acc scaling equals ADXL322 scaling
Yacc = Yacc_pre
Zacc = Zacc_pre
End Sub
|
|