Gå til innhold

Den store Arduino tråden, v2.0


Anbefalte innlegg

  • 3 uker senere...
Videoannonse
Annonse

Da er arduino eventyret startet for meg og, fikk min Mega igår,

 

Men nå har jeg tenkt å overvåke temperaturen i akvariet så må ha meg en dedikert arduino til det. (Skal ha meg raspberry pi og light hjemmeautomasjon ila året.)

 

Handlisten blir da:

Arduino Nano

433 Mhz TX/RX

Vanntett sensor (kjøper forhåpentligvis en som ikke avgir giftstoffer til fiskene :p )

 

Noe jeg ikke har tenkt på? Strømforsyning blir usb lader tilkoblet stikkontakt.

Temp avlesning enten på Mega'en via laptop eller lite display, målet er å få det på mobiltelefon.

Lenke til kommentar
  • 2 uker senere...

Holder på med Arduino Mega og skal koble til 433 mhz sender og mottaker, holder på med http://www.nemcon.nl/blog2/ (433 mhz gateway enhet for hjemmeautomasjon) Har RPI og Mega, men ikke gateway kortet. Men fikk 433 Mhzreceiver og transceivere idag.

 Free-shipping-433Mhz-RF-link-kit-for-Ard

 

Og da står det så fint

Step 4:
Connect the RFlink gateway board to the Arduino Mega.
Alternatively, attach RF modules following the included circuit diagram to the Arduino Mega.

rfl_sch.jpg

at jeg skal koble VCC'ene på henholdsvis D15 og D16, som på Mega2560 er RX3 og TX2, vil det si da at det er noe i RFLink programmet jeg laster ned til Mega2560 som sørger for at disse 2 vil gi ut 5v kontinuerlig?

Lenke til kommentar

...

 

at jeg skal koble VCC'ene på henholdsvis D15 og D16, som på Mega2560 er RX3 og TX2, vil det si da at det er noe i RFLink programmet jeg laster ned til Mega2560 som sørger for at disse 2 vil gi ut 5v kontinuerlig?

 

Det er godt mulig at programmet setter D15 og D16 høye, slik at de gir 5V ut.

Når VCC er koblet til digitale utganger kan Megaen skru av og på RXen og TXen i software, og det kan være derfor det er koblet slik.

Lenke til kommentar
  • 2 uker senere...

Er det mulig for en Arduino (egentlig en selvstendig AVR-chip, men programmert med en del av Ardunio-bibliotekene) og en Raspberry Pi å dele en I2C-buss, hvor begge kan lese/skrive til et display og en RTC?

 

Har googlet litt og finner masse informasjon på hvordan man kan få en Arduino og en Raspberry Pi til å snakke med hverandre, men lite håndfast ang. å bruke begge til å styre andre enheter på bussen.

 

Kommer til å kjøre alt på 3,3V, så logic level på Raspberry Pi og AVR-chippen vil være det samme.

Lenke til kommentar

Det burde være mulig, siden I2C er en multi-master buss. Fra avsnittet om arbitration: "Every master monitors the bus for start and stop bits, and does not start a message while another master is keeping the bus busy. However, two masters may start transmission at about the same time; in this case, arbitration occurs."

Men jeg har ikke testet det selv, så jeg vet ikke hvor bra (eller dårlig) det funker i praksis,

Her er en tråd om multi master med Arduino: http://forum.arduino.cc/index.php?topic=13579.0

og her fant jeg en beskrivelse med Raspberry Pi og Arduino: http://blog.mshmelev.com/2013/06/connecting-raspberry-pi-and-arduino.html

 

lykke til.

  • Liker 1
Lenke til kommentar

Gidder noen å hjelpe meg med denne? Det er noe galt med lesing av "laserbeamPin" for hendelsen løper fortløpende helt uanvhengig av om laserstrålen er brutt eller ikke.

 

 

/*

Cirquit for laser beam camera trigger and strobe or low-light prelight ending with a big-freezing flash.
 */

// constants won't change. They're used here to
// set pin numbers:
const int laserbeamPin = 10;     // the number of the
const int cameraPin =  2;      // the number of the
const int softlightPin =  3;      // the number of the
const int strobeAPin =  4;      // the number of the
const int strobeBPin =  5;      // the number of the
const int flashPin =  6;      // the number of the

// variables will change:
int buttonState = 0;         // variable for reading the pushbutton status
int timerPin = A0;    // select the input pin for the potentiometer
int timerValue = 0;  // variable to store the value coming from the sensor


void setup() {
   // initialize the lasebeam pin as an input:
  pinMode(laserbeamPin, INPUT);
  // initialize the output pins:
  pinMode(cameraPin, OUTPUT);    
 pinMode(softlightPin, OUTPUT);  
pinMode (strobeAPin, OUTPUT);
pinMode (strobeBPin, OUTPUT);
pinMode (flashPin, OUTPUT);  
}

void loop(){
   // read the value from the sensor:
  timerValue = analogRead(timerPin)*1/2;    
 
  // read the state of the pushbutton value:
  buttonState = digitalRead(laserbeamPin);

  // check if the pushbutton is pressed or laser broken.
  // if it is, the laserState is LOW:
  if (buttonState == LOW) {     
    // turn camera on:    
    digitalWrite(cameraPin, HIGH);
    delay (50);                         
      digitalWrite(cameraPin, LOW);
      delay (200);                      // camera LAG
    digitalWrite(softlightPin, HIGH);   // softlight ON
     digitalWrite(strobeAPin, HIGH);    // Stobe A
    delay (20);
      digitalWrite(strobeAPin, LOW);
  delay(timerValue);                      // stop the program for <timerValue> milliseconds
     digitalWrite(strobeAPin, HIGH);
    delay (20);
      digitalWrite(strobeAPin, LOW);
  delay(timerValue);             
      digitalWrite(strobeAPin, HIGH);   
    delay (20);
      digitalWrite(strobeAPin, LOW);
    delay(timerValue);             
     digitalWrite(strobeAPin, HIGH);
    delay (20);
      digitalWrite(strobeAPin, LOW);
     delay(timerValue);             
           digitalWrite(strobeBPin, HIGH);   // Stobesett B
    delay (20);
      digitalWrite(strobeBPin, LOW);
   delay(timerValue);             
     digitalWrite(strobeBPin, HIGH);
    delay (20);
      digitalWrite(strobeBPin, LOW);
     delay(timerValue);             
           digitalWrite(strobeBPin, HIGH);
    delay (20);
      digitalWrite(strobeBPin, LOW);
  delay(timerValue);             
     digitalWrite(strobeBPin, HIGH);
    delay (20);
      digitalWrite(strobeBPin, LOW);
      delay(timerValue);             
        digitalWrite(softlightPin, LOW);   // softlight OFF
    delay (340);                              // delay before main-flash
    digitalWrite(flashPin, HIGH);
   delay (20);
    digitalWrite(flashPin, LOW);
      buttonState = HIGH;
      delay (3000);
  }
  else {
    // turn all off:
    digitalWrite(cameraPin, LOW);
     digitalWrite(softlightPin, LOW);
        digitalWrite(strobeAPin, LOW);
        digitalWrite(strobeBPin, LOW);
          digitalWrite(flashPin, LOW);
  }
}

Endret av Professor Balthazar
Lenke til kommentar

Har du pull-up resistor på inngangen (og ikke pull-down)? Gitt at lyssensoren gir et lavt signal ved brudd.

 

En annen ting: Du trenger bare å bruke "byte" i stedet for "int" når du definerer pins osv. "Int" opptar 2 bytes i motsetning til byte som bruker bare 1 byte. Dog ikke så farlig i så små programmer.

 

Skulle være unødvendig å sette  buttonState = HIGH; på slutten også da denne blir overskrevet hver gang loopen begynner på nytt.

Endret av BigJackW
  • Liker 1
Lenke til kommentar

Er det noen som har erfaring med ESP8266?

 

Denne lille saken virker nesten litt for godt til å være sann.

Innebygget wifi,512kb-4mb flash minne og 3-8(?)gpio .

Og den kan programeres i arduino IDE.

 

Jeg kjøpte en haug av disse i ulike varianter for 2$-4$, nå er det bare å smøre seg med tålmodighet til det kinesiske postvesenet våkner fra nyttårsrusen.

 

gZjYTwJ.jpg

Lenke til kommentar

Er det noen som har erfaring med ESP8266?

 

Denne lille saken virker nesten litt for godt til å være sann.

Innebygget wifi,512kb-4mb flash minne og 3-8(?)gpio .

Og den kan programeres i arduino IDE.

 

Jeg kjøpte en haug av disse i ulike varianter for 2$-4$, nå er det bare å smøre seg med tålmodighet til det kinesiske postvesenet våkner fra nyttårsrusen.

 

gZjYTwJ.jpg

 

Hold oss oppdatert :D Endret av andershf
Lenke til kommentar

Det er flere på det lokale hackerspacet (Bitraf) som har brukt / bruker ESP8266. De liker den. Noen ESP8266 kommer med innebygd Lua. En som hadde prøvd det syns at det ble litt begrenset plass (vet ikke hvor mye plass Lua-tolken tar) til å lage ting, han ville heller programmer den direkte.

Lenke til kommentar

Hold oss oppdatert :D

Will do!

 

Har hatt så mange prosjekter som har blitt skrinlagt pga manglende wifi.

Er litt forskjell fra å gå fra arduino og wifi som har kostet rundt 500 kr, til 8266 som koster rundt 20 kr.

 

Nå blir det wifi,termometer og vektmåling i kaffekoppen

Det er flere på det lokale hackerspacet (Bitraf) som har brukt / bruker ESP8266. De liker den. Noen ESP8266 kommer med innebygd Lua. En som hadde prøvd det syns at det ble litt begrenset plass (vet ikke hvor mye plass Lua-tolken tar) til å lage ting, han ville heller programmer den direkte.

Har aldri brukt Lua ,har ike sett fordelen med det.

Men skulle tru 4M var nok, ihvertfall når man går ifra atmega328 med 32kB minne

Endret av Howard_
Lenke til kommentar

Er det noen som har erfaring med ESP8266?

 

Denne lille saken virker nesten litt for godt til å være sann.

Innebygget wifi,512kb-4mb flash minne og 3-8(?)gpio .

Og den kan programeres i arduino IDE.

 

Jeg kjøpte en haug av disse i ulike varianter for 2$-4$, nå er det bare å smøre seg med tålmodighet til det kinesiske postvesenet våkner fra nyttårsrusen.

Har lekt litt med dem. Om du sliter med å få kontakt med den via serial så anbefales det at du tester med en ekstern 3.3v strømforskyning. Prøvde meg først på å bare hente strøm fra usb til serial converteren, men da sleit jeg med at jeg ikke fikk kontakt. Med en gang jeg koblet opp en ekstern forskyning så våknet den til liv med en gang.

Endret av Mr. A
Lenke til kommentar
  • 3 uker senere...

Jeg digger Arduino Nano, men de siste årene har det blitt vanskeligere å vanskeligere å finne noen billige på eBay som faktisk fungerer på USB-portene på mine PC'er med Win-7 64-bit. Kortene kommer med forskjellige RS-232 til USB brikker på baksiden. Mange kommer med en driverchip som heter CH340. I dag fikk jeg noen nye Nanoer, men PC'ene mine klarte ikke å "se" noen av dem. Så fant jeg denne Kinesiske driveren, nå fungerer alt bærre lekkert :-) 

 

http://www.wch.cn/download/CH341SER_EXE.html

(installerte den øverste).

Endret av Professor Balthazar
Lenke til kommentar

Da har jeg fått lekt meg litt med esp8266.

 

Førsteintrykket er fantastisk, har ikke hatt noe krøll med den ennå, mangler bare noen gode prosjekt ideer.

Overraskende god rekkevidde og stabilitet.

 

Har en som har sendt temperaturer hvert 5 minutt til en server i 5 dager uten noe problem.

 

Bildet er fra en bt.tn klone jeg lagde.

 

Og ja breakoutboardet er svidd, noen hadde justert tempen på loddestasjonen...

 

qlLK7p6.jpg

  • Liker 1
Lenke til kommentar

Har du koblet den mot batteri den som sender temperatur?

Nei, har den på dc.

 

Gjort noen forsøk på batteri, men plages med høyt strømbruk når WiFi er på.

Kan legge den ned i deep sleep, men ikke alltid den våkner dessverre. Kan være koden min da

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å
×
×
  • Opprett ny...