Formula90 Skrevet 17. desember 2011 Del Skrevet 17. desember 2011 oj, ja nå funker det, var mye forandring trodde jeg hadde begynt å lære noe hva er hoved endringene du har gjort her egentlig? pinMode(redLedPin, OUTPUT); trodde det måtte hete ledPin egentlig, vet ikke hvorfor jeg tenkte det. å at du har float temperature = 0; øverst ja. å denne to plasser? temperature = getVoltage(temperaturePin); temperature = (temperature - .5) * 100; arti at det fungert nå iværtfall, må jeg bare få resten av lysene igang imorgen ; ) Takk for hjelpen;) så langt Nå kan jeg ENDELIG ta kveld! Lenke til kommentar
bjorn.e Skrevet 17. desember 2011 Del Skrevet 17. desember 2011 Nå har eg riktig nok ingen tilknytning til denne butikken, men har handlet for ca 10000,- ifbm jobb og da er alltid norske levrandører enklere. Dei er ikkje spesielt rimelige, men prisene er ikkje høyere enn forventet nivå i norge, og servicen har vært veldig bra. www.robonor.no Lenke til kommentar
Formula90 Skrevet 17. desember 2011 Del Skrevet 17. desember 2011 float temperature = 0; int temperaturePin = 0; int redLedPin2 = 2; // Rød diode nr 2 over 27c int redLedPin3 = 3; // Rød diode nr 3, over 25c int yellowLedPin4 = 4; // yellow diode nr 4 under 24c int yellowLedPin5 = 5; // yellow diode nr 5 under 22c int blueLedPin6 = 6; // Blue LED nr 6 under 20c int blueLedPin7 = 7; // Blue LED nr 7 under 16c int ledState = LOW; void setup() { pinMode(redLedPin2, OUTPUT); pinMode(redLedPin3, OUTPUT); pinMode(yellowLedPin4, OUTPUT); pinMode(yellowLedPin5, OUTPUT); pinMode(blueLedPin6, OUTPUT); pinMode(blueLedPin7, OUTPUT); Serial.begin(9600); } void loop() { temperature = getVoltage(temperaturePin); temperature = (temperature - .5) * 100; if (temperature >= 27) digitalWrite(redLedPin2, HIGH); else digitalWrite(redLedPin2, LOW); if (temperature >= 25) digitalWrite(redLedPin3, HIGH); else digitalWrite(redLedPin3, LOW); if (temperature <= 24) digitalWrite(yellowLedPin4, HIGH); else digitalWrite(yellowLedPin4, LOW); if (temperature <= 22) digitalWrite(yellowLedPin5, HIGH); else digitalWrite(yellowLedPin5, LOW); if (temperature <= 20) digitalWrite(blueLedPin6, HIGH); else digitalWrite(blueLedPin6, LOW); if (temperature <= 16) digitalWrite(blueLedPin7, HIGH); else digitalWrite(blueLedPin7, LOW); temperature = getVoltage(temperaturePin); temperature = (temperature - .5) * 100; Serial.println(temperature); delay(5000); } float getVoltage(int pin) { return (analogRead(pin) * .004882814); } Sånn! Nå funker det nesten perfekt Lenke til kommentar
aop9020 Skrevet 17. desember 2011 Del Skrevet 17. desember 2011 Det som er hovedendringen, er at du skrev if (a0 > setValue) // Dette er a0, og ikke temperaturen.. temperatur-variablen heter jo "temperature" Det som står to plasser er feil, bare fjern den som er nederst. Et triks er å slå av alle led før du starter IF kontrollene, så slår du på den som passer. Dette går så fort, at du vil ikke se det. Lenke til kommentar
Formula90 Skrevet 17. desember 2011 Del Skrevet 17. desember 2011 (endret) hehe ja okey slå av alle led før jeg starter if kontrollen? slå på den som passer? whoot? føler meg dum nå egentlig ser denne koden? skal den ikke slå på lyse når den er 24 grader eller mere nå, og slå den av når den kjem ned på 22 grader? if (temperature <= 24) digitalWrite(yellowLedPin4, HIGH); else if (temperature < 22) digitalWrite(yellowLedPin4, LOW); å en annen ting som ikke har me dette å gjøre, var bare så sykt irriterene, det har begynt å ta så sykt lang tid å laste en kode til arduinoen, tar nesten 1 minutt før den er ferdig å laste opp! Endret 17. desember 2011 av Formula90 Lenke til kommentar
Formula90 Skrevet 18. desember 2011 Del Skrevet 18. desember 2011 (endret) Nå funker det akkurat som det skal, er aldri mere en et lys på om gangen, her er koden: float temperature = 0; int temperaturePin = 0; int redLedPin2 = 2; // Rød diode nr 2 over 27c int redLedPin3 = 3; // Rød diode nr 3, over 25c int greenLedPin4 = 4; // yellow diode nr 4 under 24c int greenLedPin5 = 5; // yellow diode nr 5 under 22c int blueLedPin6 = 6; // Blue LED nr 6 under 20c int blueLedPin7 = 7; // Blue LED nr 7 under 16c int ledState = LOW; void setup() { pinMode(redLedPin2, OUTPUT); pinMode(redLedPin3, OUTPUT); pinMode(greenLedPin4, OUTPUT); pinMode(greenLedPin5, OUTPUT); pinMode(blueLedPin6, OUTPUT); pinMode(blueLedPin7, OUTPUT); Serial.begin(9600); } void loop() { temperature = getVoltage(temperaturePin); temperature = (temperature - .5) * 100; if (temperature >= 27) digitalWrite(redLedPin2, HIGH); else digitalWrite(redLedPin2, LOW); if (temperature > 26.99) digitalWrite(redLedPin3, LOW); else if (temperature > 25) digitalWrite(redLedPin3, HIGH); else digitalWrite(redLedPin3, LOW); if (temperature > 24.99) digitalWrite(greenLedPin4, LOW); else if (temperature >= 23) digitalWrite(greenLedPin4, HIGH); else digitalWrite(greenLedPin4, LOW); if (temperature > 22.99) digitalWrite(greenLedPin5, LOW); else if (temperature >= 21) digitalWrite(greenLedPin5, HIGH); else digitalWrite(greenLedPin5, LOW); if (temperature > 20.99) digitalWrite(blueLedPin6, LOW); else if (temperature >= 17) digitalWrite(blueLedPin6, HIGH); else digitalWrite(blueLedPin6, LOW); if (temperature > 16.99) digitalWrite(blueLedPin7, LOW); else if (temperature >= 10) digitalWrite(blueLedPin7, HIGH); else digitalWrite(blueLedPin7, LOW); temperature = getVoltage(temperaturePin); temperature = (temperature - .5) * 100; Serial.println(temperature); delay(1000); } float getVoltage(int pin) { return (analogRead(pin) * .004882814); } Har en kompis som er veldig go på c kode, han mente det kansje var enkelre å skrive: øvers: #include <math.h> int led = floor( temperature ); switch( led ) { case 25: case 26: digitalWrite(redLedPin3, HIGH); break; case 27: case 28: digitalWrite(redLedPin4, HIGH); break; } prøve det å, men plagdes litt så gjorde det bare som jeg gjorde først : p Endret 18. desember 2011 av Formula90 Lenke til kommentar
Formula90 Skrevet 18. desember 2011 Del Skrevet 18. desember 2011 Kan noen forklare meg denne 8x8 dual led matrixen? er jo 12 pinner på hver side? men er jo bare 8 lys på hver side? http://arduino.cc/en/Tutorial/RowColumnScanning Lenke til kommentar
Puke Nukem Skrevet 18. desember 2011 Del Skrevet 18. desember 2011 Du bruker ikke alle pinnene, pinnene som brukes står inni "sirklene" Lenke til kommentar
Formula90 Skrevet 18. desember 2011 Del Skrevet 18. desember 2011 hmm, tror kansje jeg bare må prøve meg litt fram, for er jo bare noen som er på sirklene : p Lenke til kommentar
Formula90 Skrevet 24. desember 2011 Del Skrevet 24. desember 2011 (endret) Detta har ikke så mye med arduinoen å jør, men vil bare del ka eg fekk i julegave = D fekk en AVR dragon, åså lå det to andre IC i pakken, har ikke sett på dem enda, men regn me det e to microcontrollera ka e forsjelln på denna og arduinoen egentlig? bare kodene som er forsjellig? og programme man skriver koder med? den store der, han kalte det en debugger? eller nå sånt? . Endret 25. desember 2011 av Hårek Lenke til kommentar
Formula90 Skrevet 25. desember 2011 Del Skrevet 25. desember 2011 (endret) men over til arduinoen igjen, fikk en rgb lcd i posten, så tenkte jeg skulle prøve å kobble den, er denne: http://www.sparkfun.com/products/10862 har koblet det opp etter denne: http://www.arduino.cc/en/Tutorial/LiquidCrystal det blinker bare en firkant? hvorfor funker det ikke? har jo kobblet alt rett! ska bare stå en txt nå, bare for å prøve hvis dere ser på datasheten på lcden jeg kjøpte, og den jeg følger tutorialn på, så stemmer ikke alle navnene på pinnene på de to sjermene, er det bare forsjellige navn?? Endret 26. desember 2011 av Formula90 Lenke til kommentar
Dr_VingTor Skrevet 25. desember 2011 Del Skrevet 25. desember 2011 Detta har ikke så mye med arduinoen å jør, men vil bare del ka eg fekk i julegave = D fekk en AVR dragon, åså lå det to andre IC i pakken, har ikke sett på dem enda, men regn me det e to microcontrollera ka e forsjelln på denna og arduinoen egentlig? bare kodene som er forsjellig? og programme man skriver koder med? den store der, han kalte det en debugger? eller nå sånt? Så ut til at de to kretsene er Atmega168, og hvis du alt har en Arduino allerede (muligens med en Atmega328), så han du nå bytte ut ICen i den med disse (men disse har mindre RAM og Flash). Vær forsiktig så du ikke bøyer pinnene for mye når du tar ut ICen. Om du ikke har en IC utdrager, bruke et lite skrujern og dytt det inn mellom ICen og sokkelen på kortsiden... forsiktig... Du kan for eksempel bruke arduinoen i prototyping, og når du er ferdig tar du ut ICen og bygger opp kretsen på at eget kretskort og bruker ICene der. AVR Dragon er en debygger, det betyr at ut kan kjøre en og en instruksjon i programmet du skriver, og se hva som skjer i mikrokontrolleren, men du kan også bruke den som en vanlig programmerer, og hvis du vil bruke mega168'ene i Arduinoen, må du bruke AVR Dragon for å legge inn arduino bootloaderen i de ved å koble til 6 pin headeren på Arduinoen (hvis de ikke alt har Arduino sin bootloader). Debugging kan gjøres på forskjellige måter, men jeg foretrekker å bruke AVR Studio. For å kunne bruke AVR dragon for debugging på Arduino må du modifisere den litt: http://husks.wordpress.com/2010/02/21/modify-an-arduino-for-debugwire/ Lenke til kommentar
Formula90 Skrevet 25. desember 2011 Del Skrevet 25. desember 2011 takk for tips! den debuggern hørte avansert ut spesielt hvis jeg skal bruke den til debugging på arduinoen veit ikke helt hvorfor jeg vil kjøre en og en instruks å se hva som sjer? jeg får ta å google det, kansje jeg sjønner hvorfor jeg vil gjøre det da Lenke til kommentar
Formula90 Skrevet 26. desember 2011 Del Skrevet 26. desember 2011 (endret) jeg prøver fortsatt å få skrift på rgb lcden jeg kjøpte, får bare lys i den! holdt på i en evighet nå! denne koden skulle vel ha funket? #include <LiquidCrystal.h> LiquidCrystal lcd(13, 12, 5, 6, 7, 8); int lcdRedPWMPin = 11; int lcdGreenPWMPin = 10; int lcdBluePWMPin = 9; void setDisplayRGB(int r, int g, int b) { analogWrite(lcdRedPWMPin, r); analogWrite(lcdGreenPWMPin, g); analogWrite(lcdBluePWMPin, b); } void setup() { setDisplayRGB(0,0,255); lcd.begin(16, 2); lcd.print("arduino lcd"); } void loop() {} Så hvis det ikke er koden, hva er det da? når jeg så på datasheten til dette displayet, så het pin1 VSS, og pin2 VDD.. men på den tutorialn jeg fulgte så sto det at pin1 var Gnd, og pin2 var VCC? er VDD og VCC det samme? og VSS og Ground? datasheet: http://dlnmh9ip6v2uc.cloudfront.net/datasheets/LCD/Monochrome/ADM1602K-FS(RGB)-FBW.pdf diagrame jeg lagde: http://arduino.cc/en/uploads/Tutorial/LCD_bb.png opptatering: Jeg kobblet ledningene ned på andre siden av displayet, der jeg ikke hadde loddet noe, å fikk det til å funke, så snart jeg dro de ut, å prøvde å laste opp koden på nytt, så ble det blankt igjen. regner med at det er noen lodder som er borti hverandre da? å er det noen som kan si meg hvordan jeg kan få skrevet på begge linjene? Endret 26. desember 2011 av Formula90 Lenke til kommentar
aop9020 Skrevet 27. desember 2011 Del Skrevet 27. desember 2011 Du bruker "lcd.setCursor(0, 1);" Det første sifferet er kolonne og det andre er raden. Bare å eksperimentere litt.. Prøv å les litt på den siden du linket til tidligere : http://arduino.cc/en/Reference/LiquidCrystalSetCursor Lenke til kommentar
Formula90 Skrevet 30. desember 2011 Del Skrevet 30. desember 2011 åjaaa, det den betyr Lenke til kommentar
stiaas Skrevet 2. januar 2012 Del Skrevet 2. januar 2012 Hei allesammen! Har lenge ønsket meg en arduino å har nå funnet ut at uno'en er perfekt til mitt bruk. Men, man må vel ha noe tilbehør for at dette skal bli noe morsomt... Har funnet denne: http://www.robonor.no/mag/default/arduino-inventors-kit.html fra Robonor.no er dette noe tess eller er det bedre å kjøpe delene hver for seg? Har ikke noe spesiellt prosjekt på gang enda, da jeg er helt nybegynner. Men har noen tanker om hva jeg kan gjøre når jeg kommer inn i det.. Lenke til kommentar
DeathByDigital Skrevet 2. januar 2012 Del Skrevet 2. januar 2012 jeg skal styre 2 stk servoer, helst via en joystick. vil følgende kort gjøre jobben? Arduino Uno Atmel Atmega 328 MCU board evt link til "norsk" side. http://no.rs-online.com/web/p/microcontroller-processor/7154081/?origin=PSF_392815|acc kortet koster jo ikke mere enn et par hundrelapper. Takker for svar/innspill Lenke til kommentar
stiaas Skrevet 2. januar 2012 Del Skrevet 2. januar 2012 jeg skal styre 2 stk servoer, helst via en joystick. vil følgende kort gjøre jobben? Arduino Uno Atmel Atmega 328 MCU board evt link til "norsk" side. http://no.rs-online.com/web/p/microcontroller-processor/7154081/?origin=PSF_392815|acc kortet koster jo ikke mere enn et par hundrelapper. Takker for svar/innspill Er av en eller annen grunn litt skeptisk til RS-Online, men har ingen virkelig begrunnellse for det. Er liksom litt godt for å være sant at de selger arduino-uno 3-400 kr billigere enn andre jeg har sett. Etterlyser meninger fra noen som faktisk har handlet der. Lenke til kommentar
DeathByDigital Skrevet 2. januar 2012 Del Skrevet 2. januar 2012 samme det... Men jeg lurer på om det er "enkelt" å få styrt to vanlige servo med et av disse Adruino kortene? evt hvilket? Uno? Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå