Arduino - ett alternativ för bl.a signalsyrning?
Re: Arduino - ett alternativ för bl.a signalsyrning?
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
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
Re: Arduino - ett alternativ för bl.a signalsyrning?
Då lär det bli fri frakt
/Lars
/Lars
FREMO
VMJF - En del av modulsverige
SIH0 - Industrimoduler
BMÅS Livesteam
Byt inte skala - skaffa en till
VMJF - En del av modulsverige
SIH0 - Industrimoduler
BMÅS Livesteam
Byt inte skala - skaffa en till
Re: Arduino - ett alternativ för bl.a signalsyrning?
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
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
Re: Arduino - ett alternativ för bl.a signalsyrning?
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
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
Re: Arduino - ett alternativ för bl.a signalsyrning?
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
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
Re: Arduino - ett alternativ för bl.a signalsyrning?
Lite olika, men en bra rikttid är nog två veckor.daniel skrev:Vilka leveranstider pratar vi om?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
Mvh Daniel
--Per
- FreddePettersson
- Inlägg: 773
- Blev medlem: 2012-05-09, 02:16
- Ort: Värnamo
- Kontakt:
Re: Arduino - ett alternativ för bl.a signalsyrning?
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.
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
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
Re: Arduino - ett alternativ för bl.a signalsyrning?
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:
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.
Mvh Daniel
Ett exempel på ett enkelt program, hämtat från Arduinos webbsida:
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.
- FreddePettersson
- Inlägg: 773
- Blev medlem: 2012-05-09, 02:16
- Ort: Värnamo
- Kontakt:
Re: Arduino - ett alternativ för bl.a signalsyrning?
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?
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
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
Re: Arduino - ett alternativ för bl.a signalsyrning?
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
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