Arduino - ett alternativ för bl.a signalsyrning?

Boostrar, dekodrar, signaler, m.m. Montering av dekodrar i lok. Datorprogram och programmering.
Användarvisningsbild
daniel
Inlägg: 3549
Blev medlem: 2012-05-08, 10:15

Re: Arduino - ett alternativ för bl.a signalsyrning?

Inlägg av daniel »

Jag ändrar mig. Det finns tydligen olika varianter av Shields och jag är intresserad av Mega-varianten medan LoconetShield verkar vara en mindre variant. Så det är helt okej för mig att köra på LoconetBreadboard.

Sablar också! Det här lär bli dyrt. Jag tittade på Pers länk och hittade den här lilla goa prylen:
http://www.seeedstudio.com/depot/28-tft ... th=132_134

Vi kan nog glömma frakten också. Jag vill ha 10 st LoconetBreadboard och TFT-prylen ovan. Så då är vi uppe i $44 enbart för mig och handlar man för minst $50 så är det fri frakt.

Mvh Daniel
Användarvisningsbild
LLJ
Inlägg: 4297
Blev medlem: 2012-05-08, 10:27

Re: Arduino - ett alternativ för bl.a signalsyrning?

Inlägg av LLJ »

Då lär det bli fri frakt ;-)

/Lars
Användarvisningsbild
jhjelm
Inlägg: 983
Blev medlem: 2012-05-08, 10:29
Ort: Timmele

Re: Arduino - ett alternativ för bl.a signalsyrning?

Inlägg av jhjelm »

Varning angående Displayer m.m. till arduino.

Minnet på arduino är mycket begränsat eller så är det fel på mig.

Jag har försökt att få in nätverk och skärm på samma gång och det vill sig inte.

Det finns liknande produkter med mer minne och även 16 eller 32 bit cpu.

MVH Jonas
Nicke
Inlägg: 833
Blev medlem: 2012-05-09, 02:11

Re: Arduino - ett alternativ för bl.a signalsyrning?

Inlägg av Nicke »

Hej,

Jag är också intresserad av 10 st LoconetBreadboard (de lär väl passa till Proppen också men jag har faktiskt ett Arduino starterkit hemma också, har bar ainte kommit in i C än...)


/Nicke
Användarvisningsbild
daniel
Inlägg: 3549
Blev medlem: 2012-05-08, 10:15

Re: Arduino - ett alternativ för bl.a signalsyrning?

Inlägg av daniel »

Nätverk är mycket krävande. Ett ethernet-paket kan vara 1500 bytes. Sen ska det avkodas vilket kräver ännu mer minne. Så ska man köra ethernet så bör man ha en Arduino med mycket minne. Beträffande skärmen så borde det vara en fråga om hur avancerad grafik man vill ha.

En annan fråga är hur mycket programkod som olika bibliotek tar. Det kan vara så att programbiblioteket för ethernet tar mycket minne och att programbiblioteket för displayen också tar mycket minne och att minnet för programkod blir fullt. Atmel-kretsarna (som sitter på Arduino) har separat minne för data och programkod.

@Jonas: Vilket Arduino-kort, ethernet-kort och display-kort har du använt?

Mvh Daniel
PerEklund
Inlägg: 91
Blev medlem: 2012-05-09, 02:13

Re: Arduino - ett alternativ för bl.a signalsyrning?

Inlägg av PerEklund »

daniel skrev:
PerEklund skrev:Nu måste jag nog lägga in ett par länkar.
10st färdiga kretskort 5x5cm från 10 USD
10st färdiga kretskort 10x10cm från 25 USD
http://www.seeedstudio.com/depot/fusion ... ?cPath=185
Vilka leveranstider pratar vi om?

Mvh Daniel
Lite olika, men en bra rikttid är nog två veckor.

--Per
Användarvisningsbild
FreddePettersson
Inlägg: 773
Blev medlem: 2012-05-09, 02:16
Ort: Värnamo
Kontakt:

Re: Arduino - ett alternativ för bl.a signalsyrning?

Inlägg av FreddePettersson »

Nu blir jag avundsjuk. - jag kan inte koda i dessa programspråk, kan endast viss syntax för ISO kodning via BoschRexroth

Vad kan man hitta en bok eller underlag så man kan lära sig detta som öppnar världen. Jag har ju numer ett CML DTM 30 kort till min nya modul Kristineberg.

Med vänlig hälsning,
Fredrik

Ps. Ser redan ett projekt i framtiden - klockstyrningen till växeln utan att behöva datorn. Men nu får vi köra med den lösning som finns tillsvidare.
Medlem i Värnamo Modelljärnvägsförening
Medlem i FREMO
Medlem i ModulSyd

Bygger modelljärnväg i modulform:
Byggtrådar:
Kristineberg Lastplats område
Endlösa Tråd & Metall - en slutmodul
Kristineberg Västra
Användarvisningsbild
daniel
Inlägg: 3549
Blev medlem: 2012-05-08, 10:15

Re: Arduino - ett alternativ för bl.a signalsyrning?

Inlägg av daniel »

Du behöver inte oroa dig. Programmeringen är ganska enkel och Arduino är gjort för att göra det ännu enklare. Jag har ännu inte skaffat någon Arduino så jag har inte hunnit titta på lämpliga böcker men en vanlig bok för att programmera C kan vara en bra början. Stöter du på problem eller är osäker på något så hjälper vi dig.

Mvh Daniel



Ett exempel på ett enkelt program, hämtat från Arduinos webbsida:
Bild

setup() är en funktion som anropas när processorn går igång. Den konfigurerar Arduino-kortet, t ex vilka I/O som ska vara ingångar och vilka som ska var utgångar.

pinMode(13,OUTPUT) säger att pinne 13 ska vara utgång.

loop() är en funktion som anropas om och om igen så länge processorn är igång. Den gör det roliga arbetet.

digitalWrite(13,HIGH) säger att pinne 13 ska vara HÖG, dvs +5 volt.

digitalWrite(13,LOW) säger att pinne 13 ska vara LÅG, dvs 0 volt.

delay(1000) betyder vänta 1000 millisekunder.
Användarvisningsbild
FreddePettersson
Inlägg: 773
Blev medlem: 2012-05-09, 02:16
Ort: Värnamo
Kontakt:

Re: Arduino - ett alternativ för bl.a signalsyrning?

Inlägg av FreddePettersson »

Okey, kommandon är ganska lika, men varför en massa paranteser och övriga tecken?

Void loop ( void?

Hur hanteras hoppen i loopen, eller snurar alla programslingor runt tills man sätter ett vilkor typ

When pin13,HIGH then
Set pin 24,LOW

Else

Set pin22,Low

Hur skulle dettase ut i riktigt kod?
Medlem i Värnamo Modelljärnvägsförening
Medlem i FREMO
Medlem i ModulSyd

Bygger modelljärnväg i modulform:
Byggtrådar:
Kristineberg Lastplats område
Endlösa Tråd & Metall - en slutmodul
Kristineberg Västra
Användarvisningsbild
daniel
Inlägg: 3549
Blev medlem: 2012-05-08, 10:15

Re: Arduino - ett alternativ för bl.a signalsyrning?

Inlägg av daniel »

Krullparenteser { och } betyder "begin" och "end", dvs början och slutet på ett antal instruktioner.

Parenteserna är ett sätt att tala om för kompilatorn vad som är vad. Kompilatorn är det program som översätter koden till ett språk som mikroprocessorn kan förstå. Inom parenteserna har man parametrar till en funktion. T ex "pinMode(13,OUTPUT)" så är 13 och OUTPUT två parametrar till funktionen pinMode. Om man har tom parentes, dvs () så betyder det att funktionen inte tar några parametrar. Att man alltid anger parenteser är för att kompilatorn ska förstå att det är en funktion.

setup() är alltså en funktion och funktioner kan om man vill returnera ett värde, t ex ett tal. Det som står framför "setup" är vilken typ av värde som returneras. Men i detta fallet så returneras inget värde och då talar man om det genom att ange "void" (tomrum). Annars är det vanligt att man anger "int" som är kortform för "integer", dvs heltal.

En enchipsdator som det är frågan om här har nästa alltid en oändlig loop som kör programmet. För att förenkla för användaren så finns den redan och det är den oändliga loopen som anropar funktionen "loop". Om man inte använder Arduino utan programmerar mikroprocessorn själv så kan det se ut så här:

while (1)
{
loop();
}

"while" betyder att instruktionen efter ska anropas tills vilkoret inom parentesen är falskt. Eftersom vi har krullparenteser så körs hela blocket av instruktioner, i det här fallet anropet till funktionen "loop".
I programspråket C så räknas 0 som falskt och alla tal som är skiljt från 0 som sant. Så "while (1)" blir en oändlig loop. Vill man köra loopen 10 gånger så kan man istället skriva:

int i = 0;
while (i < 10)
{
loop();
i = i + 1;
}

"i" är en variabel av typen "int" (integer = heltal). Så länge "i" är mindre än 10 så körs programraderna inom krullparenteser.

Mvh Daniel
Skriv svar

Återgå till "El, elektronik och programvara"