Show Posts
Pages: [1] 2 3 4
1  International / Scandinavia / Re: Rotary encorders till B737 panel on: December 02, 2012, 02:00:18 pm
Nu fungerar det smiley

Det var något sådant jag också hade försökt med smiley Nu är det bara att värdena skall representeras av namn så mina vridningar kan fungera med min applikation och flygsimulatorn!

Mvh Fredrik
2  International / Scandinavia / Re: Rotary encorders till B737 panel on: December 02, 2012, 07:40:34 am
Det är en rotary encoder du ska ha till det du beskriver nu (flera varv utan fasta lägen).
Det låter som du saknar kontakt med benet som går till D3 eller så har du kopplat in encodern fel på något vis. Koden borde fungera.
Din encoder har väl tre ben antar jag och två av dem ska du med din kod koppla in till pinne 2 och 3, den tredje pinnen ska till GND (om du använder internal pull-up). Det är viktigt att rätt ben går till GND. Vanligtvis är det det mellersta benet som ska till GND men det kanske finns andra varianter.
Har du ett datablad till din encoder?
Hej

Det är kopplat rätt men den stannar, slutar läsa av efter ca halva varvet. Misstänker klapp i min koppling smiley-sad
Databladet: http://www.bourns.com/data/global/pdfs/pec11.pdf

Har du lött din?

Studs vill du inte ha. Det kommer inte troligen inte ens att gå att använda encodern om du inte debounce på den eftersom du kommer att få slumpmässig studs från båda encoderpinnarna så att koden t.ex. registrerar ett klick motsols och två klick medsols varje gång du vrider ett steg. Det kan bli så att när du vrider medsols registreras bara motsols eller tvärtom.
Debounce behöver du ha.
Se här för exempel på debounce circuit som fungerar klockrent för mig:
http://perhof.wordpress.com/2012/11/01/using-rotary-encoders-with-arduino/

Ska prova din sketch men det är märkligt att den stanna, om det inte är glappet vilket jag tror!

Den studsar också vilket din beskrivning förklarar vilket inte kan förekomma men ett fel i taget:)

Jag kommer köra med en mom/off/mom switch om den måste lödas för att fungera korrekt!

Mvh Fredrik
3  International / Scandinavia / Re: Rotary encorders till B737 panel on: November 30, 2012, 06:03:26 pm
Hej

Jag behöver två rotary encorder och jag provar decodrarna med din kod inkl interrupt och ändrar lite i koden till mina namn m.m.:
Code:
const int MALW51A = 2; // Ext. Interrupts (int.0)
const int MALW51B = 3;

void setup() {
  Serial.begin(9600);

pinMode(MALW51A, INPUT_PULLUP);  // Ext. Interrupts (int.0)
attachInterrupt(0, LALT, CHANGE);
pinMode(MALW51B, INPUT_PULLUP);
}


void loop() {
}

void LALT()
{
  int MALW51Ap = digitalRead(MALW51A);
  int MALW51Bm = digitalRead(MALW51B);
    if (MALW51Ap != MALW51Bm)
    {
      Serial.println("clockwise");
    }
    else
    {
      Serial.println("counterclockwise");
    }
 }

1.)
Det skrivs bara ut när jag vrider på den och det är inget problem, bara bra om  det inte skrivs ut för mycker smiley

2.)
Det skrivs alltid ut "counterclockwise" oavsett vilket håll jag vrider?

3.)
Den stoppar att läsa av komponentern efter några sekunders vridning

Din kod kanske inte är komplett men oavsett det så har jag inte lött utan jag har tryckt fast så gott det går sådana:    
Female - Male Jumper Cables for Arduino på de små benen, är nog det som är orsaken då det är svårt att få fast dem helt smiley-sad

Det här med dubbelstuds med pulserna gör inget då, ecordrarnas funktion ska vara att likan en ratt där jag antingen vrider upp ett värde eller ner det!

Men kanske är det ändå en annan typ av komponent jag behöver?

Jag har ju rotary potentiometer  men de kan man bara vrida ca 140 grader och sedan tillbaka. Denna funktion kräver att jag kan vrida den i flera varv utan stopp!

Därför har utgått från encorders!
Mvh Fredrik
4  International / Scandinavia / Re: Anslutning av diverse komponenter on: November 13, 2012, 03:56:38 am
Hej

Den fungerar smiley

Vilket jag sa i början var att jag använder sockerbitar vilket fungerar men för den porten hade dessa tunna kablar från kortet halkat ner så det fanns ingen kontakt smiley-roll

Här är länken till min projekt sida:
http://arduinofsx.cybersite.nu/

Det är en hel del kvar att göra på sidan men alltid en början smiley

Du måste ha lösen för att se bilder!

Mvh Fredrik
5  International / Scandinavia / Re: Anslutning av diverse komponenter on: November 12, 2012, 06:24:44 pm
Byte av port gjorde susen men nu rapporteras inget on läge på A6=D60!
Är det något som inte står om denna port i manualen?

Mvh Fredrik
6  International / Scandinavia / Re: Anslutning av diverse komponenter on: November 12, 2012, 02:36:15 pm
Ok smiley
7  International / Scandinavia / Re: Anslutning av diverse komponenter on: November 12, 2012, 12:34:45 pm
Hmm misatänkte det också smiley

Jag har läst detta:
Serial: 0 (RX) and 1 (TX); Serial 1: 19 (RX) and 18 (TX); Serial 2: 17 (RX) and 16 (TX); Serial 3: 15 (RX) and 14 (TX). Used to receive (RX) and transmit (TX) TTL serial data. Pins 0 and 1 are also connected to the corresponding pins of the ATmega16U2 USB-to-TTL Serial chip.

Gäller det vara D0 och D1. Jag tror "Pins 0 and 1 are also connected to the corresponding pins of the ATmega16U2 USB-to-TTL Serial chip." förklarar varför jag inte kan använda pin D0 och D1!?

Vad kan man ha till dessa pinar?

Mvh Fredrik
8  International / Scandinavia / Re: Anslutning av diverse komponenter on: November 12, 2012, 11:10:15 am
Hmm måste jag inte definera HIGH och LOW om jag tar bort Serial.print?

 
9  International / Scandinavia / Re: Anslutning av diverse komponenter on: November 12, 2012, 10:27:28 am
Hej

Nu när du skriver det minns jag att jag läst det ja smiley

"Jag misstänker att du inte behöver seriekonsolen i produktion senare så då blir det kanske ett mindre problem men under utvecklingsfasen får du leva utan D0 och D1 om du ska använda Serial.print."

Hmm så här menar du nog:
"Serial.print" kan tas bort data t.ex. "Cconsole-N1_SET-BOTH" kommer ändå att skickas   smiley-confuse smiley

Då blir det som en vanlig "else" funktion smiley

Mvh Fredrik
10  International / Scandinavia / Re: Anslutning av diverse komponenter on: November 12, 2012, 07:39:54 am
Hej

Du ser att jag använder // det är för att testa så det inte skrivs ut för mycket smiley

Jag ser att när jag har så här:
/*
if (digitalRead(VWPH9) == HIGH){Serial.print("0");} else{Serial.print("Left-Pitot_Heat");}
*/if (digitalRead(VWPH10) == HIGH){Serial.print("0");} else{Serial.print("Right-Pitot_Heat");}

if (digitalRead(VWPH11) == HIGH){Serial.print("0");} else{Serial.print("Wheat-Right_Side");}
if (digitalRead(VWPH12) == HIGH){Serial.print("0");} else{Serial.print("Wheat-Right_FWD");}
if (digitalRead(VWPH13) == HIGH){Serial.print("0");} else{Serial.print("Wheat-OVHT");}
if (digitalRead(VWPH14) == HIGH){Serial.print("0");} else{Serial.print("Wheat-Left_FWD");}
if (digitalRead(VWPH15) == HIGH){Serial.print("0");} else{Serial.print("Wheat-Left_Side");}

// Vänster panel - Center & Anti-ICE:
if (digitalRead(VAI16) == HIGH){Serial.print("0");} else{Serial.print("Anti-ICE_ENG1");}
if (digitalRead(VAI17) == HIGH){Serial.print("0");} else{Serial.print("Anti-ICE_ENG2");}
if (digitalRead(VAI18) == HIGH){Serial.print("0");} else{Serial.print("Anti-ICE_Wing");}
if (digitalRead(VC27) == HIGH){Serial.print("0");} else{Serial.print("CPOW");}

if (digitalRead(VC19A) == HIGH){Serial.print("0");} else{Serial.print("Cside-Light_Test-DN");}
if (digitalRead(VC19B) == HIGH){Serial.print("0");} else{Serial.print("Cside-Light_Test-UP");}
if (digitalRead(VC20A) == HIGH){Serial.print("0");} else{Serial.print("Cconsole-Fuel_Flow-DN");}
if (digitalRead(VC20B) == HIGH){Serial.print("0");} else{Serial.print("Cconsole-Fuel_Flow-UP");}

if (digitalRead(VC21L1) == HIGH){Serial.print("0");} else{Serial.print("Cconsole-Auto_Brake-OFF");}
if (digitalRead(VC21L2) == HIGH){Serial.print("0");} else{Serial.print("Cconsole-Auto_Brake-RTO");}
if (digitalRead(VC21L3) == HIGH){Serial.print("0");} else{Serial.print("Cconsole-Auto_Brake-1");}       
if (digitalRead(VC21L4) == HIGH){Serial.print("0");} else{Serial.print("Cconsole-Auto_Brake-2");}             
if (digitalRead(VC21L5) == HIGH){Serial.print("0");} else{Serial.print("Cconsole-Auto_Brake-3");}                             
if (digitalRead(VC21L6) == HIGH){Serial.print("0");} else{Serial.print("Cconsole-Auto_Brake-MAX");}

if (digitalRead(VC22L1) == HIGH){Serial.print("0");} else{Serial.print("Cconsole-SPD_REF-SET");}
if (digitalRead(VC22L2) == HIGH){Serial.print("0");} else{Serial.print("Cconsole-SPD_REF-AUTO");}
if (digitalRead(VC22L3) == HIGH){Serial.print("0");} else{Serial.print("Cconsole-SPD_REF-V1");}   
if (digitalRead(VC22L4) == HIGH){Serial.print("0");} else{Serial.print("Cconsole-SPD_REF-V2");}
if (digitalRead(VC22L5) == HIGH){Serial.print("0");} else{Serial.print("Cconsole-SPD_REF-WT");}
if (digitalRead(VC22L6) == HIGH){Serial.print("0");} else{Serial.print("Cconsole-SPD_REF-REF");}
if (digitalRead(VC22L7) == HIGH){Serial.print("0");} else{Serial.print("Cconsole-SPD_REF--<");}

if (digitalRead(VC23L1) == HIGH){Serial.print("0");} else{Serial.print("Cconsole-N1_SET-BOTH");}
if (digitalRead(VC23L2) == HIGH){Serial.print("0");} else{Serial.print("Cconsole-N1_SET-AUTO");}         
if (digitalRead(VC23L3) == HIGH){Serial.print("0");} else{Serial.print("Cconsole-N1_SET-1");}     
if (digitalRead(VC23L4) == HIGH){Serial.print("0");} else{Serial.print("Cconsole-N1_SET-2");}

Skrivs inte Cconsole-N1_SET-BOTH ut på serial monitor!

Men gör jag:
/*
if (digitalRead(VWPH9) == HIGH){Serial.print("0");} else{Serial.print("Left-Pitot_Heat");}
if (digitalRead(VWPH10) == HIGH){Serial.print("0");} else{Serial.print("Right-Pitot_Heat");}
*/
if (digitalRead(VWPH11) == HIGH){Serial.print("0");} else{Serial.print("Wheat-Right_Side");}
if (digitalRead(VWPH12) == HIGH){Serial.print("0");} else{Serial.print("Wheat-Right_FWD");}
if (digitalRead(VWPH13) == HIGH){Serial.print("0");} else{Serial.print("Wheat-OVHT");}
if (digitalRead(VWPH14) == HIGH){Serial.print("0");} else{Serial.print("Wheat-Left_FWD");}
if (digitalRead(VWPH15) == HIGH){Serial.print("0");} else{Serial.print("Wheat-Left_Side");}

// Vänster panel - Center & Anti-ICE:
if (digitalRead(VAI16) == HIGH){Serial.print("0");} else{Serial.print("Anti-ICE_ENG1");}
if (digitalRead(VAI17) == HIGH){Serial.print("0");} else{Serial.print("Anti-ICE_ENG2");}
if (digitalRead(VAI18) == HIGH){Serial.print("0");} else{Serial.print("Anti-ICE_Wing");}
if (digitalRead(VC27) == HIGH){Serial.print("0");} else{Serial.print("CPOW");}

if (digitalRead(VC19A) == HIGH){Serial.print("0");} else{Serial.print("Cside-Light_Test-DN");}
if (digitalRead(VC19B) == HIGH){Serial.print("0");} else{Serial.print("Cside-Light_Test-UP");}
if (digitalRead(VC20A) == HIGH){Serial.print("0");} else{Serial.print("Cconsole-Fuel_Flow-DN");}
if (digitalRead(VC20B) == HIGH){Serial.print("0");} else{Serial.print("Cconsole-Fuel_Flow-UP");}

if (digitalRead(VC21L1) == HIGH){Serial.print("0");} else{Serial.print("Cconsole-Auto_Brake-OFF");}
if (digitalRead(VC21L2) == HIGH){Serial.print("0");} else{Serial.print("Cconsole-Auto_Brake-RTO");}
if (digitalRead(VC21L3) == HIGH){Serial.print("0");} else{Serial.print("Cconsole-Auto_Brake-1");}       
if (digitalRead(VC21L4) == HIGH){Serial.print("0");} else{Serial.print("Cconsole-Auto_Brake-2");}             
if (digitalRead(VC21L5) == HIGH){Serial.print("0");} else{Serial.print("Cconsole-Auto_Brake-3");}                             
if (digitalRead(VC21L6) == HIGH){Serial.print("0");} else{Serial.print("Cconsole-Auto_Brake-MAX");}

if (digitalRead(VC22L1) == HIGH){Serial.print("0");} else{Serial.print("Cconsole-SPD_REF-SET");}
if (digitalRead(VC22L2) == HIGH){Serial.print("0");} else{Serial.print("Cconsole-SPD_REF-AUTO");}
if (digitalRead(VC22L3) == HIGH){Serial.print("0");} else{Serial.print("Cconsole-SPD_REF-V1");}   
if (digitalRead(VC22L4) == HIGH){Serial.print("0");} else{Serial.print("Cconsole-SPD_REF-V2");}
if (digitalRead(VC22L5) == HIGH){Serial.print("0");} else{Serial.print("Cconsole-SPD_REF-WT");}
if (digitalRead(VC22L6) == HIGH){Serial.print("0");} else{Serial.print("Cconsole-SPD_REF-REF");}
if (digitalRead(VC22L7) == HIGH){Serial.print("0");} else{Serial.print("Cconsole-SPD_REF--<");}

if (digitalRead(VC23L1) == HIGH){Serial.print("0");} else{Serial.print("Cconsole-N1_SET-BOTH");}
if (digitalRead(VC23L2) == HIGH){Serial.print("0");} else{Serial.print("Cconsole-N1_SET-AUTO");}         
if (digitalRead(VC23L3) == HIGH){Serial.print("0");} else{Serial.print("Cconsole-N1_SET-1");}     
if (digitalRead(VC23L4) == HIGH){Serial.print("0");} else{Serial.print("Cconsole-N1_SET-2");}

Skrivs raden ut?

Mvh Fredrik
11  International / Scandinavia / Re: Anslutning av diverse komponenter on: November 11, 2012, 05:37:51 pm
Vad är anslutet på de portarna och hur har du anslutit det? En enkel skiss vore lämpligt.
Utan att veta ett dugg om vad/hur så får jag gissa på att du saknar pull-up eller pull-down.

Jag har inte gjort någon förändring på porten den har fungerat dvs. rapporterat rätt!

Till port D1 är det en enkel on/off switch, rapporteringen sker som att den skulle  stå i läge on fast den är off?

D1 som är bortkopplad rapporterar ändå smiley-sad

Jag har INPUT_PULLUP på den, har något hänt med kortet eller chipet?

Det är skrämmande då jag är i byggstadiet och inte hunnit ta det i drift än. Då hela projektet bygger på att elektroniken är 100% stabil för att allt ska fungera, detta ger tecken att så tyvärr inte är fallet!

Mvh Fredrik
12  International / Scandinavia / Re: Anslutning av diverse komponenter on: November 11, 2012, 05:16:00 pm
Hej

Mu har jag hittat ett sätt att ansluta mima rotary switch provade en ide jag hadde men blev inte bra men nu rullar anslutningarna på smiley

En sak två portar har börjat att rapportera som att det är en signal på dem fast att det inte är så?

Mvh Fredrik
13  International / Scandinavia / Re: Anslutning av diverse komponenter on: November 03, 2012, 05:07:57 pm
Hej

I den bifogade filen kan min kod ses smiley

Mvh Fredrik
14  International / Scandinavia / Re: Analog pin --> Digital on: November 02, 2012, 07:51:30 am
Hej du ska få en länk till mitt nas där jag jobbar med en blogg om projektet smiley
15  International / Scandinavia / Re: Analog pin --> Digital on: November 02, 2012, 07:03:03 am
Hej

 smiley-wink jadu jag har ca 75 komponenter av: switchar rotary potentiometer rotary encorders. blir nu 2 och ca 8 rotaryswitch med i snitt 4 digitala pinnar/rotary switch!

Det är mitt första projekt med Arduino smiley

Kodning av resten av mina switchar m.m. så fint och de fungerar efter dina instruktion och det ska du ha ett väldigt stor tack för att det fungerar smiley

Jag har två kort så mycket kodande men det går frammåt//
Mvh Fredrik
Pages: [1] 2 3 4