Tekstit

5 Hälytinantureita Arduinon kautta Raspberryyn.

Kuva
Arduino on mukava kapistus kun halutaan lukea antureiden tilatietoja. Toki tämä onnistuisi Raspberryllä suoraankin, mutta on rahallisesti eri asia tuhota testailuissa muutaman euron Arduino Nano, kuin usean kympin Raspberry. Kytkennöissä aina pitäisi miettiä vikatilanteetkin, esimerkiksi jos anturin johdot oikosulkeutuu. Tällöin koko Raspberry luonnollisesti sammuu, jos virran syöttö on sen kautta. Eli lopullisessa ratkaisussa Arduinon virransyöttö voisi olla erillisellä kännykän muuntajalla. Haluan kaikki laitteistoni keskenään yhteensopivaksi RS485-väylän kautta, joten päätin asian toteuttaa samalla sanomarakenteella kuin edellisetkin projektit. Kytkentää voi kuitenkin yksinkertaistaa, jos haluaa että Raspberryn ja Arduinon välinen liikenne menee USB-kaapelin kautta. Kykennässä on yksi liiketunnistin ja kaksi kytkintä esittämässä oven magneettikytkintä. Yksinkertaistettu kytkentä: Oletuksena Anturien tulot hälyttää silloin, kun se on HIGH arvossa.Joskus pitäisi kuite

4 LoRa-radiomoduulien testailua

Kuva
LoRa on näppärä tapa siirtää tietoa langattomasti radioteitse. Ebayssa on myynnissä edulliseen hintaan Arduinoon suoraan sopivia LoRa-moduuleita, esimerkiksi SX1276-piirillä. Ilman kunnollista antennia näiden kantomatka jää muutamaan sataan metriin, mutta kokeilussa tämä on vain hyvä asia niin ei vahingossakaan häiritä muita. Kannattaa huomioida että myynnissä on moduuleita usealle eri taajuusalueella ja kaikki niistä ei ole Suomessa sallittuja. Myöskin kannattaa perehtyä Traficomin määräykseen, rajoitteita on esimerkiksi toimintasuhteen osalta. Kokeilu tarvitsee kaksi identtistä kokoonpanoa (tukiasemassa piipparia ei  tarvitse, mutta ei sen kytkeminen toki haittaakaan mitään). Liikenteen periaate on seuraava: LIIKKUVA                  TUKIASEMA >?200<              -->                          <--        >!200< (PIIP) >?400<              -->                          <--         >!400< (PIIP) ------------------------------------

3 LCD-näyttö RS485-väylään

Kuva
Etänäyttö edellisessä kirjoituksessa rakennetulle lämpömittarille. Näiden kahden Arduino-laitteen RS485-moduulien välille tarvitaan pelkästään kaksi johdinta: A-A ja B-B. [vastaanota_rs_485.ino] #include <Wire.h> #include <LiquidCrystal_I2C.h> #include <SoftwareSerial.h> const char omaId = 'M'; //Tämän laitteen tunnus huomaa että '' eikä "" ! const int lahetysPin = 2; //tässä pinnissä RS485-moduulin ohjaus rx/tx LiquidCrystal_I2C lcd(0x27, 16, 2); //Määritellään 2-rivinen LCD-näyttö void setup() { lcd.init(); lcd.backlight(); lcd.setCursor(0, 0); //testataan että näyttö toimii ok lcd.print("ABCDEFGHIJKLMNOP"); lcd.setCursor(0, 1); lcd.print("0123456789012345"); Serial.begin(9600); Serial.setTimeout(50); pinMode(lahetysPin, OUTPUT); digitalWrite(lahetysPin, LOW); } void loop() { if (Serial.available()) { //Jos sarjaportissa on dataa luettavaksi String saapuvaData = S

2 Ensimmäinen projekti: Lämpömittari RS485-väylään

Kuva
Ensimmäisessä projektissa liitetään lämpötila-antureita Arduino Nanoon ja Arduino Nano lähettää RS485-väylän kautta lämpötilatietoja eteenpäin. Tässä vaiheessa ei rakenneta vastaanotinta, mutta dataa voi vastaanottaa tietokoneella käyttäen ensimmäisessä kirjoituksessa mainittua USB-adapteria. Näitä DS1820-antureita voi liittää Arduinolle rinnakkain useita. Tässä esimerkissä on kolme anturia, mutta voi käyttä pienempää tai isompaa määrää. Muuta vain Arduinon ohjelmakoodissa kohtaa: const int anturimaara = 3; Käytännössä virheitä RS485-väylällä tulee hyvissä olosuhteissa olemattoman vähän, jos ollenkaan. Mutta varaudutaan siihen kuitenkin lisäämällä viestiin tarkastussumma, joka kertoo välittyikö viesti oikein. Koska tätä järjestelmää on tarkoitus myöhemmin pikkuhiljaa laajentaa, varaudutaan siihen jo nyt tekemällä sanomarakenteesta seuraavanlainen: Sanoman rakenne: > M B K 123 wk < | | | | |   | | | | | | |   | Loppumerkki | | | | |   Tarkaste

1 Arduino-kehitysohjelmiston asentaminen Ubuntussa

Kuva
Arduinon ohjelmisto ladataan Arduinon sivustolta . Se on saatavana Linuxille (myös Raspberry), MAC:lle ja Windowsille. Ubuntun pakettienhallinnasta se löytyy myös, siellä tosin usein on hieman vanhempi versio. Se kelpaa toki myös. Pakettienhallinnasta Arduino asentuu komentamalla: sudo apt install arduino Kun ohjelmisto on asennettu, kannattaa opetella ensimmäisenä kirjastojen  asennus. Niitä tarvitsee usein, jos tekee hiemankin monimutkaisempaa eikä halua kaikkea kirjoittaa itse alusta alkaen. Arduinossa kirjastojen asennus on helppoa. Valikkoriviltä Sketsi -> Sisällytä kirjasto -> Ylläpidä kirjastoja . Avautuvan ikkunan hakuriville kirjoitetaan mitä ollaan etsimässä ja kun oikea kirjasto on löydetty, klikataan Asenna .

0 Nyymi Nysvää

Kuva
Minulla on komerot täynnä "vähän aloitettuja" projekteja Arduinoon ja Raspberryyn liittyen. Nyt ajattelin, että teen niistä joitakin valmiiksi ja kirjoittelen niistä samalla. En ole ohjelmoija ja sen ehkä koodista huomaa. Minulle saa antaa palautetta, miten joku asia tehdään selkeämmin ja paremmin. Myöskin projektiehdotuksia saa antaa ja kertoa omista projekteista kommenteissa. Käytän projekteissa eri Arduino-versioita, useimmiten Nanoa. Arduinon eri versiot on lueteltu Wikipediassa . Siirtäminen versiosta toiseen on yleensä erittäin helppoa, joten vaikka projekti olisi tehty Nanolle, sen pitäisi toimia pienin muutoksin esimerkiksi Unossa tai Mega2560:ssa. Arduino Nano on pienikokoinen ja muutenkin näppärä, sen huono puoli on se, että ainakin nämä Kiinan kloonit tulee yleensä juottamatta, joten piikkiriman joutuu kortille itse juottamaan. Sen verran siis tarvitaan juotostaitoa. Kun ensimmäinen Arduino on postiluukusta kolahtanut, seuraava vaihe on tietenkin a