Prata mellan två arduinos
Re: Prata mellan två arduinos
Krille Krokodil: "Och vad kostar det i tid innan man får det att snurra mot sin labplatta?" Med ett adapterkort kan det ta upp emot 30 minuter kanske. Då har man en bendelning på 2,54mm.
Väljer man en DIP kan det ta upp emot 10 minuter...
Väljer man en DIP kan det ta upp emot 10 minuter...
- PHermansson
- EF Sponsor
- Inlägg: 4340
- Blev medlem: 22 december 2004, 00:46:38
- Ort: Särestad Grästorp
- Kontakt:
Re: Prata mellan två arduinos
Sen ska man ju koda för alla sensorer också. Istället för att ladda ned, packa upp och skriva in "include färdigt_lib_med_öppen_källkod_som_någon_annan_redan_skrivit" i sin kod.
Re: Prata mellan två arduinos
Ja vi vet att du hatar Arduino, men hur jäkla svårt ska det vara att fatta att andra gillar det och lägga av med dina nedvärderande namn du kör med hela tiden, det heter Arduino och inget annat. Sluta bete dig som en mupp eller skriv inte alls!
- Electricguy
- Inlägg: 12488
- Blev medlem: 15 augusti 2007, 16:52:14
- Ort: Kälmä' typ..
Re: Prata mellan två arduinos
What he said ^
Förbannat omoget för att komma från en vuxen? man.
Förbannat omoget för att komma från en vuxen? man.
- Krille Krokodil
- Inlägg: 4062
- Blev medlem: 9 december 2005, 22:33:11
- Ort: Helsingborg
Re: Prata mellan två arduinos
Ingår adapterkortet i AVR Mega:n eller AVRISP2:en? Finns Mega 2560 i 100 pinnars DIP?Icecap skrev:Krille Krokodil: "Och vad kostar det i tid innan man får det att snurra mot sin labplatta?" Med ett adapterkort kan det ta upp emot 30 minuter kanske. Då har man en bendelning på 2,54mm.
Väljer man en DIP kan det ta upp emot 10 minuter...
Re: Prata mellan två arduinos
Jag hatar inget! Det överlåter jag till småbarnen.
Jag anser bara att Ardurik är ett dumt sätt att bli fattig på. Jag har ingen som helst problem med att man kan ha det som "leksak" till att lära sig med och att utveckla mindre saker på. Men att som i denna tråd rekommendera att byta upp sig till en annan modell som bara kostar 499:- för att få lite fler pinnar känns mycket magstarkt.
Och hela konceptet med att koppla ihop fler enheter för att få pinnar nog att jobba med visar ganska klart att det är dags att ta en enhet som klarar alla saker i samma krets, helt enkelt för att denna kommunikation kommer att avvika så mycket från det slutgiltiga designen att det "proof of concept" som det ska utgöra blir snudd på värdelöst.
Man kan alltså lösa exakt samma uppgift billigare även då det inkluderar en programmeringsenhet och det "proof of concept" som eftersträvas kan testas under realistiska former.
Är det att hata? Väx upp!
Jag anser bara att Ardurik är ett dumt sätt att bli fattig på. Jag har ingen som helst problem med att man kan ha det som "leksak" till att lära sig med och att utveckla mindre saker på. Men att som i denna tråd rekommendera att byta upp sig till en annan modell som bara kostar 499:- för att få lite fler pinnar känns mycket magstarkt.
Och hela konceptet med att koppla ihop fler enheter för att få pinnar nog att jobba med visar ganska klart att det är dags att ta en enhet som klarar alla saker i samma krets, helt enkelt för att denna kommunikation kommer att avvika så mycket från det slutgiltiga designen att det "proof of concept" som det ska utgöra blir snudd på värdelöst.
Man kan alltså lösa exakt samma uppgift billigare även då det inkluderar en programmeringsenhet och det "proof of concept" som eftersträvas kan testas under realistiska former.
Är det att hata? Väx upp!
- Electricguy
- Inlägg: 12488
- Blev medlem: 15 augusti 2007, 16:52:14
- Ort: Kälmä' typ..
Re: Prata mellan två arduinos
Varför ska man bli fattig på det? Du kan mycket väl köpa lösa processorer, bygga ditt egna kort och bränna in bootloadern själv om du vill. Det har jag gjort. Min hemmasnickrade Arduino kostade mig ca 12kr att bygga. Eftersom att jag hade allt utom µC'n hemma.
ISP programmeraren köpte jag för 40kr på ebay..
Inte det snyggaste på jorden.. Men det funkar kanonbra.
Nej, åter till topic. Sorry för trådkap!
ISP programmeraren köpte jag för 40kr på ebay..
Inte det snyggaste på jorden.. Men det funkar kanonbra.
Nej, åter till topic. Sorry för trådkap!
- Krille Krokodil
- Inlägg: 4062
- Blev medlem: 9 december 2005, 22:33:11
- Ort: Helsingborg
Re: Prata mellan två arduinos
Fortfarande rör det sig om skitsummor i förhållande till vad det kostar i tid att komma igång på en ny plattform. Visst, saknar man pengar, familj, barn, vänner, arbete och alla andra typer av fritidsintressen så kanske ditt resonemang är rimligt...Icecap skrev:Jag anser bara att Ardurik är ett dumt sätt att bli fattig på. Jag har ingen som helst problem med att man kan ha det som "leksak" till att lära sig med och att utveckla mindre saker på. Men att som i denna tråd rekommendera att byta upp sig till en annan modell som bara kostar 499:- för att få lite fler pinnar känns mycket magstarkt.
Re: Prata mellan två arduinos
OK, så WinAVR är okänd och besvärligt? Oj då, jag hade bestämt för mig att det kom en bra bit innan Ardunånting och att den används fortfarande.
Och var det kommersiella intressen i detta hade den plattform varit bortvald illa kvickt. Så kom gärna med argument för Ardunånting men låt bli att skjuta dig själv i foten.
Och var det kommersiella intressen i detta hade den plattform varit bortvald illa kvickt. Så kom gärna med argument för Ardunånting men låt bli att skjuta dig själv i foten.
- Krille Krokodil
- Inlägg: 4062
- Blev medlem: 9 december 2005, 22:33:11
- Ort: Helsingborg
Re: Prata mellan två arduinos
Ja, Win AVR är det betydligt större tidsinvestering för att komma igång med, hade du haft erfarenheten att ha prövat så hade du känt till det.
Oavsett Arduino-modell är det en skitsumma kommersiellt sett om den används för R&D eller i något fåstyckstillverkat. Jag tex kostar 500kkr/år, sitter vid en dator för 50 kkr med en CAD-licens för 200 kkr med ett supportavtal för 30 kkr/år och jobbar för närvarande med ett litet kvalitetsproblem som kostar oss 100 kkr/vecka sedan många veckor tillbaka...
Oavsett Arduino-modell är det en skitsumma kommersiellt sett om den används för R&D eller i något fåstyckstillverkat. Jag tex kostar 500kkr/år, sitter vid en dator för 50 kkr med en CAD-licens för 200 kkr med ett supportavtal för 30 kkr/år och jobbar för närvarande med ett litet kvalitetsproblem som kostar oss 100 kkr/vecka sedan många veckor tillbaka...
Re: Prata mellan två arduinos
NU känner jag att tråden spårat ut helt.
Jag väljer arduino uno för det är det som stöds av den robotplattform jag valt att arbeta med just nu.
ZUMO bot av pololu.
Jag själv bryr mig inte om att det kostar så mkt, jag vet att det inte är kanske det ekonomiskt smartaste.
Men jag väljer att lägga 999 kr på 5 st uno v3,or och så blir det.
I en startfas.
Jag vill börja någonstans med mina kort och måste lära mig allt som har med kodning också.
Denna setup jag kommer börja med gör att jag är igång med en färdig modul på drygt 30 minuter och runt 700 kr/roboten.
Jag lägger i dagsläget mer vikt i att det funkar out of box så att säga.
Skall gå över till ett rent kretskort skapat och ritat av mig för ändamålet.
Men nu får det bli som det blir.
Tråden startade inte som någon tråd som skall ta upp om det är värt det eller inte.
Är bra medveten om att sådana här utvecklings typer som arduino är prismässigt värdelösa.
Men jag kör ändå.
JESSE, skitbra förklarat!
Du gjorde mig klokare och avståndet kommer inte bli mer än 10 cm kabel.
Jag väljer arduino uno för det är det som stöds av den robotplattform jag valt att arbeta med just nu.
ZUMO bot av pololu.
Jag själv bryr mig inte om att det kostar så mkt, jag vet att det inte är kanske det ekonomiskt smartaste.
Men jag väljer att lägga 999 kr på 5 st uno v3,or och så blir det.
I en startfas.
Jag vill börja någonstans med mina kort och måste lära mig allt som har med kodning också.
Denna setup jag kommer börja med gör att jag är igång med en färdig modul på drygt 30 minuter och runt 700 kr/roboten.
Jag lägger i dagsläget mer vikt i att det funkar out of box så att säga.
Skall gå över till ett rent kretskort skapat och ritat av mig för ändamålet.
Men nu får det bli som det blir.
Tråden startade inte som någon tråd som skall ta upp om det är värt det eller inte.
Är bra medveten om att sådana här utvecklings typer som arduino är prismässigt värdelösa.
Men jag kör ändå.
JESSE, skitbra förklarat!
Du gjorde mig klokare och avståndet kommer inte bli mer än 10 cm kabel.
Re: Prata mellan två arduinos
EDIT : Jag förstår att det skulle vara bäst med bara en processor.
Men då jag vill lära mig mer djupgående programmering och göra så flera robotar gör en uppgift enklare tillsammans handlar det mer om programmering än pris och val av plattform.
Om någon hänger med?
Jag tänkte mest bara på skoj ansluta extra sensorer och det gör mig inget om roboten får stanna upp och vänta på datan ifrån mina UART anslutna sensorer.
Som sagt är det kodningen jag ska börja med och därefter bygger ajg ett system anpassat för det hela.
Som sedan skall försökas bli en produkt att sälja i lågskala och i pris av i stort sett noll vinst.
Mest för att dom flesta pcb online sidor skapar minst 50 st, köper man bara 10 får man betala satan.
Bättre med en mindre batch.
Men då jag vill lära mig mer djupgående programmering och göra så flera robotar gör en uppgift enklare tillsammans handlar det mer om programmering än pris och val av plattform.
Om någon hänger med?
Jag tänkte mest bara på skoj ansluta extra sensorer och det gör mig inget om roboten får stanna upp och vänta på datan ifrån mina UART anslutna sensorer.
Som sagt är det kodningen jag ska börja med och därefter bygger ajg ett system anpassat för det hela.
Som sedan skall försökas bli en produkt att sälja i lågskala och i pris av i stort sett noll vinst.
Mest för att dom flesta pcb online sidor skapar minst 50 st, köper man bara 10 får man betala satan.
Bättre med en mindre batch.
Re: Prata mellan två arduinos
Att "behärska" kommunikation mellan fler plattformar är definitivt inte en nackdel! Att det är fel som "pin-expansion" i samma enhet är mer fel i design-frågan men kommunikationen kan likaväl vara via radio eller liknande och där kan "samarbetet" vara mycket värdefullt att kunde.
"Hemligheten" är alltså att använda lite olika saker, mitt sätt är att använda interrupt ganska intensivt.
Viktigast är att kunde skapa kommunikationsblock som är tydligt definierat så att mottagaren kan kolla om det har blivit störningar på vägen. Tänk radiolänk och grannungen på den trimmade moppen med tändningsstörningar.
Detta kan man lösa på fler sätt.
Sedan ska man kunde ta emot data. Är det bara en enda byte är det ju enkelt - men jag känner mig ganska säker på att du kan behöva fler data överförda, alltså behövs en buffer för att samla in alla data innan de kan behandlas.
Mitt sätt är att jag startar en UART Rx-interrupt, där kollar jag den mottagna byten och väljer:
* Är det en STX (Start av block) nollställer jag pekaren som anger var i buffern jag ska lägga byten.
* Är det en ETX (Slut på blocket) aktiverar jag omvandling och kontroll av det mottagna block.
* Är det inget av dessa petas den i buffern om det finns plats.
Men data ska sändas också. Alltså måste det finnas en rutin som kan "bygga upp" dessa kommunikationsblock på rätt sätt, i mitt fall använder jag oftast att buffra sändningen så att även den är interruptstyrd, detta frigör programmet från att stå och vänta på att UART'en ska sända klart men om man behöver detta beror ganska mycket på hur bråttom man har osv.
Om en enhet ska mäta en grej och sända värdet är man knappast hjälpt av att den hinner mäta samma grej 100 gg för varje gång den hinner med att sända dessa data så där får man se till att välja rätt.
Jag använder oftast ASCII-kommunikation, den är inte komplicerat men såklart ger den en del overhead med omvandling hit och dit. Ska jag alltså sända "Sensor A har mätt värdet B" blir det något i stil med:
<STX> 12,25,C9<ETX> ("12" = Sensor A mätvärde, 25 = mätvärdet, C9 = Checksum) som överföras.
På detta vis kan jag "sniffa" kommunikationen med en annan serieport och kolla att värden är rätt och den rätta tolkningen kan göra att mottagaren kan kolla giltigheten (via Checksumman) och sedan "bara" lägga in det överförde värde i en variabel i minnet.
Resultatet kan, om vi tar detta projekt som exempel, bli att "extrakortet" kontinuerligt sänder uppmätta värden, mottagaren ("huvudenheten") dekoder sedan de inkomna data och petar ner i rätt variabel. När alla interruptrutiner är på plats och kommunikationen fungerar kommer det att "se ut" för programmet som att det extra kortet "på magisk vis" fyller i variablerna och programmet kan köra vidare utan att "bekymra sig" eller vänta på värden.
Såklart kan man skapa en kommunikation av typen "jag frågar och du svarar" men där kan det bli en del eftersläp om programmet ska vänta på svar.
"Hemligheten" är alltså att använda lite olika saker, mitt sätt är att använda interrupt ganska intensivt.
Viktigast är att kunde skapa kommunikationsblock som är tydligt definierat så att mottagaren kan kolla om det har blivit störningar på vägen. Tänk radiolänk och grannungen på den trimmade moppen med tändningsstörningar.
Detta kan man lösa på fler sätt.
Sedan ska man kunde ta emot data. Är det bara en enda byte är det ju enkelt - men jag känner mig ganska säker på att du kan behöva fler data överförda, alltså behövs en buffer för att samla in alla data innan de kan behandlas.
Mitt sätt är att jag startar en UART Rx-interrupt, där kollar jag den mottagna byten och väljer:
* Är det en STX (Start av block) nollställer jag pekaren som anger var i buffern jag ska lägga byten.
* Är det en ETX (Slut på blocket) aktiverar jag omvandling och kontroll av det mottagna block.
* Är det inget av dessa petas den i buffern om det finns plats.
Men data ska sändas också. Alltså måste det finnas en rutin som kan "bygga upp" dessa kommunikationsblock på rätt sätt, i mitt fall använder jag oftast att buffra sändningen så att även den är interruptstyrd, detta frigör programmet från att stå och vänta på att UART'en ska sända klart men om man behöver detta beror ganska mycket på hur bråttom man har osv.
Om en enhet ska mäta en grej och sända värdet är man knappast hjälpt av att den hinner mäta samma grej 100 gg för varje gång den hinner med att sända dessa data så där får man se till att välja rätt.
Jag använder oftast ASCII-kommunikation, den är inte komplicerat men såklart ger den en del overhead med omvandling hit och dit. Ska jag alltså sända "Sensor A har mätt värdet B" blir det något i stil med:
<STX> 12,25,C9<ETX> ("12" = Sensor A mätvärde, 25 = mätvärdet, C9 = Checksum) som överföras.
På detta vis kan jag "sniffa" kommunikationen med en annan serieport och kolla att värden är rätt och den rätta tolkningen kan göra att mottagaren kan kolla giltigheten (via Checksumman) och sedan "bara" lägga in det överförde värde i en variabel i minnet.
Resultatet kan, om vi tar detta projekt som exempel, bli att "extrakortet" kontinuerligt sänder uppmätta värden, mottagaren ("huvudenheten") dekoder sedan de inkomna data och petar ner i rätt variabel. När alla interruptrutiner är på plats och kommunikationen fungerar kommer det att "se ut" för programmet som att det extra kortet "på magisk vis" fyller i variablerna och programmet kan köra vidare utan att "bekymra sig" eller vänta på värden.
Såklart kan man skapa en kommunikation av typen "jag frågar och du svarar" men där kan det bli en del eftersläp om programmet ska vänta på svar.
Re: Prata mellan två arduinos
Då bör det räcka gott med att bara ansluta UART direkt mellan processorerna.XCore skrev:avståndet kommer inte bli mer än 10 cm kabel.
TX ----------------------> RX
RX <---------------------- TX
GND ---------------------- GND