Gå til innhold

Den store Arduino tråden, v2.0


Anbefalte innlegg

Videoannonse
Annonse

Fikk mitt første egendesignet PCB fra http://seeedstudio.com

120 kr for 10 stk 2 sider PCB, ca 2 uker fra bestilling til levering.  

Meget fornøyd med kvaliteten :)

 

http://i.imgur.com/A5RPdlE.jpg

http://i.imgur.com/UZGQbfw.jpg

 

Enkel arduino WiFi knapp med esp12-e

 

Har ett enklere og mer kompakt design som kommer om 1 uke.

 

Det var billig! Jeg betalte 377 kr for ett PCB fra Fritzing

 

 

pcb1.jpg

 

pcb2.jpg

 

 

  • Liker 1
Lenke til kommentar
  • 1 måned senere...

Arduino Uno spec sier:  Input Voltage (recommended) 7-12V.   Input Voltage (limit) 6-20V.

Har koblet opp med en Ethernet Shield. Måler strømtrekk til ca 200 mA.
 
Men den klarer ikke 12V,  regulator blir veldig varm og går i thermal shutdown etter få minutter.
Dog klarer den fint 8V. Er da bare ikke så lett å finne brukbare 'til-overs' strømforsyninger.
 
Regulator NCP1117ST skal tåle minst 1 A. Den er koblet med 47uF på begge sider og 100nF i tillegg på utgangen.
Hva er da problemet? (har prøvd forskjellige 12V supply, så det skal ikke være rippel inn).
Lenke til kommentar
  • 5 uker senere...

noen her som har prøvd å lagd automatisk vannings system for planter? :) har planer om å lage ett mini drivhus me vanning, og lufteluke som lukker å åpner seg automatisk :) kom gjerne med tips :)

 

Fuktighetssensorer (koster ingenting), vindsensor, regnsensor?, pumpe(r, evt en ventil du kan styre for å vanne riktig plante), servo til vindu, solcelle med oppladbart batteri?, "vanneadvarsel" med høyttaler :p , skjerm som viser fuktighet, antall liter vannet, oppetid etc, oppsett til ekstern vanntilførsel så du slipper å fylle på feks flaske/bøtte med vann... Er da nok å tenke på og få til om man legger litt tid i det :p

Endret av PS1
Lenke til kommentar

noen her som har prøvd å lagd automatisk vannings system for planter? :) har planer om å lage ett mini drivhus me vanning, og lufteluke som lukker å åpner seg automatisk :) kom gjerne med tips :)

 

Jeg er mitt i byggeprosessen. 11 potteplanter, 7 pumper, 7 fuktighetssensorer, 3d printet deler for å holde plastslangen på plass. Alt kjører fra 2 stk AA batteripakker. En gir ca 5v og den andre 12v. Vann hentes fra en 25 liter vanntank.

 

Koden er ganske klar og testet styringen av 1-2 pumper. Gjenstår bare å sette sammen alt. Benytter 3.5mm stereojack som connector for pumpe og sensorer, slik at det er lett og sette sammen / ta fra hverandre.

 

Har tatt lengre tid enn ventet. Da jeg hadde null kunnskap bår jeg startet 2-3 måneder siden (har ikke jobbet på det siste måneden)

Lenke til kommentar
  • 1 måned senere...
  • 3 uker senere...

Lenge siden jeg har drevet med arduino, men nå har jeg et lite prosjekt som jeg tenkte jeg skulle bruke det i.
 
Jeg har en mediaspak i bilen, som fungerte opp mot orginal spiller. Denne er byttet ut, og jeg ønsker å få denne til å fungere opp mot telefonen. Har en bluetooth media knapp som fungerer opp mot telefonen. Det jeg ønsker, er at mediaspaken i bilen, styrer denne mediaknappen. Har skrevet en kode, men sliter med å få det til å fungere. Har fått en knapp til å fungere.
 
Mediaspaken har 7 funksjoner, men 4 ledninger. Har funnet ut av hvordan denne fungerer. Spenning inn på en ledning, og forskjellig motstand ut på en anen.
 
Det jeg sliter med, er å få arduinoen til å høre på meg :p Har fått den ene knappen til å fungere (tenkte å bruke denne til play/pause), mens volum opp og ned, samt neste og forrige sang, sliter jeg med.
 
Alle disse har hver sin motstand. Har lagt inn verdiene i koden, som jeg har lest ut ved hjelp av serial monitor og en annen kode. (legger ved begge kodene i bånn av innlegget)
 
Slik det er nå, står den konstant i volume up.
 
Har koblet spenning på ledningen som skal ha spenning inn, og koblet utgangen på spaken på A0 og A1 på arduinoen, med hver sin 150 ohm motstand til gnd. Play/pause knappen er koblet inn på A1, mens volum opp og ned, samt neste og forrige kommer fra samme ledning..
 
noen som har noen forslag til endring i koden? Grunnen til bindestrek mellom verdier er bare ett forsøk jeg hadde.. Verien varierer litt imlellom disse verdiene..

 

Koden som skal brukes:

const int sensorPinone = A0;
const int sensorPintwo = A1;
const int play = 2;
const int volup = 3;
const int voldown = 4;
const int next = 5;
const int previous = 6;
const int xone = 730;
const int xtwo = 1000;
const int xtree = 550;
const int xfour = 345;

int sensorValueone = 0;


int sensorValuetwo = 0;



void setup() {
  Serial.begin(9600);
  pinMode (13, OUTPUT);
  pinMode (2, OUTPUT);
  pinMode (3, OUTPUT);
  pinMode (4, OUTPUT);
  pinMode (5, OUTPUT);
  pinMode (6, OUTPUT);
  pinMode (A0, INPUT);
  pinMode (A1, INPUT);
  digitalWrite(13, HIGH);
  digitalWrite(2, HIGH);
  digitalWrite(3, HIGH);
  digitalWrite(4, HIGH);
  digitalWrite(5, HIGH);
  digitalWrite(6, HIGH);
  delay(1000);
  digitalWrite(2, LOW);
  digitalWrite(3, LOW);
  digitalWrite(4, LOW);
  digitalWrite(5, LOW);
  digitalWrite(6, LOW);
 
  
  
  digitalWrite (13, LOW);
}

void loop() {
  sensorValueone = analogRead (sensorPinone);
  sensorValuetwo = analogRead (sensorPintwo);
  
 
  
  if (sensorValueone > 800) {
    digitalWrite(play, HIGH);
    Serial.println("play");
  }
    else{
    digitalWrite(play, LOW);
   
    }
  if (sensorValuetwo = 0) {
    digitalWrite (volup, LOW);
    digitalWrite (voldown, LOW);
    digitalWrite (next, LOW);
    digitalWrite (previous, LOW);
    
  }
   else if (sensorValuetwo, 735 - 740) {
    digitalWrite(volup, HIGH);
    Serial.println ("volume up");
  }
   else if (sensorValuetwo, 1000 - 1014) {
    digitalWrite (voldown, HIGH);
    Serial.println ("volume down");
  }
  else if (sensorValuetwo, 550 - 555) {
    digitalWrite (next, HIGH);
    Serial.println ("next");
  }
   else if (sensorValuetwo,340 - 349) {
    digitalWrite (previous, HIGH);
    Serial.println ("previous");
  }
   else {}

  
  
  
  }

Koden som jeg har brukt til å lese ut verdier til koden:

void setup() {
 Serial.begin(9600);
 pinMode (2, OUTPUT);
 
 pinMode (A1, INPUT);
 pinMode (A2, INPUT);
 digitalWrite (2, HIGH);
 
}

void loop() {
  digitalWrite (2, HIGH);
  Serial.println ("spak");
  int spak = analogRead (A1);
  Serial.println (spak);
  delay (1000);
  
  

}
Lenke til kommentar
if (sensorValuetwo = 0) {

Bruk dobbel likhetstegn her ellers vil denne alltid bli "1" regner jeg med.

Slik:

if (sensorValuetwo == 0) {

Mangler du ikke noen krokkedilletegn o.l på de else ifene din også. Er jo komma mellom variabel og konstant.

Er også unødvendig å bruke pinMode på analog IO med mindre du skal bruke de som digitale IO.

  • Liker 1
Lenke til kommentar

Kan gi det et forsøk. 

 

Kan godt hende det mangler noe i det jeg har kopiert over, men har endret litt i ettertid, samt at noen pinModes står der fra et av mine forsøk :p

 

Men, om variabelen som skal aktivere digitalpin2 veksler litt mellom 735 og 740, hvordan skal jeg skrive det da? har målt den ut på alt i fra 736 til 739, men har ikke funnet noen måte å skrive koden som at den skal reagere imellom de to.

 

Skal teste med dobbel equal tegn nå med en gang

 

Edit:

 

Dobbelt erliktegn gjorde ihvertfall at den ikke stod med volume up på hele tiden, men ingen andre enn play reagerte. Så tror jeg må få til at verdien må være imellom f.eks 735 til 740 på den ene, og to andre verdier på den andre. Noen formening om hvordan jeg får skrevet inn det? 

Endret av The Crusher
Lenke til kommentar
  • Uderzo avklistret denne emne

Bli med i samtalen

Du kan publisere innhold nå og registrere deg senere. Hvis du har en konto, logg inn nå for å poste med kontoen din.

Gjest
Skriv svar til emnet...

×   Du har limt inn tekst med formatering.   Lim inn uten formatering i stedet

  Du kan kun bruke opp til 75 smilefjes.

×   Lenken din har blitt bygget inn på siden automatisk.   Vis som en ordinær lenke i stedet

×   Tidligere tekst har blitt gjenopprettet.   Tøm tekstverktøy

×   Du kan ikke lime inn bilder direkte. Last opp eller legg inn bilder fra URL.

Laster...
  • Hvem er aktive   0 medlemmer

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