tingo Skrevet 4. februar 2014 Del Skrevet 4. februar 2014 Det er ledig på både pls og arduino OK. Da kan du jo bare koble sammen serieporten fra Arduino med serieporten på PLS'en. Du har jo allerede verdiene fra temperatur-sensorene i serial monitor på Arduino. Programmet på PLS'en som leser serieporten og henter ut verdiene må du lage selv. 1 Lenke til kommentar
loddetinn Skrevet 4. februar 2014 Del Skrevet 4. februar 2014 Det er ledig på både pls og arduino OK. Da kan du jo bare koble sammen serieporten fra Arduino med serieporten på PLS'en. Du har jo allerede verdiene fra temperatur-sensorene i serial monitor på Arduino. Programmet på PLS'en som leser serieporten og henter ut verdiene må du lage selv. Tusen takk for alle gode svar! Ser ut til at jeg har gjort en major fail. Trodde det var to ledige ethernet og serial porter. Det var det ikke. Så eneste måten jeg får lest temperaturen er ved å benytte meg av de analoge inngangene på PLSen. Så da er spørsmålet mitt, er det mulig å bruke arduino som en dac? Altså at arduino konverterer signalet til analogt som PLSen kan lese av? (enten 0-5v eller 4-20 mA) Lenke til kommentar
Panserkanin Skrevet 5. februar 2014 Del Skrevet 5. februar 2014 Hei! Jeg sliter litt med en oppgave: I denne oppgave skal vi bruke et arduino-kort til å måle tida en kule tar for å falle. Ut fra dette skal vi beregne tyngdens akselerasjon, og formidle dette til brukeren Planlegg programmet; enten med flytskjema, pseudokode eller ren tekst. Hovedidé: Kula henger i et stativ som er jordet. Så lenge kula henger i stativet måler vi 0V (dvs 0). Når kula forlater stativet måler vi 5V (dvs 1). Når kula treffer underlaget måler vi 0V igjen. Vi måler tida fallet tar, vi måler høyden, og kan beregne g. Lag programmet i arduino. Noen som kunne hjulpet meg med å sette om en kode? Lenke til kommentar
Itek Skrevet 5. februar 2014 Del Skrevet 5. februar 2014 Da har jeg motatt arduino starter kit i posten! "Hello world" ! Lenke til kommentar
eiik Skrevet 5. februar 2014 Del Skrevet 5. februar 2014 Hei! Jeg sliter litt med en oppgave: I denne oppgave skal vi bruke et arduino-kort til å måle tida en kule tar for å falle. Ut fra dette skal vi beregne tyngdens akselerasjon, og formidle dette til brukeren Planlegg programmet; enten med flytskjema, pseudokode eller ren tekst. Hovedidé: Kula henger i et stativ som er jordet. Så lenge kula henger i stativet måler vi 0V (dvs 0). Når kula forlater stativet måler vi 5V (dvs 1). Når kula treffer underlaget måler vi 0V igjen. Vi måler tida fallet tar, vi måler høyden, og kan beregne g. Lag programmet i arduino. Noen som kunne hjulpet meg med å sette om en kode? Jeg ville gått for en kode som sjekker om input er high eller low. Koden starter så tidtakingen når inputet er high og stopper den igjen når input er low. Lenke til kommentar
tingo Skrevet 5. februar 2014 Del Skrevet 5. februar 2014 Ser ut til at jeg har gjort en major fail. Trodde det var to ledige ethernet og serial porter. Det var det ikke. Så eneste måten jeg får lest temperaturen er ved å benytte meg av de analoge inngangene på PLSen. Så da er spørsmålet mitt, er det mulig å bruke arduino som en dac? Altså at arduino konverterer signalet til analogt som PLSen kan lese av? (enten 0-5v eller 4-20 mA) Det et er mulig å bruke Arduino som en DAC. Om den har innebygd DAC eller om du må til med eksterne komponenter avhenger av hvilken Arduino du har. Lenke til kommentar
loddetinn Skrevet 5. februar 2014 Del Skrevet 5. februar 2014 Har arduino mega og uno. Lenke til kommentar
iam99pk Skrevet 6. februar 2014 Del Skrevet 6. februar 2014 hei! er det noen her inne som er gode på kode og kan hjelpe meg? skal kunne styre to motorer med sticene på en ps3 kontroll, de skal kunne går frem og tilbake (bruker en H-Bridge) og 1 steppermotor med directional knappene (altså de som går til sidene, skal bruke pilene som går opp og ned senere til noe annet) Lenke til kommentar
loddetinn Skrevet 7. februar 2014 Del Skrevet 7. februar 2014 Tror jeg begynner å finne ut av greier, slik at jeg kan bruke arduino som en slags dac for dallas temsensoren. Prøver å lage et filter for å gjøre pwm analogt. Så var det store spørsmålet... koden. Jeg har kode for output, har kode for å lese sensoren. Problemet er... Hvordan kombinerer jeg dem? Kodene er sitert nedenfor. For output int output_1 = 9; int output_2 = 10; void setup() { pinMode(output_1, OUTPUT); pinMode(output_2, OUTPUT); TCCR1B = TCCR1B & 0b11111000 | 0x01; } void loop() { analogWrite(output_1, temp_1); analogWrite(output_2, temp_2); } Sensor: // Get 1-wire Library here: http://www.pjrc.com/teensy/td_libs_OneWire.html #include <OneWire.h> //Get DallasTemperature Library here: http://milesburton.com/Main_Page?title=Dallas_Temperature_Control_Library #include <DallasTemperature.h> /*-----( Declare Constants and Pin Numbers )-----*/ #define ONE_WIRE_BUS_PIN 2 /*-----( Declare objects )-----*/ // Setup a oneWire instance to communicate with any OneWire devices OneWire oneWire(ONE_WIRE_BUS_PIN); // Pass our oneWire reference to Dallas Temperature. DallasTemperature sensors(&oneWire); /*-----( Declare Variables )-----*/ // Assign the addresses of your 1-Wire temp sensors. // See the tutorial on how to obtain these addresses: // http://www.hacktronics.com/Tutorials/arduino-1-wire-address-finder.html DeviceAddress Probe01 = { 0x28, 0xD3, 0x4B, 0xCE, 0x04, 0x00, 0x00, 0xA8 }; void setup() /****** SETUP: RUNS ONCE ******/ { // start serial port to show results Serial.begin(9600); Serial.print("Initializing Temperature Control Library Version "); Serial.println(DALLASTEMPLIBVERSION); // Initialize the Temperature measurement library sensors.begin(); // set the resolution to 10 bit (Can be 9 to 12 bits .. lower is faster) sensors.setResolution(Probe01, 12); }//--(end setup )--- void loop() /****** LOOP: RUNS CONSTANTLY ******/ { delay(1000); Serial.println(); Serial.print("Antall temperaturmaalere som er tilkoblet: "); Serial.println(sensors.getDeviceCount()); Serial.print("Henter temperatur: "); Serial.println(); // Command all devices on bus to read temperature sensors.requestTemperatures(); Serial.print("Probe 01 temperatur er: "); printTemperature(Probe01); Serial.println(); }//--(end main loop )--- /*-----( Declare User-written Functions )-----*/ void printTemperature(DeviceAddress deviceAddress) { float tempC = sensors.getTempC(deviceAddress); if (tempC == -127.00) { Serial.print("Kan ikke hente temperatur. Undersoek om proben er koblet riktig. "); } else { Serial.print("C: "); Serial.print(tempC); } }// End printTemperature //*********( THE END )*********** Lenke til kommentar
tingo Skrevet 7. februar 2014 Del Skrevet 7. februar 2014 I stedet for å skrive ut temperaturen (Probe01) så gjør du den om til rett spenningsverdi og skriver den ut på den rette analoge porten (temp_1 / temp_2). Lenke til kommentar
avo Skrevet 11. februar 2014 Del Skrevet 11. februar 2014 Det er ledig på både pls og arduino OK. Da kan du jo bare koble sammen serieporten fra Arduino med serieporten på PLS'en. Du har jo allerede verdiene fra temperatur-sensorene i serial monitor på Arduino.Programmet på PLS'en som leser serieporten og henter ut verdiene må du lage selv. Tusen takk for alle gode svar!Ser ut til at jeg har gjort en major fail. Trodde det var to ledige ethernet og serial porter. Det var det ikke. Så eneste måten jeg får lest temperaturen er ved å benytte meg av de analoge inngangene på PLSen. Så da er spørsmålet mitt, er det mulig å bruke arduino som en dac? Altså at arduino konverterer signalet til analogt som PLSen kan lese av? (enten 0-5v eller 4-20 mA) Hvor mange digitale utganger har du ledig på Ardunioen, og hvor nøyaktig må det analoge signalet til PLS være? (hvilken oppløsning trenger du?) Skal jo ikke mer til enn et motstandsnettverk for å lage en ybersimpel DAC, om du har outputs nok. Lenke til kommentar
StormEagle Skrevet 22. februar 2014 Del Skrevet 22. februar 2014 (endret) Tenkte at jeg skulle gjøre folk oppmerksomme på et nytt produkt som prøver å få crowdfunding nå. Det er en optisk distansesensor som kan gå opp til 40 meter som er veldig billig og liten størrelse i forhold til annen teknologi som finnes på markedet nå. http://pulsedlight3d.com/ De er vel oppe i 70% finansiering nå med 13 dager igjen. Jeg er ihvertfall veldig interessert i at dette produktet kommer på markedet. Her er et sammenliknbart produkt: http://lightware.co.za/shop/en/4-lrf-modules Og SF02/F modulen blir da det nærmeste og den koster $250 mot pulsedlight sin sensor som bare koster $79 og er mindre i størrelse. Jeg har ingen egeninteresse i dette produktet annet enn at jeg ønsker å kunne kjøpe en så dette er ikke noe reklame fra meg. Man får noen ganske billige laser avstandsfinnere fra Kina som man kan hacke og prøve og plukke ut kommunikasjonen av for å bruke, men det blir jo ikke det samme som å kjøpe en ferdig modul som her. Og de er vel fremdeles ikke helt så billige og de er ihvertfall mye større i størrelse. Endret 22. februar 2014 av flesvik Lenke til kommentar
ATWindsor Skrevet 1. mars 2014 Del Skrevet 1. mars 2014 (endret) Jeg prøver å sette opp en telnet-server, så jeg kan sende commandoer til den som den så utfører. Mer spesifikt ønsker jeg å styre en servo, men foreløpig har jeg bare prøvd å sette opp en server som tar imot kommandoer. SE NESTE INNLEGG /* DHCP-based IP printer This sketch uses the DHCP extensions to the Ethernet library to get an IP address via DHCP and print the address obtained. using an Arduino Wiznet Ethernet shield. Circuit: * Ethernet shield attached to pins 10, 11, 12, 13 created 12 April 2011 modified 9 Apr 2012 by Tom Igoe */ #include <SPI.h> #include <Ethernet.h> // Enter a MAC address for your controller below. // Newer Ethernet shields have a MAC address printed on a sticker on the shield byte mac[] = { 0x90, 0xA2, 0xDA, 0x0D, 0x58, 0x14 }; byte ip[] = { 192, 168, 1, 210 }; EthernetServer server = EthernetServer(23); EthernetClient client; boolean connected = false; String cmd; int MAX_CMD_LENGTH; void setup() { // Open serial communications and wait for port to open: // Serial.begin(9600); // start the Ethernet connection: Ethernet.begin(mac, ip); server.begin(); //delay(10000); // print your local IP address: //Serial.print("My IP address: "); } void loop() { client = server.available(); if (client == true) { if (!connected){ client.flush(); connected = true; } if (client.available() > 0) { readTelnetCommand(client.read()); } } //client.println("\nSteve's Arduino Telnet Server"); //client.println("? for help"); // printPrompt(); // check for input if(digitalRead(7) == LOW) { while(digitalRead(7) == LOW); server.println("Input triggered :-)"); } delay(10); } void readTelnetCommand(char c) { if(cmd.length() == MAX_CMD_LENGTH) { cmd = ""; } cmd += c; if(c == '\n') { if(cmd.length() > 2) { // remove \r and \n from the string cmd = cmd.substring(0,cmd.length() - 2); parseCommand(); } } } void parseCommand() { if(cmd.equals("quit")) { client.stop(); connected = false; } else if(cmd.equals("help")) { server.println("--- Telnet Server Help ---"); server.println("on : switch on the Main Power"); server.println("off : switch off the Main Power"); server.println("quit : close the connection"); } else if(cmd.equals("on")) { digitalWrite(2, HIGH); } else if(cmd.equals("off")) { digitalWrite(2, LOW); } else { server.println("Invalid command, type help"); } cmd = ""; } Endret 2. mars 2014 av ATWindsor Lenke til kommentar
ATWindsor Skrevet 2. mars 2014 Del Skrevet 2. mars 2014 (endret) funnet ut at jeg må starte fra skrætsj om jeg skal lære meg noe her, har nå fått opp serveren, mitt langsiktige mål er å ta imot kommandoer på typen "123a" der "a" indikerer at vinkelen er sendt, så den kan terminere koblingen til clienten og nullstille alle variable. Men ett steg av gangen, i første omgang forsølker jeg å lese det clien void loop() { // sjekker om klintt kobler seg til EthernetClient client = server.available(); //om klienten er på, mota tegn som klienten skriver inn, legg inn tegnene i "kommando", og print kommando til klienten #include <SPI.h> #include <Ethernet.h> byte mac[] = { 0x90, 0xA2, 0xDA, 0x0D, 0x58, 0x14 }; byte ip[] = { 192, 168, 1, 210 }; //setter opp server (telnet, port 23) EthernetServer server(23); EthernetClient client; boolean connected = false; //kommandoen som skal tas imot av kliten String kommando; void setup() { //starter serveren Ethernet.begin(mac, ip); server.begin(); } void loop() { // sjekker om klintt kobler seg til EthernetClient client = server.available(); //om klienten er på, mota tegn som klienten skriver inn, legg inn tegnene i "kommando", og print kommando if (client) { char bokstav = client.read(); kommando += bokstav; client.println(kommando); } } Det er delen if (client) {char bokstav = client.read();kommando += bokstav;client.println(kommando);} Som skaper problemer, om jeg bytter ut "kommando" i println med "bokstav", så fungerer det som tiltenk, den sender altså umiddelbart ut bokstaven jeg skrev inn, men med "kommando" så sender den bare ut en tom streng, hvorfor funker ikke dette? Hvorfor blir ikke char bokstav lagt til string kommando en etter en så om jeg skriver abc feks, så printes abc ut på skjermen? Endret 2. mars 2014 av ATWindsor Lenke til kommentar
tingo Skrevet 2. mars 2014 Del Skrevet 2. mars 2014 Du kan vel ikke gjøre type assignment "midt i" koden, du må vel gjøre det først? Slik at du først har char bokstav; Og så får du bokstav = client.read(); Eller prøver du å gjøre type cast? Lenke til kommentar
Josten Skrevet 2. mars 2014 Del Skrevet 2. mars 2014 skal fint kunne deklarere en variabel inni en løkke. Det jeg først stusset mest på var å bruke += på en string. Men testet med g++ og ser at det funker fint, så vil jo anta at det funker på arduino også (ikke veldig bevandret i c++). Lenke til kommentar
ATWindsor Skrevet 2. mars 2014 Del Skrevet 2. mars 2014 Du kan vel ikke gjøre type assignment "midt i" koden, du må vel gjøre det først? Slik at du først har char bokstav; Og så får du bokstav = client.read(); Eller prøver du å gjøre type cast? Som nevnt, så funker det fint om jeg bare printer "bokstav", så det virker som den deklareres fint, og får riktig variabel, men jeg skal sjekke det ut. AtW Lenke til kommentar
ATWindsor Skrevet 2. mars 2014 Del Skrevet 2. mars 2014 Testet å deklarere "bokstav" utenfor løkken, samme resultat, printer jeg "bokstav" får jeg forventet resultatet, men om jeg printer "kommando", så bare printer den en tom linje igjen og igjen til evig tid, virker som det er de tå legge til charen til "kommando" som går galt, men jeg skjønner ikke hvorfor, kan egentlig ikke c++ og det virker som syntaksen er rett utifra det jeg har lest AtW Lenke til kommentar
tingo Skrevet 3. mars 2014 Del Skrevet 3. mars 2014 Prøve alternative varianter da? For og se om kompilatoren spiser dem? Lenke til kommentar
ATWindsor Skrevet 3. mars 2014 Del Skrevet 3. mars 2014 Prøve alternative varianter da? For og se om kompilatoren spiser dem? Som feks? AtW 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å