lauantai 16. maaliskuuta 2013

Itkuhälytin

Skype & Python

Tein lauantai-iltana itkuhälyttimen, joka kuuntelee tietokoneen mikrofonia ja soittaa puhelun Skypellä, mikäli asetettu taso ylittyy. Pythonilla kuunnellaan mikrofonia Pyalsaaudio kirjastolla ja Skypelle tieto välittyy Skype4py kehityskirjaston kautta.

Luonnollisesti; itkuhälyttimeen voi myös soittaa ja Skypessä saa automaattisen vastauksen. Toki kannattaa laittaa asetukset kohdalleen, ettei tietoturvasyistä kuka vain soittele ja kuuntele mitä tapahtuu..

perjantai 1. maaliskuuta 2013

Ulkoinen antenni mokkulaan

Ostin ulkoisen antennin mokkulaan. Aikaisemmin pykäliä 900Mhz:n 3g verkossa oli 1/5, ulkoisen antennin asennuksen jälkeen pykäliä 4/5. Latausnopeus nousi 4-6Mb -> 7-12Mb ja lähetysnopeus 1,5Mb -> 3-4Mb. Erittäin tyytyväinen voi olla koska vaihtoehtona olisi 1Mb kiinteälaajakaista jossa kolminkertainen hinta mokkulaan verrattuna.

Reititin
Huawei B593
Erittäin mukavakäyttöinen 2-usb portilla, 4g:llä ja kahdella ulkoisella antennipaikalla varustettu reititin.

Antenni
www.3g-antennit.fi 
Poynting 3g, 4g antenni. Tulevaisuudessa jos siirryn 4g:n käyttäjäksi, niin toinen samanmoinen antenni katolle. Suosittelen.


maanantai 25. helmikuuta 2013

Fritzing suunnitteluohjelmisto

Alkusanat

Tässä artikkelissa käydään läpi Fritzing nimistä kytkentäkaavio ja piirilevyjen suunnitteluohjelmaa. Fritzing on ilmainen ohjelma ja se on saatavilla Linuxille, Macille ja Windowsille. Ohjelma on todella helppo käyttää, joten se sopii ihan aloittelijoille.Itse olen ainakin ihastunut kyseiseen ohjelmaan, koska se on nopea ja yksinkertainen. Ohjelmassa voi suunnitella ja piirtää myös omia komponentteja ja internetistä löytyy rutkasti lisää paketteja. Tässä oppaassa ei käydä läpi asennusvaiheita koska ne löytyy ohjelman omilta sivuiltakin. Artikkelissa tehdään yksinkertainen Arduinon Shieldi jossa on SD-korttipaikka sekä muutama vastus.

Ohjelma löytyy osoitteesta: http://fritzing.org/

1. Aloitus




Aloitusnäkymä näyttää kutakuinkin tältä. Ohjelman oikeasta reunasta löytyy näyttönäkymä,
josta voi valita "Koekytkentä-", "Kytkentäkaavio-" tai "Piirilevy-" näkymän.



Valikon alapuolella on "Osaluottelo" jossa näkyy saatavilla olevat komponentit. Komponentteja voi lisätä projektiin kaikissa kolmessa näyttötilassa. Hiirellä kiinni halutusta komponentista ja vedetään se haluamalle paikalle.


Osaluettelon alapuolella on "Ominaisuudet" valikko, joka aukeaa aina kun jokin komponentti on valittuna ja tässä ikkunassa voidaan muuttaa komponentin ominaisuuksia.


Tässä on tärkeimmät näin alkuun, mitä tulee tietää.

2. Uuden komponentin lisääminen

Koska tässä oppaassa tarvitaan SD-Korttipaikkaa ja ohjelmasta ei sitä löydy itsestään niin sellainen pitää hakea internetistä ja asentaa. Tämä on helppoa.
1. Mennään osoitteeseen http://code.google.com/p/fritzing/issues/detail?id=875
2. Ladataan sieltä paketti "SD Card Connector.fzpz 6.8 KB" ja tallennetaan se koneelle.
3. Asennetaan paketti Fritzingiin

4.Valitaan paketti joka ladattiin ja ok.

Nyt voimme vetää hiirellä SD-Korttipaikan haluamaamme kohtaan koekytkentälevyä.


3. Arduinon lisääminen



Lisäämme Arduinon joka löytyy "Core Parts" ja "Microcontroller". Jos käymme tässä vaiheessa katsomassa "Piirilevy näkymää" (PCB), niin huomaamme että lisäämämme Arduino esiintyy nyt Arduinon Shieldin tavoin. Eli kun teemme piirilevyn niin se sopii suoraan Arduinon päälle, aivan kuten shieldit.


4. Johdotus

Johdottaminen tapahtuu painamalla haluttua pistettä esim. Arduinon pinniä ja vedetään hiirellä haluttuun paikkaan ja päästetään irti. Johtimien väriä voi vaihtaa painamalla johtimen päällä hiiren oikeaa ja valitsemalla "Wire color" ja haluttu väri. Värejä kannattaa käyttää helpottaakseen lukua. Johtoja voi muotoilla painamalla hiiren vasenta johtimen päällä ja vetämällä sen eri kohtaan.
Alla kuva johdotus esimerkistä:


Kuten huomaat olen lisännyt jo kolme vastusta koekytkentälevylle. Kaikkia komponenttejä voi pyörittää haluamaansa asentoon "Rotate" napista. Kun pitää hiiren vasenta painiketta pohjassa, näkee keltaisilla täplillä mitkä johtimet ovat kytköksissä toisiinsa.
Viimein lisätään kolme vastusta lisää ja muutama johdin ja kytkentä onkin valmis. Yhtä helppoa kuin johdottaminen fyysisellä koekytkentälevyllä.


5. Piirilevyn suunnittelu

Kun kytkentä on valmis, voidaan suunnitella itse piirilevy. Eli näyttönäkymästä (PCB). Komponentit ovat nyt hujan hajan, eli ensimmäisenä lähdetään siirtelemään komponentteja raahaamalla ja kääntelemällä ne halutuille paikoilleen. (SD-Korttipaikassa taitaa olla vikaa kun sitä ei voi liikuttaa; no liikutetaan muut oikeille paikoilleen) Kun komponentit on mielestään oikeilla paikoilla voi käyttää "Autoroutea" tai valita kumpaan "ylä- vai alapuolelle" piirilevyä piirretään. Jos tehdään yksipuolinen levy, niin valitaan vain toinen puolista, jonka jälkeen hiirellä vetämällä, piirretään reittejä.



Tässä artikkelissa ei panosteta niinkään ulkonäköön eikä suorimpiin reitteihin, vaan ylipäätään kuinka tehdään, joten käytämme "Autoroutea". Autorouten jälkeen lisäämme piirilevylle vielä kuparitäytteen ettei tarvitse niin paljon syövyttää ylimäärästä kuparia pois.
Ylävalikosta "Routing -> Ground Fill -> Copper Fill"


6. Exporttaus

Jokaisessa näyttönäkymässä voidaan "Exportata" näkymää ulos. Vaihtoehtoja on monia.. Mutta tässä tärkeintä onkin saada valmis piirilevy paperille. Kun olemme (PCB) näkymässä painetaan "Export for PCB" alareunassa olevaa mustaa nuolta ja valitaan haluttu muoto. Tämän jälkeen valitaan kansio johon ohjelma tallentaa kaikki kuvat tai gerberit mitä tarvitaan piirilevyn tekoon.


Loppusanat

Tämä ohjelma on niin helppo käyttää että varmasti kuka vain oppii piirtämään piirilevyjä. Tässä artikkelissa ei paneiduttu ollenkaan piirikaavioon, mutta jokainen voi itse harjoitella sen käyttöä. Ohjelma noudattaa tuttua kaavaa jokaisessa eri näyttötilassa, joten jos yhden sisäistää, sisäistää kaiken. Kuten moni on varmaan huomannut että Arduinon kotisivuilla ja monilla muilla sivuilla on käytetty kyseistä ohjelmaa koekytkentäkuvien luomiseen.

Piirilevyn valimistaminen tulostamalla


Alkusanat

Tässä artikkelissa käsitellään piirilevyn valmistamista tulostamalla piirilevy valokuvapaperille, jonka jälkeen se silitetään silitysraudalla piirilevyn pintaan ja syövytetään. Lopuksi lisäämme piirilevylle kalvon joka suojaa hapettumiselta ja antaa ammattimaisen lopputuloksen.

Työvälineet

Työvälineitä on tarvitsee aika paljon, toki kaikki ei aina ole ihan välttämättömiä. Parhaaseen lopputulokseen tarvitsee hieman harjoittelua ja voi olla että kaikki käyttämäni menetelmät eivät ole niitä parhaita.
Käyttämäni työvälineet:
    Kuparilevyä
    Asetoonia ja esim. jäänestoainetta
    Laser-tulostin
    Valokuvapaperia
    Piirtoheitinkalvoa
    Laminointikone
    Silitysrauta
    Hiomapaperia
    Soodaa (ruokasoodaa)
    Suojahanskat ja lasit
    Natriumpersulfaatti
    Dry Film Photoresist Sheets for DIY PCB (ebaysta)

1. Piirilevyn puhdistus

Tämä on hyvin tärkeä vaihe, jotta tulostusväri tarttuu piirilevyn pintaan kunnolla. Elikkä hiotaan piirilevyn pintaa kevyesti jotta piirilevystä tulisi kiiltävä ja varastointirasva lähtisi kunnolla pois. Hionnan jälkeen pestään levy paperilla ja jäänestoaineella. (jäänestoaine on >97% isopropanoolia)


2. Tulostus ja silitys

Seuraavaksi tulostetaan valokuvapaperille piirilevynkuva ja piirtoheitinkalvolle padsit ja viasit. Leikataan tulostettu piirilevynkuva sopivankokoiseksi ja asetetaan se piirilevynpäälle. Laitetaan silitysrauta täysille ja painetaan voimakkaasti silitysrautaa noin 40 sekuntia, jonka jälkeen silitysraudan kulmalla painellaan vielä koko piirilevyn kuva kauttaaltaan.


kokemuksesta on tullut huomattua että sitä silittää yleensä liian vähän aikaa ja kuva ei tartu kauttaaltaan. Kokemus tähän opettaa ja mikäli epäonnituu niin asetoonilla levy puhtaaksi ja uudestaan silittämään.


3. Tulostuspaperin liotus

Silityksen jälkeen annetaan levyn jäähtyä rauhassa ja asetetaan se puhtaaseen lämpimään veteen ja annetaan paperin vettyä muutaman minuutin. Sitten aletaan repimään paperia pois piirilevyltä ja katsotaan tulos. Levyä voi hinkata sormella ja hammasharjalla, jotta koko paperi lähtee pois.


lopputulos voi näyttää kutakuinkin tältä:


muutama pieni virhe tuli, mutta ei haittaa minua 8-)


4. Syövytys

Syövytykseen käytin natriumpersulfaattia. Aine tulee lämmittää ensin 45-50 asteesen, jolloin syövytysaika jää alle puoleentuntiin. Piirilevy astiaan ja välillä vähän pensselillä sutia.4


lopuksi kun piirilevy on kunnolla syöpynyt niin putsataan levy asetoonilla, jolloin jää puhdas kuparipinta.


5. Kalvon asennus

Seuraavaksi sulatamme kalvon piirilevyn pintaan. Ostamani kalvo on kolmikerroksista (suojakalvo, itse kalvo ja suojakalvo). Suojakalvot poistetaan yksitellen, eli kaksi teipinpalasta liimataan molemmille puolille kalvoa ja teipeillä irrotetaan ensimmäinen suojakalvo. Sitten kalvo asetetaan piirilevynpäälle, teipillä yhdestä reunasta kiinni ja laminointikoneeseen. Tämän jälestä teipillä poistetaan päälimmäinen suojakalvo ja asetetaan piirtoheitinkalvo piirilevynpäälle. Muutama minuutti auringonvaloa tai uv-lamppujen alle.



6. Tinauspisteiden putsaus

Lopuksi putsaamme tinauspisteet soodalla. Käytin itse ruokasoodaa koska ei muuta kaapista löytynyt. Eli ruokasoodaa lämpimään veteen, piirilevy uimaan ja pensselillä pyyhkimään. Lopputulos näyttää kutakuinkin tältä:



7. Loppusanat

Noin tuli piirilevy valmiiksi. Yksi johdin on poikki, muuten kaikki onnistui. Huomasin johtimen olevan poikki jo ennen syövytystä, mutta sallin itselleni sen virheen. Kohtuu helposti pääsee mukavan näköiseen tulokseen. Tämä oli itsellenikin ensimmäinen kerta kun valmistin piirilevyn kyseisellä tyylillä. Taidan jatkossakin valmistaa näin.

perjantai 22. helmikuuta 2013

Arduino WYSIWYG

Aloitin tekemään Arduino WYSIWYG ohjelmaa, jolla voi ohjata Arduinon lähtöjä reaaliajassa. Tarkoituksena olisi tehdä ohjelmasta sellainen, että sillä voisi nauhoittaa toimintoja. Eli kutakuinkin näin
  1. Ladataan ohjelmakoodi Arduinoon joka hoitaa kommunikoinnin
  2. Käynnistetään nauhoitus
  3. Mikäli jokin tilatieto muuttuu, käyttäjältä kysytään miten edetään (muutetaanko lähtöjen arvoja, käynnistetäänkö ajastin tms...)
  4. Ohjelma luo automaattisen koodin joka lopulta lähetetään Arduinoon
Tämänjälkeen Arduino toimii Standalone, eli ilman tietokonetta ja noudattaa hänelle etukäteen nauhoitettua kaavaa.

Mitä tällä tekee??
Mikäli ei osaa minkäänlaista ohjelmointia niin tällä voi toteuttaa jotain pienimuotoista. Monesti omalla kohdalla on jokin yksinkertainen lämpötilan säätö tms. niin tällä ohjelmalla se suoriutuisi alle minuutissa. Toivottavasti motivaatiota ja aikaa vain riittää. 

Tässä pieni video ohjelman käyttöliittymästä:


Ohjelmointikielenä on luonnollisesti Gambas3, joten Windows versiota ei ole tulossa.

Oma pilvipalvelin

Miltä kuulostaa oma pilvi, jossa jakaa tiedostot, kuvat, musiikin yms. kaikkien omien laitteiden kesken vaivattomasti? Päätin kokeilla ownCloud ohjelmaa, joka löytyy open sourcena http://owncloud.org/ sivuilta. Mikäli omistat serverin, tai kotisivutilaa jossa on PHP ja MySQL, niin kannattaa kokeilla. Ohjelman asentaminen on vaivatonta sekä ohjelman sivuilta löytyy Clientti ohjelmat, jotka saa asennettua yleisimmille käyttöjärjestelmille (Linux, Mac, Win, Android).

Tiedostojen siirtäminen pilveen on automaattista ja vaivatonta, client ohjelmalla.

luonnollisesti pilveä voi käyttää suoraan selaimessa, joten se on alustariippumaton. Musiikkia voi kuunnella suoraan streamattuna, joten kappaleita ei tarvitse ladata jokaiselle koneelle ja alustalle. Huippua. Suosittelen!

Arduino, RasPI ja Gambas3

Alkusanat

Tässä artikkelissa opetetaan kuinka tehdään Raspberryyn graafinen ohjelma, jolla luetaan ja lähetetään tietoa Arduinolle. Grafiikkapuolta hoitaa Gambas3 joka muistuttaa hyvin pitkälti Visual Basic 6:sta. Gambasia ei ole saatavilla Windowsille, joten ne joilla ei ole omalla koneella Linuxia, joutuvat ohjelmoimaan suoraan Raspberryssä. Artikkelissa rikotaan vain jäävuoren huippua, mutta toivottavasti tästä on jollekkin hyötyä. Arduino sekä Gambas3 ohjelmat kirjoitan PC:llä sekä ohjelmoin Arduinon. Nämä toki voi suorittaa RPI:lläkin mutta tässä artikkelissa ei käsitellä Arduino Iden asentamista RPI:lle.

Artikkelilin ymmärtämiseksi on hyvä että osaat vähän ohjelmoinnin perusteita. Osaat ajaa ohjelman Arduinolle, sekä osaat käynnistää Raspberryn. Toki kaiken voi suorittaa ilman RPI:tä, mikäli tietokoneellasi on Linuxin käyttöjärjestelmä.


Laitteisto

-Raspberry Pi (minun tapauksessa 256Mb)
-jokin näyttö
-Arduino Uno ja USB kaapeli
-2x Potikka 10K
-Vastus ja ledi
-Hyppyjohtoja
-USB näppis ja hiiri


Aloitus

Gambas3 löytyy Debianin paketeista RPI:stä suoraan, mutta mitä olen intternettiä lukenut, niin siinä on jotain ongelmia kansioiden sijoittelussa tai jotain. No ei siitä sen enempää. Netistä löytyy suoraan käännetty versio jossa on Gambas3 valmiiksi asennettuna, joten käytämme sitä.

http://dl.dropbox.com/u/97096067/2012-07-15-wheezy-gambas3.zip

Asennamme imagen muistikortille ohjeet löytyy Ruuvipenkistä http://www.ruuvipenkki.fi/foorumi/viewtopic.php?f=15&t=682
Nyt meillä pitäisi olla toimiva versio jossa on Gambas3 valmiiksi asennettuna. Ensimmäisellä käynnistyskerralla kirjaudutaan sisään (pi, raspberry) ja käynnistetään x
startx



Arduino

Teemme Arduinoon yksinkertaisen kytkennän, johon lisäämme kaksi potentiometriä, sekä yhden ledin. Näin ollen pystymme fyysisesti toteamaan ohjelman toiminnallisuuden.


Koodi: 
void setup()
{
 
  Serial.begin(9600);          //  serialin asetukset
  pinMode(2, OUTPUT);          //  Ledin pinni outputiks
  digitalWrite(2, LOW);        //  Ledi alas

}

void loop()
{
   int data;                   // data muuttuja serialille

if (Serial.available()) {     // jos seriali on saatavilla
    data=Serial.read();        // data muuttujaan serialilta tieto

  if (data==49){               // jos saapuva data on 1 keyascii 49
      digitalWrite(2, HIGH);   // Ledi päälle
  }
    if (data==48){             // jos saapuva data on 0 keyascii 48
      digitalWrite(2, LOW);    // Ledi pois päältä
  }

  data=0;                      // kun seriali on lukenut data=0

}
 
 
  Serial.print("POT1A");       // lähetetään serialiin "POT1A"
  Serial.print(analogRead(0)); // lähetetään serialiin A0:n arvo
  Serial.print("F");           // lähetetään serialiin lopetus "F"
  Serial.print("POT2A");       // lähetetään serialiin "POT2A"
  Serial.print(analogRead(1)); // lähetetään serialiin A1:n arvo
  Serial.print("F");           // lähetetään serialiin lopetus "F"
 
  delay(100);                  // viive jotta seriali pysyy perässä
 
}


Tutkitaan hieman koodia:
if (data==49){
Mistä tämä 49 oikeen muodostuu? Se on KeyAsciita. Eli Gambas lähettää numeron 1 joka muutetaan KeyAscii muotoon ja siitä tulee 49. Kaikki merkit löytyvät osoitteesta: http://www.asciitable.com/
Serial.print("POT1A");
Miksi lopussa iso "A"? No tämä voisi olla vai "x" tai mikä tahansa merkki. Tämä kuitenkin siksi että se helpottaa Gambas koodia. Seriaalista tuleva tieto on kirjoitettu yhteen pötköön, niin Gambas tietää että kun tulee iso "A" niin seuraavaksi tulee anturin arvo.
Serialissa liikkuu tämännäköistä tietoa: POT1A453FPOT2A678FPOT1A443FPOT2A578F....
Serial.print("F");
"F" lähetetään Serialiin niin Gambas tietää milloin anturin arvo on luettu loppuun asti.


käännetään ohjelma ja ajetaan se Arduinoon PC:n avulla.

Gambas


Käynnistämme Gambasin, jonka jälkeen vasemmalta "New project.." avautuu seuraavanlainen näkymä

Gambas aloitus

Valitaan "Qt graphical application" ja painetaan "Next", valitaan kansio johon ohjelma luodaan ja painetaan "Next", lopuksi annetaan ohjelmalle nimi ja vielä "Ok"

Gambas3 perusnäkymä

Tässä on kuvattu tärkeimpiä kohteita ohjelmasta. Tässä artikkelissa ei opeteta Gambas ohjelmointia muutakuin vaadittavan verran, jotta esimerkin pystyy toteuttamaan.

1. Seriali kirjaston lisääminen


Ensimmäiseksi tarvitsemme kirjaston jolla käsitellään Serialia. Tässä kirjastossa on muutakin, mutta tarvitsemme vain sarjaporttia. Tämä löytyy yläpalkista "Project -> Properties.."


gb.net

Selataan listaa ja laitetaan ruksi kohtaan "gb.net". Nyt meillä on kirjasto käytössä.

2. Graafinen käyttöliittymä

Formia voi venytellä haluamansa kokoiseksi, samoin yleensä kaikkia komponenttejä. Lisätään Formille kolme Buttonia eli nappia sekä kaksi LCDNumberia. Komponenttien lisääminen tapahtuu ihan hiirellä vetämällä ja pudottamalla Formille. Clikataan Ensimmäistä LCDNumberia ja muutetaan sen arvoa "Digits" ja annetaan arvoksi 4, koska Arduinolta saatava potentiometrin tilatieto on maksimissaan neljä numeroa eli 1023. Tehdään sama toiselle LCDNumberille. Buttoneiden tekstejä voi muuttaa klickaamalla haluttua nappia ja muuttamalla arvoa "Text".

komponenttien nimet

Lopuksi lisäämme Formille "SerialPort1":n.

Seriali

Nyt käyttöliittymä on valmis.
3. Ohjelmakoodi

Ohjelmakoodi on alla. Sen voi kirjoittaa Gambasiin kun tuplaclikkaa jotain komponenttia formilla, tai painaa formin yläpuolella olevaa valkoista nappia, jossa lukee "Code" kun hiiren cursorin vie sen päälle. Pyyhi valmiiksi tullut koodi ja kopio koodi alapuolelta. En rupea Iden käyttöä käymään tässä läpi tarkemmin. En tiedä onko Gambasista kirjoitettu mitään suomenkielistä opasta, mutta Visual Basic 6 löytyy ainakin ja niillä pääsee aika pitkälti alkuun. Muutamia eroavaisuuksia toki on mutta niistä lukee ohjelman kotisivuilla.
Koodi:
' Gambas class file

Public Luettu As String       'Muuttuja

Public Sub SerialPort1_Read() 'Kun Serialportti lukee se suorittaa kyseisen function

  Dim Kirjain As String       'Luettu kirjain Serialista
  Dim Katkottu As New String[] 'Taulu johon kirjaimet luetaan, tauluja on niin monta kuin Arduino lähettää
 
  Read #SerialPort1, Kirjain, 1 'Luetaan kunnes ei ole mitään luettavaa
  If Kirjain <> "F" Then 'niin kauan kunnes tulee F joka tarkoitti että tulee seuraavan anturin tieto
    Luettu &= Kirjain 'lisätään Luettu muuttujaan Kirjain muuttujan arvo
  Else
    Katkottu = Split(Luettu, "A") 'katkotaan Luettu A:n kohdalta
   
    If Katkottu[0] = "POT1" Then ' jos kyseessä on POT1
     
      LCDNumber1.Value = Val(Katkottu[1]) 'Asetetaan LCDNumber1 valueksi arvo joka saatiin arduinolta
     
    Endif
   
     If Katkottu[0] = "POT2" Then
     
      LCDNumber2.Value = Val(Katkottu[1])
     
    Endif
   
    Luettu = "" 'Tyhjennetään Luettu
  Endif
 
End



Public Sub Yhdista()
  'tämä functio hoitaa Arduinon yhdistämisen
  '
  If SerialPort1.Status = Net.Active Then 'Mikäli yhteys on jo muodostettu
    Close SerialPort1 'suljetaan yhteys
  Else 'muuten hoidetaan yhteys kuntoon
    SerialPort1.portname = "/dev/ttyACM0" ' osoite jossa Arduino sijaitsee
    SerialPort1.Speed = 9600
    SerialPort1.parity = SerialPort.none
    SerialPort1.databits = SerialPort.Bits8
    SerialPort1.StopBits = SerialPort.Bits1
    SerialPort1.FlowControl = SerialPort.none
    Try SerialPort1.Open() 'yritetään avata yhteys
    If Error Then Message.Error("Ongelmia yhdistäessä laitteistoon") 'jos ei onnistu annetaan virhe
  Endif
 
End


Public Sub Arduino(viesti As String)
'Tällä functiolla lähetetään tietoa Arduinolle
Try Print #SerialPort1, viesti 'lähetetään tietoa serialille
If Error Then 'jos virhe
Message.Error("Viestin lähettäminen ei onnistunut") 'tulostetaan virhe
Endif

End

Public Sub Button1_Click()
'kun Button1 clicataan, niin tämä koodi suoritetaan
  Arduino("1") 'kutsutaan functiota Arduino ja lähetetään viesti 1
  'joka Arduinonkoodissa tarkoittaa että sytytetään led

End

Public Sub Button2_Click()
'kun Button2 clicataan, niin tämä koodi suoritetaan
  Arduino("0") 'kutsutaan functiota Arduino ja lähetetään viesti 0
  'joka Arduinonkoodissa tarkoittaa että sammutetaan led

End

Public Sub Button3_Click()
Yhdista 'suljetaan yhteys
    Quit 'suljetaan ohjelma
End


Public Sub Form_Open()
'tämä koodi suoritetaan kun formi käynnistyy
Sleep 1 'odotetaan sekuntti
  Yhdista 'yhdistetään seriali

End

Public Sub Form_Close()
  'tämä koodi suoritetaan kun ohjelma suljetaan ruksista
   Yhdista 'suljetaan jos yhteys on päällä
 
End

Olen kommentoinut ohjelmakoodia parhaani mukaan.

4. Ohjelman kääntäminen

Ohjelmaa voi ajaa yläpalkissa olevalla vihreällä nuolella. Seuraavaksi käännämme ohjelman yhdeksi ajettavaksi tiedostoksi. Tämän jälkeen ohjelman voi käynnistää suoraan päättestä.
Ylävalikosta "Project -> Make -> Executable..." Nimi ja ok. Nyt meillä on tiedosto jota voi ajaa ettei Gambasia tarvitse käynnistää.


5. Kopio

Kopioidaan kansio, jonka alussa loimme uuden Gambas projektin luomisen yhteydessä ja liitämme kansion Raspberrylle. Tämän voi suorittaa USB muistitikulla tai vaihtoehtoisesti siirtämällä kansio suoraan muistikortille, omaan kotikansioon. Kytketään Arduino USB-kaapelilla Raspberryyn. Ohjelman ajaminen tapahtuu kohdekansiossa päätteellä
Koodi:
./Ohjelmannimi.gambas
tai tiedostojenhallinnassa tuplaclikkaamalla Ohjelmannimi.gambas tiedostoa.

lopputulos

Loppusanat

Mitä tällä voi tehdä? Mahdollisuudet ovat tietysti rajattomat. Gambas tuntuu olevan vielä aika vieras monelle, joten halusin luoda arttikkelin jossa hiukan raapaistaan pintaa ja saisi harrastelijat huomaamaan että graafisen käyttöliittymän tekeminen ei vaadi ihmeitä ja kymmenien rivien kirjoittamista, että saa muutaman napin näytölle. Joten raja on nyt laskettu niin alas kuin mahdollista -> nyt koodaamaan!