Gå til innhold

Den store Arduino tråden, v2.0


Anbefalte innlegg

Jeg har en LPC1768 MBED mikrokontroller. Er det så lett som å eksportere en .bin fil fra arduino IDEen og så lage et enkelt program til min MBED mikrokontroller som leser bin filen og sender dataen over uart til rx tx pinsene på den andre mikrokontrolleren?

Lenke til kommentar
Videoannonse
Annonse

 

Jeg har en LPC1768 MBED mikrokontroller. Er det så lett som å eksportere en .bin fil fra arduino IDEen og så lage et enkelt program til min MBED mikrokontroller som leser bin filen og sender dataen over uart til rx tx pinsene på den andre mikrokontrolleren?

 

Etter det jeg kan finne så ser det ut til å være mulig og laste opp program med en annen mikrokontroller. Da må du nok lese deg opp på hvordan programmeringsprosessen gjøres til vanlig, og så programmere LPC1768en til å sende samme kommandoer på RX og TX.

Lenke til kommentar

Jeg bruker en slik: http://www.ebay.ie/itm/CH340-CH340G-USB-TTL-Serial-Adapter-Arduino-Pro-Mini-like-FTDI-CP2102-PL2303-UK-/251742353968?hash=item3a9d037a30:g:HWMAAOSwabhUXI6~

 

Om du ikke får produsentens driver til å fungere, så har jeg liggende en annen driver som tar alt av CH340 adapter. OBS: Husk at den skal ha 3,3V (og ikke 5V).

Endret av Professor Balthazar
Lenke til kommentar
  • 2 måneder senere...

Jeg driver å lager et digital modulasjons bibliotek til Arduino, og det innebærer at jeg må bruke delay for å time signalet mitt. Arduino har så langt jeg vet ingen elegant måte å threade på, så jeg lurte på om noen av dere har tips til hvordan jeg kan gjøre det meste ut av flere millisekunder med delay som locker hele mikrokontrolleren. Ingeniøren inni meg får vondt av tanken på så mye dødtid som kunne blitt brukt til andre ting.

Endret av Gavekort
Lenke til kommentar
  • 2 uker senere...

Hei. 

Har bestilt meg følgende:

 

WeMos D1 R2 WiFi ESP8266 (Arduino Uno)

SIM900 Quad-band GSM SHIELD

 

Som jeg tenker å ha i båten tilkoblet et 12v batteri.

 

Men blir ikke helt klok på shieldet om den støtter 12v eller ikke.

 

Arduinoen er grei i seg selv, der står det: "A power jack, 9-24V power input." Så der regner jeg med at jeg kan koble fra batteri og direkte inn via power jacken.

 

Problemet er shielden, her er uttdrag fra siden:

Power jack - connected to external 4.8~5VDC power supply

The SIM900 Board Input is 5-26V  2A,We Recommended current is more than 9V 2A

 

Disse to slo jo hverandre ihjel.

 

Noen ideer ?

Lenke til kommentar

Det står også "Power select - select the power supply for GPRS shield(external power or 5v of arduino)".

Spørsmålet er vel om arduinoen klare å gi 2A eller mer via 5V pinne®...

Den Arduino-klonen du har valgt er basert på en ESP8266 chip (ESP-8266EX), som er en 3.3 V chip "All IO is work at 3.3V."

 

Det er ikke sikkert at denne kombinasjonen virker.

Lenke til kommentar

Takk for svar.

 

Har ikke mottatt GSM shieldet enda, men tror nok denne var et bomkjøp ja.

 

Irriterende at banggood kaller den for "Arduino uno compability" når det er langt unna sannheten.

 

Dette er jo et helt annet kort, eneste som er til felles er jo at det kjører Arduino kode. Ellers så virker jo ikke de fleste bibliotek etc på det kortet uten modifikasjoner.

 

Sikkert et bra kort til sitt bruk da det har innebygd wifi og høy ytelse, men passer ikke til dette.

 

Jaja, nytt kort er bestilt. Denne gangen en vanlig clone, men uten ftdi sitt usb-serial adapter.

Lenke til kommentar
  • 2 uker senere...

halla! noen som vil hjelpe meg litt med koding i arduino? har 3 "punkter" jeg skal prøve å få til..
1, har 3 knapper til å styre RGB led stip med, 1 sensor som slår av lysene hvis jeg ikke er inærheten i f.eks 2min, knappene styrer Rød, grønn og blå farge (1 knapp pr farge), og sensoren bryter felles leder til hele led stripen (+ ledningen). har fått alt til på led så da skal det vel bare være å bytte led dioden ut med inngangen på releet..

 

2. har en RFID-RC522 sensor og en trykk knapp som skal slå på et rele, altså først må du ta forand kortet eller brikken forand RFID sensoren, så har du f.eks 20sek på å trykke på kanppen under som aktiverer et rele, trykker du på knappen en gang til så slår releet seg av igjen, så RFID sensoren må være aktivert for å slå på releet men ikke for å slå det av.. kansje legge inn 2 lyd, et som lyser grønt når RFID sensoren er aktivert og et som lyser rødt når "feil" kort blir brukt, eller blir det veldig vanskelig å få til som bare noe "ekstra"? har så vidt begynt på dette og endelig fått til at arduino reagerer på kortene og brikken på "dumpfile" filen jeg fant på nettet..

 

3. og sikkert det vanskligste, det all elektronikken skal være så har jeg 2 vifter som kan blåse luft inn i der elektonikken er, har også 1 vifte som skal blåse over et bestemt kort (kontroll kortet til 3D printere), tenkte å ha 2 temp sensorer som den ene måler temp i hele rommet, og den andre måler på kontroll kortet til 3D printeren, så når temp sensor 1 (hele rommet) blir så så varmt så slå de 2 viftene seg på og blåser luft inn, når temp sensor 2 (til kontroll kortet) bli så så varm så slår den viften seg på.

Men om temp sensor 1 ikke er aktivert så kan fremdeles temp sensor 2 bli aktivert og motsatt :)

har lyst å prøve å til mest mulig da jeg har tegnet hele printeren selv, skal lage lage progremmet til å styre den med selv (firmwaren, bruker nok repetier fw for de som vet hva det er :) ), og da vil jeg jo også prøve å få til kodingen selv men trenger nok en del hjelp :p 
nummer 3. blir nok siste jeg gjør, tenker å få til punkt nummer 2 nå også slå isammen punkt nummer 1 og 2, så begynne på punkt nummer 3. og til slutt sette den isammen med 1 og 2 :)

tror dere dette er noe som lar seg gjøre? og blir bra? :p er det noen som vil ta seg litt tid til å hjelpe meg?

Endret av iam99pk
Lenke til kommentar

Dette blir nok bra.

Hvor mye Arduino kan du? Kan du koble opp tre forskjellige knapper til hver sin inngang og lage koden som gjør at du får detektert knappetrykk? (hint: det finnes eksempler på det meste på arduino.cc)

tror også det blir bra.. fant noen koder jeg forandert en del på for å få inn flere knapper og utganger.. fikk også inn en sensor men tror ikke den funker som den skal da led lyset blinker hele tiden og releet slår seg ikke av når jeg prøvde det..

 

det er kun det jeg har av erfaring med arduino :p vet det finnes mye på nettet, men RFID var vanskelig å finne det jeg ville ha..  nummer 3 har jeg ikke prøvd på enda.. legger til koden for lys styringen i spoiler.. kan sikkert gjøres en del lettere men har gjort det slikt nå.. gjærne si hva jeg må forandre på for å få til PIR sensoren til å åpne og lukke et rele..

 

 

int inPin = 2; // the number of the input pin

int inred = 1;

int inblue = 3;

int insensor = 4;

int outPin = 13; // the number of the output pin

int outred = 12;

int outblue = 11;

int outsensor = 10;

 

int state = HIGH; // the current state of the output pin

int statered = HIGH;

int stateblue = HIGH;

int reading; // the current reading from the input pin

int readingred;

int readingblue;

int previous = LOW; // the previous reading from the input pin

int previousred = LOW;

int previousblue = LOW;

 

// the follow variables are long's because the time, measured in miliseconds,

// will quickly become a bigger number than can be stored in an int.

long time = 0; // the last time the output pin was toggled

long timered = 0;

long timeblue = 0;

long debounce = 200; // the debounce time, increase if the output flickers

long debouncered = 200;

long debounceblue = 200;

 

void setup()

{

pinMode(inPin, INPUT);

pinMode(inred, INPUT);

pinMode(inblue, INPUT);

pinMode(insensor, INPUT);

pinMode(outPin, OUTPUT);

pinMode(outred, OUTPUT);

pinMode(outblue, OUTPUT);

pinMode(outsensor, OUTPUT);

}

 

void loop()

{

reading = digitalRead(inPin);

 

// if the input just went from LOW and HIGH and we've waited long enough

// to ignore any noise on the circuit, toggle the output pin and remember

// the time

if (reading == HIGH && previous == LOW && millis() - time > debounce) {

if (state == HIGH)

state = LOW;

else

state = HIGH;

 

time = millis();

}

 

digitalWrite(outPin, state);

 

previous = reading;

 

readingred = digitalRead(inred);

 

if (readingred == HIGH && previousred == LOW && millis() - timered > debouncered) {

if (statered == HIGH)

statered = LOW;

else

statered = HIGH;

 

timered = millis();

}

 

digitalWrite(outred, statered);

 

previousred = readingred;

 

readingblue = digitalRead(inblue);

 

if (readingblue == HIGH && previousblue == LOW && millis() - timeblue > debounceblue) {

if (stateblue == HIGH)

stateblue = LOW;

else

stateblue = HIGH;

 

timeblue = millis();

}

 

digitalWrite(outblue, stateblue);

 

previousblue = readingblue;

 

int value= digitalRead(insensor);

 

if (value == HIGH)

{

digitalWrite(outsensor, HIGH);

delay(0);

digitalWrite(outsensor, LOW);

}

else

{

digitalWrite(outsensor, LOW);

}

}

 

Lenke til kommentar

Er ganske mye du prøver å gjøre på en gang her.

Ingenting er vanskelig å få til egentlig, prøv å bryte det ned i mindre biter og skriv alt selv, blir mye enklere å feilsøke.

Høres ut som ett morsomt prosjekt da.

 

 

Ikke så mye hjelp å få, men bare å ta kontakt hvis det er litt mer spesifikke ting du trenger hjelp med.

 

 

 

Dette blir nok bra.

Hvor mye Arduino kan du? Kan du koble opp tre forskjellige knapper til hver sin inngang og lage koden som gjør at du får detektert knappetrykk? (hint: det finnes eksempler på det meste på arduino.cc)

tror også det blir bra.. fant noen koder jeg forandert en del på for å få inn flere knapper og utganger.. fikk også inn en sensor men tror ikke den funker som den skal da led lyset blinker hele tiden og releet slår seg ikke av når jeg prøvde det..

 

det er kun det jeg har av erfaring med arduino :p vet det finnes mye på nettet, men RFID var vanskelig å finne det jeg ville ha..  nummer 3 har jeg ikke prøvd på enda.. legger til koden for lys styringen i spoiler.. kan sikkert gjøres en del lettere men har gjort det slikt nå.. gjærne si hva jeg må forandre på for å få til PIR sensoren til å åpne og lukke et rele..

int inPin = 2; // the number of the input pin
int inred = 1;
int inblue = 3;
int insensor = 4;
int outPin = 13; // the number of the output pin
int outred = 12;
int outblue = 11;
int outsensor = 10;

int state = HIGH; // the current state of the output pin
int statered = HIGH;
int stateblue = HIGH;
int reading; // the current reading from the input pin
int readingred;
int readingblue;
int previous = LOW; // the previous reading from the input pin
int previousred = LOW;
int previousblue = LOW;

// the follow variables are long's because the time, measured in miliseconds,
// will quickly become a bigger number than can be stored in an int.
long time = 0; // the last time the output pin was toggled
long timered = 0;
long timeblue = 0;
long debounce = 200; // the debounce time, increase if the output flickers
long debouncered = 200;
long debounceblue = 200;

void setup()
{
pinMode(inPin, INPUT);
pinMode(inred, INPUT);
pinMode(inblue, INPUT);
pinMode(insensor, INPUT);
pinMode(outPin, OUTPUT);
pinMode(outred, OUTPUT);
pinMode(outblue, OUTPUT);
pinMode(outsensor, OUTPUT);
}

void loop()
{
reading = digitalRead(inPin);

// if the input just went from LOW and HIGH and we've waited long enough
// to ignore any noise on the circuit, toggle the output pin and remember
// the time
if (reading == HIGH && previous == LOW && millis() - time > debounce) {
if (state == HIGH)
state = LOW;
else
state = HIGH;

time = millis();
}

digitalWrite(outPin, state);

previous = reading;

readingred = digitalRead(inred);

if (readingred == HIGH && previousred == LOW && millis() - timered > debouncered) {
if (statered == HIGH)
statered = LOW;
else
statered = HIGH;

timered = millis();
}

digitalWrite(outred, statered);

previousred = readingred;

readingblue = digitalRead(inblue);

if (readingblue == HIGH && previousblue == LOW && millis() - timeblue > debounceblue) {
if (stateblue == HIGH)
stateblue = LOW;
else
stateblue = HIGH;

timeblue = millis();
}

digitalWrite(outblue, stateblue);

previousblue = readingblue;

int value= digitalRead(insensor);

if (value == HIGH)
{
digitalWrite(outsensor, HIGH);
delay(0);
digitalWrite(outsensor, LOW);
}
else
{
digitalWrite(outsensor, LOW);
}
}

 

 

Lenke til kommentar

joa ser jo den men nå er dette min første gang jeg prøve med på kodig med arduino da.. så tenker jeg begynner å  bruke diverse koder jeg finner på nettet, får slått alt isammen (lærer jo en del av det) også etter hvert så legger jeg nok til flere ting og kansje koder selv..

 

 

tror PIR sensoren er gåen.. kobler bare til 5v, GND og singlaet og en led diode. LED dioden slår seg av og på med jevne mellomrom (5-10sek mellomrom)

Endret av iam99pk
Lenke til kommentar
Gjest Slettet+5132

Er helt fersk på programmering, etter å ha sett videoen "Tutorial 08: analogRead() and the Serial Port: Arduino Course for Absolute Beginners (ReM)" på youtube  https://www.youtube.com/watch?v=CPMQSXrsaO8&t 

får jeg potmeteret til å virke og tallene 0-1023 vises som dem skal. Men hvordan kan jeg endre skalaen fra 0-1023 til 00-99?

 

(er på Fil -> Eksempler -> 01.Basics -> AnalogReadSerial)

Endret av Slettet+5132
Lenke til kommentar

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...