Arduino -ketju (kysymykset/keskustelu)

Viestiketju alueella 'Elektroniikka, rakentelu ja muut DIY-projektit' , aloittaja Lassivv, 17.03.2017.

  1. Lassivv

    Lassivv Tukijäsen Team H2O

    Viestejä:
    799
    Rekisteröitynyt:
    12.02.2017
    Laitetaampa tälläinenkin pystyyn, kun näistä varmaan riittää keskustelua.

    Itse ajattelin rakennella "säädettävän "dummy loadin"" Arduinolla. Hieman katselin vaihtoehtoja ja esim tälläinen tuli vastaan, mitä olette mieltä tuosta kytkiksestä vai onko parempia ideoita/vinkkejä tuon tekoon saa toki valmiitakin ehdottaa jos edullisesti löytyy, mutta arduinollakin kohtuu pienellä vaivalla varmaan onnistuu ja saa näyttöön ainakin ne asiat mitä haluaa ja potikka säädön (10turn). Aina monessa ebay linkissä ainakin digitaali naksuttelu hommia ja ite pidän enempi kyllä tuosta potikka käyttösestä. 10turn potikalla olevia ei ainakaan toki löydy ebaysta, itse potikan hinnankin takia.

    Arduino Programmable Constant Current Power Resistance Dummy Load How It Works

    Mielipiteitä otetaan vastaan ja toki saa parempaankin linkkiä/vinkkejä antaa.

    edit: Toki lisätehokaan purku tilanteessa ei haittaisi jossain tilanteissa. Tuossa käytetty näemmä 10kpl 1ohm / 1watt /1% rinnan. Itselläni taisi olla romulaatikossa 0.9ohm 5W vastuksia jonkunmoinen kasa niitä jos laittaisi 10kpl tai 15kpl niin saisi aika kovan kuorman tehtyä. Toki varmaan fetti menisi uusiksi, mutta muuten olisi varmaan kohtuu yksikertainen rakentaa isompi kuorma, tiedä sitten kuinka paljon vaikuttaa pienempien virtojen tarkkuuteen ja säädettävyyteen.
     
    Viimeksi muokattu: 17.03.2017
  2. Bontano

    Bontano

    Viestejä:
    259
    Rekisteröitynyt:
    11.01.2017
    Osaisiko joku asiasta enemmän tietävä kertoa, että kuinka kauan 2kpl 9V paristoja kestää tuommoisen 12V solenoidi lukon käyttöä?
     
  3. Tomak89

    Tomak89

    Viestejä:
    301
    Rekisteröitynyt:
    24.02.2017
    @Bontano Solenoidi aktiivitilassa (luisti sisälle vedettynä) solenoidi vie 12 V *0,8 A = 9,6 W.
    9V paristoissa on keskimäärin 400 mAh-600 mAh välillä varausta, siis noin 5,4 Wh energiaa. Eli karkeasti pyöristäen kahden pariston täydellinen hyödyntäminen olisi noin 1h käyttöä, mutta jos paristot on kytketty sarjaan, josta lineaarisella regulaattorilla tiputellaan 12 V:iin jännite niin ollaan lähempänä 40 min.

    Loppu matikka on suunnittelijasta kiinni, eli kauan solenoidia pidetään kerrallaan aktiivisena. Sellaisessa perinteisessä "kassakaappi" virityksessä, jossa ovi pompsahtaa auki, solenoiden ei varmaan tarvitse olla aktiivitilassa sekuntia (jos niinkään paljon) enempää. (~1s --> 1h = 3600s => 3600 avauskertaa)
    Kannattaa huomioida, että 9V paristo ei välttämättä jaksa noin kovia virtoja. Tällöin saatu energiakin voi jäädä heikommaksi.

    Dummy loadeista
    Itselläkin on ollut mielessä tuollaisen keinokuorman rakentaminen, mutta jäänyt suunnittelun asteelle. Tarkkuus tosiaan riippuu ohjauksesta ja käytetystä fetistä aika pitkälti, koska säätö tapahtuu tuolla lineaarialueella. Arduino + DAC + fetti ja muutamalla releellä suojaukset, tuossa olisi reseptin pääraakaineet.
    Tässä on esimerkiksi jo aika järeän kokoinen viritys, mutta piiritoteutus ei ole juurikaan monimutkaisempi, mitä tuossa pienempitehoisessa. Lähinnä isompaa fettiä tilalle, tai pari rinnan kuten videolla.


    Melkein sanoisin, että parempi tosiaan isompi kuin liian pieni. :geek: Perusteluina se, että harvemmin tulee testailtua alle 1A kuormia, jotka toisaalta pystyy testailemaan jo ihan passiivikomponenteilla tarvittaessa. Itsellä käyttö olisi ledipowerien ja muuntajien testausta, virta-alue jossain 1A-30A välillä. Kannattaa tosiaan miettiä sitä käyttöaluetta, ellei sitten rakentele ihan rakentamisen ilosta. :lol:
     
    Bontano tykkää tästä.
  4. Bontano

    Bontano

    Viestejä:
    259
    Rekisteröitynyt:
    11.01.2017
    Kiitos paljon vastauksestasi!
    Sain nyt vihdoin itse testattua tuon toiminnan ja hyvin ainakin vielä nämä 9V paristot jaksavat yhtä lukkoa avata. (Muutama sataa avausta)
    Seuraavaksi asennan keypadin, johon oikean salasanan syöttämällä lukko aukeaa. Vinkkejä tämän koodaamiseen? Googlaillut jo muutamia hyviä esimerkkejä.
     
  5. JoniS

    JoniS ???

    Viestejä:
    136
    Rekisteröitynyt:
    28.12.2016
    Valmiita koodeja löytyy joka lähtöön tuohon, esim. 4x3 4x4 Matrix Keypad Interface with Atmel AVR Microcontrollers

    Tuon scannauksen voi koodata miljoonalla eri tavalla, mutta perus idea on aina sama, kannattaa pitää keypadi kokonaan samassa portissa niin menee helpoimmailla.
     
  6. Bontano

    Bontano

    Viestejä:
    259
    Rekisteröitynyt:
    11.01.2017
    Löysin hyvän templaten mitä lähdin kehittämään. Nyt toimii koko systeemi, lukko aukeaa salasanalla ja ledit ilmoittavat virheistä. :)
     
    Tomak89 tykkää tästä.
  7. Tomak89

    Tomak89

    Viestejä:
    301
    Rekisteröitynyt:
    24.02.2017
    Tuon JoniS:än pointti on hyvä. Arduinon ide:ssä pystyy muistaakseni lukemaan vain pinnin kerrallaan, jos käyttää noita digitalreadejä.
    (Ja vitsihän on siinä, että kuitenkin koko porttirekisteri luetaan, josta kyseisen pinnin tila rajataan maskilla... :lol:)

    Tuossa esimerkissä on kerrottu miten onnistuu koko portin lukeminen. Tuota AVR C:tä voi suoraa kirjoitella sellaisenaan Arduino IDE:en ilman kummempia ongelmia, kunhan muistaa että IDE vaatii setup ja loop silmukat kääntyäkseen (vastaa tuota esimerkin void main() + while(1) rakennetta), ja tietty AVR-kontrolleriin perustuvan Arduinon.
    Usein lopputuloksenakin on nopeampi ohjelma. :geek:

    Tuossa itse pohdin, jos haluaa oikein hifistellä, niin tekee tuolle näppäimistöpainallukselle oman keskeytyksen. Eli ohjelman suoritus keskeytetään tai esim. kontrolleri herätetään horroksesta lukemaan näppäimen painalluksia. Eipä ole esimerkkiä tähän antaa, mutta arduinon dokumentaatiosta löytyy aika hyvin noista keskeytyksistä (interrupts).
     
  8. Bontano

    Bontano

    Viestejä:
    259
    Rekisteröitynyt:
    11.01.2017
    Liitin keypadin tähän tyyliin (omani on 4x4) ja määritin portit:

    const byte ROWS = 4;
    const byte COLS = 4;

    char keys[ROWS][COLS] = {
    {'1','2','3','A'},
    {'4','5','6','B'},
    {'7','8','9','C'},
    {'*','0','#','D'}
    };

    byte rowPins[ROWS] = { 9, 8, 7, 6 };
    byte colPins[COLS] = { 5, 4, 3, 2 };


    Tuli yksi warning, mutta setup toimii silti joten ilmeisesti warningista ei tarvitse välittää?

    C:\Users\User\Desktop\keypadcode\keypadcode.ino:4:38: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]

    Password password = Password( "1234" );
     
  9. JoniS

    JoniS ???

    Viestejä:
    136
    Rekisteröitynyt:
    28.12.2016
    Jep, tosin ei tuo niinkään arduinon IDE:n rajoitus ole vaan sen kontrollerin itsensä.
    Koodi:
    /* nappula portb pinni 1 */
    #define nappi 1
    
    /* lue portti B */
    uint8_t port = PINB;
    
    /* Tarkasta nappulan tila */
    If(port &(1 << nappi)){
        // Tee jotain
    }
    (Naputin puhelimella älkää takertuko jos on typo tjsp)

    Kannattaa katsella avrfreaks.net sivustoa jos joku ihmetyttää, sieltä löytyy tutoriaalia jos jonkinlaista, otetaan myös aloittelevat puuhastelijat suht hyvin vastaan ja pyritään auttamaan parhaan mukaan.

    Perus timeriin kannattaa laittaa nopea luku rutiini, saa samalla ilmaisen debouncen niin ei tarvitse delaytä käyttää.

    pinchange interruptilla onnistuisi tuo herätys sleepistä varmaan parhaiten, jos ei halua muuttaa kytkentää taikka koodia.
     
    Viimeksi muokattu: 07.04.2017
  10. Lassivv

    Lassivv Tukijäsen Team H2O

    Viestejä:
    799
    Rekisteröitynyt:
    12.02.2017
    Mikä olisi helpoin tyyli lukea serialista tullut tieto 3 eri muuttujaksi.

    Tarkoituksena lähettää toiselta Arduinolta mahd lyhyt viesti toiselle arduinolle serialin kautta:

    Esimerkki:
    Koodi:
    Master Arduino
    
    lähettää esim viestin: 4,8,12
    
    Koodi:
    Slave Arduino
    
    Pitäisi mahd yksinkertaisesti saada tulkitsemaan viesti niin että kirjoittaa nuo saapuneet muuttujat esim
    byte Mode
    byte Color
    byte Brighness
    Eli koodi siirtäisi luvun 4 Mode muuttujan arvoksi, luvun 8 Color muuttujan arvoksi ja niin eteepäin. Mitenkähän tämä olisi järkevintä tehdä ja millä käskyllä tuo kannattaisi lähettää Masterin puolelta?

    Pääasiana saada vaan mahd yksinkertainen "tietoliikenne" ratkaisu näiden välille kun mitään muuta ei koskaan lähetetä kun nämä 3 erillistä numeraali arvoa. (Numeraali arvot voi hyvin olla byte muuttujia 0-255 riittää mainiosti yhden kentän skaalaksi.)

    Toivottavasti löytyisi apua tähän asiaan.

    edit1: Tein sitten tämän mukaan pienillä muutteluilla eli kaikki 3 osaa mitä tuossa lähetettiin muutin kaikki byteiksi, jotain ylimääräistäkin sinne ehkä jäi, mutta toimi ainakin loistavasti vielä jos saa masterin lähettämään oikeessa muodossa serialin niin kaikki ok :)

    [ Vain rekisteröityneet käyttäjät näkevät Spoiler-tagin sisällön. Rekisteröidy foorumille... ]
     
    Viimeksi muokattu: 22.04.2017
  11. JoniS

    JoniS ???

    Viestejä:
    136
    Rekisteröitynyt:
    28.12.2016
    Yleensä tuo sarjaliikenteen luku toteutetaan keskeytyspalvelussa(ISR), missä data luetaan bufferiin, mistä se sitten parsitaan kokoon, kun on suoritinaikaa.(arduino kait(?) tekee tuon lukemisen tuolla tapaa "behind the scenes").

    Nopealla vilkaisulla(puhelimella) tuossa koodissa ei kait hirveästi testata tuliko sieltä edes odotettua dataa toisesta päästä perille asti, vaan suoraan vaan käytetään strok() funktiota merkkijonon pilkkomiseen, kannattaa opetella alusta pitäen varmistamaan se data mitä sieltä tuli perille, säästyy aikaa pitkällä tähtäimellä huomattavasti.
    Koodi:
    /* yksinkertaisimmin, ilman mitään turhaa(puuttuu myös error checking)*/
    Mode = Receivedchars[0];
    Color = Receivedchars[2];
    Brightness = Receivedchars[4];
    
    
     
  12. Vauxi

    Vauxi

    Viestejä:
    112
    Rekisteröitynyt:
    29.10.2016
    Ostin tuossa taannoin kourallisen himskatin pieniä arduino roippeita (Teensy, CAN transmitter, DC motor controller ja GPS breakout) tarkoituksena yhdistää ne toisiinsa. Puuttuu vaan taito käytännössä kokonaan softan puolesta. Onko mitään aloittelijan ohjetta tahi tarinaa mitenkä tarjolla webissä? Ajatus on saada ehjättyä auton wanha analogi mittaristo käyttämällä megasquirt ohjainlaitteen tuottamaa can signaalia josta luettaisi vain moottorin lämpötilaa joka käännettäisiin pwm ohjaukseen teensyssä ja sitäkautta mittarin lämpötilaviisari liikkuisi. Lisäksi gps moduulin emeasta luettaisiin vain nopeustietoa joka taas käännettäisiin dc moottorin pyörintä nopeudeksi. DC moottori korvaa siis nopeusmittarin vaijerin. Perimmäinen ajatushan on että en silvo yhtään mittaristoa. Johtoja saa aina uusia.

    Softat on ladattu ja asennettu sekä yhteys pelaa teensyyn. On myös käännetty ja lähetetty blinker sketsi. Latasin myös flex can, tiny GPS ja adafruitin gps kirjastot. Niiden esimerkki sketsit vaativat jo modaamista toimiakseen tuossa.

    Vai onko mun syytä avata oma ketju ? :D Kyllä, kurottaudun liian korkeelle puuhun.
     
  13. JoniS

    JoniS ???

    Viestejä:
    136
    Rekisteröitynyt:
    28.12.2016
    Mikä teensy?

    Et välttämättä, jostain se on aloitettava ja jos on selvä kuva mitä tehdä niin yleensä siinä on aika hyvä lähtökohta, kunhan ei heti luovuta. samalla tavalla itse aikanaan aloitin androidille softaa tekemään, Javasta mitään ymmärtämättä, C kielestä toki osasin alkeet jo siinä vaiheessa.

    Kannattaa jakaa projekti pikku palasiin, ainakin selvät erilliset asiat mitä käy ilmi olisivat seuraavat.
    • PWM
    • CAN
    • GPS
    vasta sitten kun "palanen" on toimiva ja testattu, mutta myös ymmärrät mitä se koodi tekee ja minkä takia se tekee niin, siirryt seuraavaan "palaseen" minkä teet yksittäin taas samalla tapaa, lopuksi jäljelle jää se kun yhdistät nuo valmiit koodin palaset kokonaisuudeksi.
    Jos lähdet kaikkea kerralla laittamaan kasaan niin tulee turhia turhautumisia, jos ja kun se ei toimi, eikä ole mitään käryä missä se vika on.
     
  14. Vauxi

    Vauxi

    Viestejä:
    112
    Rekisteröitynyt:
    29.10.2016
    Teensy 3.2. Siinäkun on sisäänrakennettu can tulkkaus. Jos oikein oon ymmärtänyt. Niin ajattelinkin että alussa lähtisin nimeomaan tuosta lämpötila -> pwm ohjauksesta ja sen jälkeen nopeus. Tälle ajokaudelle tämän toimimaan saaminen olisi äärettömän hieno saavutus. Mutta ainahan on uusi kevät tuloillaan ja välissä talvikin.
     
  15. Vauxi

    Vauxi

    Viestejä:
    112
    Rekisteröitynyt:
    29.10.2016
    Löysinpä interwebsistä avoimen koodin teensylle missä on gps toteutettu samalla moduulilla kuin mulla sekä askelmoottorin ohjaus samalla tsipillä kun mulla. Miinuksena tietty koodissa on turhaa myös paljon. Ehkä kantsii koittaa copypastea tarvitttavat toisaalle ja lähtee siitä testailee ? Sensijaan että vaan modais tuota.
     
  16. Monologi

    Monologi

    Viestejä:
    2 763
    Rekisteröitynyt:
    17.10.2016
    Onko se tämä sama koodi mikä näkyy kristallipallossa?
     
    Mävaan tykkää tästä.
  17. Vauxi

    Vauxi

    Viestejä:
    112
    Rekisteröitynyt:
    29.10.2016
  18. Monologi

    Monologi

    Viestejä:
    2 763
    Rekisteröitynyt:
    17.10.2016
    Kieltämättä tuossa on paljon kaikkea, mutta ainahan voit kuitenkin testata tuon toimivuutta, kun pelkästään sekin voi olla jo haastavaa esim. joku kirjasto nimetty uusiksi niin metsään alkaa menemään.
     
  19. JoniS

    JoniS ???

    Viestejä:
    136
    Rekisteröitynyt:
    28.12.2016
    Tosiaan kannattaa aluksi varmaan sellaisenaan testata noita kirjastoja, kun voisi olettaa että ne toimii niin tietää melkein ettei kytkentä ole oikein jos ei ala mitään tapahtumaan.

    Paljon mukavampi alkaa sitten koodia modaamaan, kun tietää että kytky on oikein ainakin niin ei turhaan montaa tuntia koodia väännä ja korjaile, kun vika olisikin kytkyssä loppupelissä.
     
  20. Vauxi

    Vauxi

    Viestejä:
    112
    Rekisteröitynyt:
    29.10.2016
    Gps saatu toimimaan tinygps++ kirjaston kitchen sink esimerkillä kunhan mutti baudimäärän ja oikeet pinnit käyttöön. Silloin lähti tulee dataa jossa nopeuskin oli eroteltuna suoraan. Sensijaan CAN tuottaa suuria ongelmia ja tukkukaupalla harmaita hiuksia. En nimittäin saa näkyviin mitään tervehdystekstin jälkeen. Paneuduttava siis lisää ja lisää ja lisää.
     
  21. Lassivv

    Lassivv Tukijäsen Team H2O

    Viestejä:
    799
    Rekisteröitynyt:
    12.02.2017
    Osaisikohan joku auttaa Nrf24L01 moduuleihin ja arduinoon liittyvässä kysymyksessä. Yleisin ongelma näiden kanssa toimiessa on että tarvitsevat 3.3volttia käyttöjännitteeksi. Arduino nano ja uno mitä tulisi käyttöön on taas 5voltin käyttö jännitteellä. Näistä löytyy myös 3.3voltin ulostulo, mutta tämä on vissiinkin Serial piirin tarjoama 3.3voltin ulostulo mikä maksimi virta on noin 50mA.

    Erinäisistä lähteistä netistä löytyy että moduuli voi ottaa pahimmillaan 200-300mA piikeissä virtaa. Yleisesti toki vähemmän, mutta tuo 50mA on selkeästi liian vähän monessa tilanteessa. Mietin että olisi hyväksyttävää tiputtaa reguloidusta 5voltin jännitteestä (arduino nanon käyttöjännite) 4kpl diodeita jännite 3voltin pintaan ja tasata vielä sitä vaikka 0.1uf ja 10uf konkilla.

    Vai onko tuo jotenkin hurjasti huonompi vaihtoehto kun hankkia jostain 3.3voltin regulaattoreita?
     
  22. velleri

    velleri

    Viestejä:
    386
    Rekisteröitynyt:
    31.12.2016
    Täällä oli keskustelua dummy loadista; EI niitä kytkinfettejä lineaarikäyttöön, EI.
     
  23. Monologi

    Monologi

    Viestejä:
    2 763
    Rekisteröitynyt:
    17.10.2016
    NOTE: These units VCC connection must go to 3.3V not 5.0V, although the Arduino itself may run at 5.0V and the signals will be OK. The NRF24L01+ IC is a 3.3V device, but its I/O pins are 5 V tolerant.
    https://arduino-info.wikispaces.com/Nrf24L01-2.4GHz-HowTo

    Eli syötät vaan sille Nrf24L01 sen 3,3v, vaikka niillä diodeilla.

    Sitten on valmiiksi 3,3V minejä ja muuntimia 3,3V ja 5V välille--> 1Pc 4 Channel IIC I2C Level Converter Bi-Directional Module Modul 5V-3.3V

    edit: Tässä tapauksessa turhan yliviivaus
     
    Viimeksi muokattu: 12.06.2017
  24. JoniS

    JoniS ???

    Viestejä:
    136
    Rekisteröitynyt:
    28.12.2016
    Ei tuohon mitään väliin tarvitse, kerta I/O pinnit kestää tuon 5v.
     
  25. Lassivv

    Lassivv Tukijäsen Team H2O

    Viestejä:
    799
    Rekisteröitynyt:
    12.02.2017
    Tiedossa olikin ettei väliin tarvitse mitään eli tuo i/o pin toleranssi oli tiedossa. Lähinnä tuo että saadaanko diodeilla tarpeeks kelvollista/tasaista jännitettä annettua noille lutikoille kuorman vaihteluista huolimatta. Vai onko regulaattori ainao järkevä vaihtoehto.
     
  26. JoniS

    JoniS ???

    Viestejä:
    136
    Rekisteröitynyt:
    28.12.2016
    Kyllähän noilla diodeilla testailee tuota, mutta regulaattorin hommaisin joka tapauksessa, osta samalla muutama ylimääräinen kun noille on aina tarvetta.

    Itsekkin joskus tehnyt vain jännitejaon vastuksilla sarjaliikenteen varten, kun toinen laite ei ole kestänyt sitä 5v, kyllä sillä testaili sitä, mutta en sitä niin jättäisi mihinkään pitkäaikaiseen juttuun.
     
  27. Monologi

    Monologi

    Viestejä:
    2 763
    Rekisteröitynyt:
    17.10.2016
    Kannattaa hommata siihen koekytkentälevylle tälläinen --> 1PCS MB102 Breadboard Power Supply Module 3.3V 5V For Solderless Arduino | eBay

    Saa ulos 3,3V ja 5V yhtäaikaa. Tuo vielä parempi malli siitä alkuperäisestä, että saa virrat miniusb:stä ja automaattisulakkeella varustettu sekä vie vähemmän tilaa koekytkentälevyltä.

    Sitten etenkin nuo pintaliitos regut on törkeän halpoja ja kestävät virtaa ihan kivasti --> 50PCS AMS1117 AMS1117-3.3 AMS117-3.3 3.3V 1A Voltage Regulator SOT-223 NEW | eBay
     
  28. Lassivv

    Lassivv Tukijäsen Team H2O

    Viestejä:
    799
    Rekisteröitynyt:
    12.02.2017
    Tollasia sattui löytymään kaverilta taidampa noita käyttää. Luulisi tuon 0.5A riittävän, jos joten kuten tolla 50mA toimivat ja 200mA puhuu speksi sivut maksimi virtana.

    TC1262-3.3VDBTR

    Tuo kytkislevylle oleva power supply module on kyll kova, kiitokset vinkistä pitää pistää tulemaan. Juuri mittailin niin 130mV on ripple jännite tuossa laitteella kun tuo 2.4ghz moduuli ja arduino nano on kuormana. Syötän suoraan 5voltin kännykän laturilla tuota ja 5voltin ja 3.3voltin linjojen rinnalla on 330uf/6.3v elko ja 0.1Uf muovikonkka. Mahtaakohan tuo ripple jännite olla ok vai pitäisikö tuonne luotettavuuden puolesta tehdä vielä jotain muuta virransyötön osalta?
     
  29. Monologi

    Monologi

    Viestejä:
    2 763
    Rekisteröitynyt:
    17.10.2016
    Esp8266 vaikuttaa samanlaiselta virtasyöpöltä ja on epävakaa ilman sopivia konkkia eli 1000uF elko ja kerko "104" 0,1uF plussan ja maan välille. Itse asiassa mulla on sääasemassa vain elko 470uF ja tuo kerko "104".


    Sveitsiläinen tapaus oli laittanut tonnisen tantaalin.
     
  30. Lassivv

    Lassivv Tukijäsen Team H2O

    Viestejä:
    799
    Rekisteröitynyt:
    12.02.2017
    Kiitoksia vinkistä. Tänään löysin edellisen tilauksena jäminä Panasonicin 1000uf 10v konkkia ja pussin 334 kerkoja. Ei nyt osu juuri noihin spekseihin, mutta nuo plus tuo edellä mainittu TC1262 regu saa nyt hoitaa virransyöttä katotaan miten pärjäävät :)
     
  31. Rullakebab

    Rullakebab

    Viestejä:
    511
    Rekisteröitynyt:
    18.10.2016
    Saakohan tampereelta jostain haettua dht22 järkihintaan?
    Bebekin haku ei ainakaan anna mitään, prkl luulin että tilasin sen muun romun mukana mutta luulo ei ollut tiedon väärti eikä tässä vaiheessa nappais odotella paria viikkoa kiinasta.
     
  32. jkaart

    jkaart

    Viestejä:
    561
    Rekisteröitynyt:
    18.10.2016
    Hämeenlinnassa näyttäs olevan robomaa joka myyp DHT11 anturia.
     
  33. MiTu

    MiTu

    Viestejä:
    15
    Rekisteröitynyt:
    18.10.2016
    Tilasin itse tuollaisia noitten kanssa:

    Socket Adapter plate Board for 8Pin NRF24L01+ Wireless Transceive module CHCA | eBay
     
  34. velleri

    velleri

    Viestejä:
    386
    Rekisteröitynyt:
    31.12.2016
    Lassi, millä nokian paskalaturilla moista syötät? Ei siellä pitäisi moista rippeliä olla, jos laturi ei ole ihan karmeinta kuraa...

    334 ei kerro mitään muuta, kuin kapasitanssin nollassa voltissa. Paskakerkoissa ei ole kapasitanssia juuri lainkaan jännitekeston rajamailla.
     
  35. Tomak89

    Tomak89

    Viestejä:
    301
    Rekisteröitynyt:
    24.02.2017
    Pelkkä nrf24 ottaa itsessään 20-50mA välillä. Onko sulla sellainen nrf24-moduuli, jossa on lisävahvistin? (yleensä nimellä PA+LNA -moduuli, ulkoinen antenni)
    Ne saattaa nimittäin ottaa piikkejä ihan tosissaan. Niille kannattaa melkein laittaa regu ja iso konkka moduulin jalkoihin kiinni. Ja jos usbista otat käyttöjännitteet 5V:lle (arduino tai vastaava), niin se saattaa olla kans ongelma. Ite oon usein noiden PA-moduulien kanssa pistänyt ulkoisen powerin, niin yleensä on lähtenyt toimimaan huomattavasti kivuttomammin. Monissa kiina-arduinoissa on 1A 3.3V regu, jonka pitäis riittää.
     
  36. Lassivv

    Lassivv Tukijäsen Team H2O

    Viestejä:
    799
    Rekisteröitynyt:
    12.02.2017
    Mahtaisiko jollain olla hyvää vinkkiä millä saisi tälläisen yksinkertaisen toiminnon toteutumaan. Tällä hetkellä jostan syystä slave laite ottaa kerran tuon käskyn vastaan ja sitten nollaantuu. Joskus toimii ok.

    master code (määrittää slavelle yksinkertaisesti numero arvot modeNumber, brighNumber, colorNumber ja lähettää ne slavelle)
    Koodi:
     String stringMessage = "";
     String stringStart = "<";
     String stringComma = ",";
     String stringStop = ">";
    
    // Lähetetään data Arduino Due:lle Slave
    
    void serial_write_master() {
    
    if(xlastModeNumber == modeNumber && xlastBrighNumber == brighNumber && xlastColorNumber == colorNumber){previousMillis = currentMillis;}
    
    else
    {
        if(currentMillis - previousMillis >= interval)        // tehty siihen ettei aja serialin puskuria jumiin vaan saa nopeemmin kirkkauden muuttumaan potikkaan.
        {
          
              
              
                stringMessage =  String(stringStart +  modeNumber + stringComma + colorNumber + stringComma +  brighNumber + stringStop);
              
                Serial3.print(stringMessage);
                Serial.println(stringMessage); // debugging
              
                xlastModeNumber = modeNumber;
                xlastBrighNumber = brighNumber;
                xlastColorNumber = colorNumber;
        }
    
    }
    //Serial.println(currentMillis - previousMillis);
    
    }
    
    Slaven koodi Ottaa vastaan numerot ja sitten vaan käyttää niitä hallitsemaan ledejä.
    Koodi:
    const byte numChars = 32;
    char receivedChars[numChars];
    char tempChars[numChars];        // temporary array for use when parsing
    
    
    boolean newData = false;
    
    void serial_read_parse() { // Luetaan tieto muodossa <2,12,222> (eka mode, sitten väri ja lopuksi kirkkaus)
    recvWithStartEndMarkers();
      if (newData == true) {
         strcpy(tempChars, receivedChars);
         // this temporary copy is necessary to protect the original data
         //   because strtok() used in parseData() replaces the commas with \0
         parseData();
         showParsedData();
         newData = false;
      }
    }
    
    void recvWithStartEndMarkers() {
        static boolean recvInProgress = false;
        static byte ndx = 0;
        char startMarker = '<';
        char endMarker = '>';
        char rc;
    
        while (Serial3.available() > 0 && newData == false) {
            rc = Serial3.read();
    
            if (recvInProgress == true) {
                if (rc != endMarker) {
                    receivedChars[ndx] = rc;
                    ndx++;
    
                }
                else {
                    receivedChars[ndx] = '\0'; // terminate the string
                    recvInProgress = false;
                    ndx = 0;
                    newData = true;
                }
            }
    
            else if (rc == startMarker) {
                recvInProgress = true;
            }
        }
    }
    
    //============
    
    void parseData() {      // split the data into its parts
    
        char * strtokIndx; // this is used by strtok() as an index
    
        strtokIndx = strtok(tempChars, ",");     // get the first part - the string
        ModeFromMaster = atoi(strtokIndx);     // convert this part to an integer
    
        strtokIndx = strtok(NULL, ","); // this continues where the previous call left off
        ColorFromMaster = atoi(strtokIndx);     // convert this part to an integer
    
        strtokIndx = strtok(NULL, ",");
        BrighnessFromMaster = atof(strtokIndx);     // convert this part to a float
    
    }
    
    //============
    
    
    void showParsedData() {
        Serial.print("Message ");
        Serial.println(ModeFromMaster);
        Serial.print("Integer ");
        Serial.println(ColorFromMaster);
        Serial.print("Float ");
        Serial.println(BrighnessFromMaster);
    }
    

    Joku mahd yksinkertainen koodi pitäisi hommaan keksiä kun ei tosiaan tarvitse lähettää kun 3erillistä numeroa tai voihan ne toki olla yksi pitempi numero mikä pätkitään sopivasti. Vinkit otetaan vastaan, virheen tarkituksia yms ei tarvitse ei ole niin kriittinen, pääasia että koodi jäisi mahd yksinkertaiseksi.

    EDIT: Koodi toimi ok mielestäni lyhyemmällä johdolla, pitemmällä suojatulla johdolla tuli tämä esille että kun lähettää masterilta tuon koodin slave ottaa sen oikein vastaan, mutta ns unohtaa/nollaantuu x hetken kuluttua. Välillä taas nykyiselläkin piuhalla laite toimii juuri oikein eli vastaanottaa masterilta käskyn ja jää toteuttamaan sitä ikuisesti kunnes tulee uusi.
     
    Viimeksi muokattu: 17.07.2017
  37. toivosakari

    toivosakari

    Viestejä:
    2
    Rekisteröitynyt:
    17.08.2017
  38. toivosakari

    toivosakari

    Viestejä:
    2
    Rekisteröitynyt:
    17.08.2017
  39. JoniS

    JoniS ???

    Viestejä:
    136
    Rekisteröitynyt:
    28.12.2016
    Eikös tuossa datasheetissä ole jonkun kaltainen kytky? Se kytketään ADC tuloon sinne arduinoon(oisko ne ollut niitä analog in vai mikälie) ja luetaan jännitettä mistä sadaan laskukaavalla, mikä on myös datasheetissä, se oikea arvo.
     
  40. Mävaan

    Mävaan

    Viestejä:
    89
    Rekisteröitynyt:
    18.03.2017
    Datalehdessä on tosiaan kytkentä. Härveli näyttää vaativan myös NTC:n ja jotain jännitettä myös 1-10V.
     
  41. Tomak89

    Tomak89

    Viestejä:
    301
    Rekisteröitynyt:
    24.02.2017
    NTC on laitettu tuohon referenssipiiriin siksi, että samalla mittauksella voidaan lukea kosteus ja lämpötila. Tuossa siis hyödynnetään jännitteenjakoa, eli kun V1 on tunnettu arvo saadaan nuo Rh ja Rt arvot selville, kun mitataan ADC:lla Vo.
    Rt voi tietty olla myös kiinteä vastusarvo. Tällöinkin se Rh arvo saadaan tuosta suhteesta. :)

    Ainoa ongelma mikä voi tulla mittaustarkkuudessa vastaan on tuon sensorin melkoinen resistanssin vaihtelu. Esim. huoneen lämmössä 9.8 Mohmista pariin kilo-ohmiin. Tämä kannattaa ottaa huomioon, ettei riko ADC:ta, kun Arduinon (AVR) ADC tykkää kyttyrää yli 5,5 V jännitteistä.
     
  42. Lahukka

    Lahukka

    Viestejä:
    15
    Rekisteröitynyt:
    26.04.2017
    Onko täällä joku saanut ciao kirjaston toimimaan onnistuneesti?
    Mulla arduino jäätyy heti kun ciao.begin() tapahtuu...

    Koodi:
    #include <Ciao.h>
    
    void setup() {
        //init Ciao and LCD
        Ciao.begin();
        Serial.begin(9600);
    }
    
    void loop() {
        delay(2000);
    
        //Read file from lininoOS
        CiaoData data = Ciao.read("file","/root/sample.txt");
        if(!data.isEmpty()){
    
            //extract data from Ciao
            String message = data.get(2);
    
            //Print message via serial
            Serial.println(message);
        }
        //Delay the operations because IO is slow
        delay(2000);
    }
    sample.txt
    Koodi:
    Ciao Arduino!
    /usr/lib/python2.7/ciao/connectors/file/file.json.conf
    Koodi:
    {
        "name" : "file",
        "description" : "File System connector for Ciao",
        "authors": ["Arduino Team <swdev@arduino.org>"],
        "repository" : "https://github.com/arduino-org/Ciao",
        "version" : "0.0.1",
        "params" : {
            "root" : "/root",
            "eol" : "\n",
            "read_line" : false,
            "read_max_size" : 1024,
            "default_write_access_mode" : "w",
            "name" : "file",
            "enabled" : true,
            "type" : "managed"
        },
        "log" :{
            "level" : "info"
        }
    }
    arduino-library-ciao/FileRead.ino at master · arduino-org/arduino-library-ciao · GitHub

    Ciao on asennettu Arduino OS kautta, alustana TIAN.
     
    Viimeksi muokattu: 30.08.2017
  43. Monologi

    Monologi

    Viestejä:
    2 763
    Rekisteröitynyt:
    17.10.2016
    OT: Kattelin TIAN-alustan hintaa niin jotain 100 dollaria.:btooth: Koulussako noita käytetään?
     
    Viimeksi muokattu: 31.08.2017
  44. htwt

    htwt

    Viestejä:
    15
    Rekisteröitynyt:
    15.06.2017
    Miten saan PID säädön toimimaan veneen ohjauksessa kun sen takaisinkytkennästä tulee astelukuja kompassilta? Tarkoitan tilannetta kun kompassin lukema hyppää pohjoisen kohdalla nollasta 359 asteeseen ja päinvastoin, kääntymissuunnasta riippuen.

    Suunnittelen yksinkertaista autopilottia veneeseen. PID säätö arduinolla ja kompassiksi olisi tarkoitus tilata BNO055.

    Edit: Itselleni vastaten laitan linkin vastaukseen jonka löysin. Jos siitä on jollekkin muulle apua...

    loop input to a PID controller
     
    Viimeksi muokattu: 08.09.2017
  45. xtomppax

    xtomppax

    Viestejä:
    243
    Rekisteröitynyt:
    18.10.2016
    Tyhmälle neuvoja. projektina on tällänen. http://rr-m.org/blog/wp-content/upl...o_thrustmaster_wheelbase_wiring_1633x1200.jpg

    Eli kun avaan tuon tx_rw_ferrari_458_wheel_emu_16buttons.zip tiedoston, niin pitääkö siinä tehdä mitään muuta kuin varmistaa ja lähettää. Kolvaukset on tarkistettu sataan kertaan jo, oikea portti on valittu, korttina valittuna nano, mitään erroreita ei tule.... Mutta ei vain lähde toimimaan. Eli onko nämä ebayn kiinan ihmeet valmiiksi rikki.

    Eli tälläseen vehje kyseessä Nano V3.0 Mini USB ATmega328 5V 16M Micro-controller Board CH340G Arduino Cable | eBay
     
  46. MiTu

    MiTu

    Viestejä:
    15
    Rekisteröitynyt:
    18.10.2016
    Kyllä nuo ihmeesti ovat yleensä toimineet... Mikä tuossa pistää silmään on että 5v nanoa pyöritetään 3.3v käyttiksellä, josta tulee mieleen että bod haluaa enempi tai tolla jännitteellä esim 16mhz kello vaan on liikaa.

    Lataa siihen nanoon joku ledin vilkutin ja kokeile.

    MiTu

    Lähetetty minun TA-1053 laitteesta Tapatalkilla
     
  47. htwt

    htwt

    Viestejä:
    15
    Rekisteröitynyt:
    15.06.2017
    Onko sinulla ollut USB piuha kytkettynä nanoon samaan aikaan kun tuon mini-DIN liitin on kytketty laitteeseen? Usbin 5 volttia voi polttaa 3,3 voltin laittteen. 8 MHz Arduino mini voisi toimia paremmin tuossa.

    Pleikkariinko tuo kytketään?
     
  48. htwt

    htwt

    Viestejä:
    15
    Rekisteröitynyt:
    15.06.2017
    Mikä sen estää?

    Menee vähän ohi ketjun aiheen...

    Varsinkin lineaarikäytössä, mutta myös kytkinkäytössä on tärkeää katsoa, että transistori pysyy aina turvallisella käyttöalueella (SOA), oli sitten kyseessä bipolaari tai fetti. Yksi parhaista feteistä linearikäyttöön on kytkinfetti FDL100N50F . Katso datalehdeltä kuva 9 (Maximum Safe Operating Area). Siitä nähdään, että esim. sadan voltin jännitehäviöllä fetin yli ehdoton maksimivirta on 25 A. Mitoittaessa pitää tietysti ottaa myös jäähdytyksen teho huomioon. Eli SOA kaventuu fetin pintalämpötilan (Tc) noustessa. Maksimiarvoilla kyseinen fetti tuottaa 2,5 kilowattia lämpöä!
     
  49. xtomppax

    xtomppax

    Viestejä:
    243
    Rekisteröitynyt:
    18.10.2016
    Ei ollut, ja tietokoneeseen kytken.
     
  50. hsalonen

    hsalonen

    Viestejä:
    8 215
    Rekisteröitynyt:
    17.10.2016
    Starglazer tykkää tästä.