Show Posts
Pages: 1 2 [3] 4 5 ... 26
31  International / Nederlands / Re: Android en Arduino en Bluetooth (alweer?) on: January 10, 2013, 02:34:12 pm
Sorry, geen ervaring met bluetooth. Er bestaan bt shields en een speciale bt arduino.
32  International / Nederlands / Re: Geen sketch op atmega328-pu op breadboard on: January 10, 2013, 02:26:36 pm
Ook niet met FTDI kabel of een USB2SERIAL adapter?
33  International / Nederlands / Re: Atmel Studio 6.0 COM poort on: January 10, 2013, 02:23:46 pm
Meerdere files in Arduino IDE = meerdere tabbladen

Op elk tabblad kan je bv een andere void plaatsen.

Check eens een project van me:

http://www.jo3ri.be/arduino/projects/sure3208-ntp-clock

Laat alle files in de hoofdmap staan en open enkel de file met dezelfde naam als die van de map in Arduino IDE. Alle andere files in de map worden dan in tabbladen geladen.
34  International / Nederlands / Re: automatiseren generator on: January 10, 2013, 02:16:19 pm
Tip !!!

 zonder PROGMEM zal je 2kb grote SDRAM vol lopen en zelfs overlopen (als je alle html gewoon in de code zet) je kan zelf controleren door alle karakters en spaties te tellen. SDRAM is ongeveer 2000 karakters. En libraries nemen soms al heel wat van deze SDRAM in beslag.

Je sketch doet dan plots vreemd, of blijft hangen, maar je zal nooit weten waarom. Hierom dus.
35  Development / Other Software Development / Re: State of Arduino Ethernet Library on: January 10, 2013, 06:43:35 am
I needed the Arduino Ethernet Library to give me back the DHCP-server's IP address, So I changed the Ethernet.h and Ethernet.cpp files (Arduino IDE 1.0.3)

Now one can use this in his sketch to get the DHCP-server's IP-address:

Code:
byte dhcpip[4];
for (byte i = 0; i < 4; i++)
{
  dhcpip[i] = Ethernet.dhcpServerIP()[i];
}

could someone submit these changes?

The topic I used to help me on the dhcp subject:
http://arduino.cc/forum/index.php/topic,133670.0

This is what I added in Ethernet.h (between the *********************************):

Code:
#ifndef ethernet_h
#define ethernet_h

#include <inttypes.h>
//#include "w5100.h"
#include "IPAddress.h"
#include "EthernetClient.h"
#include "EthernetServer.h"
#include "Dhcp.h"

#define MAX_SOCK_NUM 4

class EthernetClass {
private:
  IPAddress _dnsServerAddress;
//**************************************
  IPAddress _dhcpServerAddress;
//**************************************
  DhcpClass* _dhcp;
public:
  static uint8_t _state[MAX_SOCK_NUM];
  static uint16_t _server_port[MAX_SOCK_NUM];
  // Initialise the Ethernet shield to use the provided MAC address and gain the rest of the
  // configuration through DHCP.
  // Returns 0 if the DHCP configuration failed, and 1 if it succeeded
  int begin(uint8_t *mac_address);
  void begin(uint8_t *mac_address, IPAddress local_ip);
  void begin(uint8_t *mac_address, IPAddress local_ip, IPAddress dns_server);
  void begin(uint8_t *mac_address, IPAddress local_ip, IPAddress dns_server, IPAddress gateway);
  void begin(uint8_t *mac_address, IPAddress local_ip, IPAddress dns_server, IPAddress gateway, IPAddress subnet);
  int maintain();

  IPAddress localIP();
  IPAddress subnetMask();
  IPAddress gatewayIP();
  IPAddress dnsServerIP();
//*****************************************
  IPAddress dhcpServerIP();
//*****************************************
  friend class EthernetClient;
  friend class EthernetServer;
};

extern EthernetClass Ethernet;

#endif

This is what I added in Ethernet.cpp (between the *********************************):

Code:
#include "w5100.h"
#include "Ethernet.h"
#include "Dhcp.h"

// XXX: don't make assumptions about the value of MAX_SOCK_NUM.
uint8_t EthernetClass::_state[MAX_SOCK_NUM] = {
  0, 0, 0, 0 };
uint16_t EthernetClass::_server_port[MAX_SOCK_NUM] = {
  0, 0, 0, 0 };

int EthernetClass::begin(uint8_t *mac_address)
{
  _dhcp = new DhcpClass();


  // Initialise the basic info
  W5100.init();
  W5100.setMACAddress(mac_address);
  W5100.setIPAddress(IPAddress(0,0,0,0).raw_address());

  // Now try to get our config info from a DHCP server
  int ret = _dhcp->beginWithDHCP(mac_address);
  if(ret == 1)
  {
    // We've successfully found a DHCP server and got our configuration info, so set things
    // accordingly
    W5100.setIPAddress(_dhcp->getLocalIp().raw_address());
    W5100.setGatewayIp(_dhcp->getGatewayIp().raw_address());
    W5100.setSubnetMask(_dhcp->getSubnetMask().raw_address());
    _dnsServerAddress = _dhcp->getDnsServerIp();

   //**************************************
    _dhcpServerAddress = _dhcp->getDhcpServerIp();
   //**************************************
   
  }

  return ret;
}

void EthernetClass::begin(uint8_t *mac_address, IPAddress local_ip)
{
  // Assume the DNS server will be the machine on the same network as the local IP
  // but with last octet being '1'
  IPAddress dns_server = local_ip;
  dns_server[3] = 1;
  begin(mac_address, local_ip, dns_server);
}

void EthernetClass::begin(uint8_t *mac_address, IPAddress local_ip, IPAddress dns_server)
{
  // Assume the gateway will be the machine on the same network as the local IP
  // but with last octet being '1'
  IPAddress gateway = local_ip;
  gateway[3] = 1;
  begin(mac_address, local_ip, dns_server, gateway);
}

void EthernetClass::begin(uint8_t *mac_address, IPAddress local_ip, IPAddress dns_server, IPAddress gateway)
{
  IPAddress subnet(255, 255, 255, 0);
  begin(mac_address, local_ip, dns_server, gateway, subnet);
}

void EthernetClass::begin(uint8_t *mac, IPAddress local_ip, IPAddress dns_server, IPAddress gateway, IPAddress subnet)
{
  W5100.init();
  W5100.setMACAddress(mac);
  W5100.setIPAddress(local_ip._address);
  W5100.setGatewayIp(gateway._address);
  W5100.setSubnetMask(subnet._address);
  _dnsServerAddress = dns_server;
}

int EthernetClass::maintain(){
  int rc = DHCP_CHECK_NONE;
  if(_dhcp != NULL){
    //we have a pointer to dhcp, use it
    rc = _dhcp->checkLease();
    switch ( rc ){
      case DHCP_CHECK_NONE:
        //nothing done
        break;
      case DHCP_CHECK_RENEW_OK:
      case DHCP_CHECK_REBIND_OK:
        //we might have got a new IP.
        W5100.setIPAddress(_dhcp->getLocalIp().raw_address());
        W5100.setGatewayIp(_dhcp->getGatewayIp().raw_address());
        W5100.setSubnetMask(_dhcp->getSubnetMask().raw_address());
        _dnsServerAddress = _dhcp->getDnsServerIp();
        break;
      default:
        //this is actually a error, it will retry though
        break;
    }
  }
  return rc;
}

IPAddress EthernetClass::localIP()
{
  IPAddress ret;
  W5100.getIPAddress(ret.raw_address());
  return ret;
}

IPAddress EthernetClass::subnetMask()
{
  IPAddress ret;
  W5100.getSubnetMask(ret.raw_address());
  return ret;
}

IPAddress EthernetClass::gatewayIP()
{
  IPAddress ret;
  W5100.getGatewayIp(ret.raw_address());
  return ret;
}

IPAddress EthernetClass::dnsServerIP()
{
  return _dnsServerAddress;
}

//**************************************
IPAddress EthernetClass::dhcpServerIP()
{
  return _dhcpServerAddress;
}
//**************************************

EthernetClass Ethernet;
36  Community / Workshops and Events / ARDUINO JAM EDITION 3 @ TIMELAB GHENT (Belgium) on: January 10, 2013, 06:17:41 am
Hello fellow Arduino enthusiasts we are currently preparing the third Arduino Jam.

Starting at the 15th of February 2013 at 17h00 end ending 48 hours later on the 17th at 17h00, we will join together once again to let our creativity and knowledge flow into a yet non existing Arduino project that probably will be featured on instructables or hackaday.

So enter the jam and join our quest for an Arduino- & joy-full weekend.

http://arduino-jam.org
37  Using Arduino / Networking, Protocols, and Devices / Re: how to find out DHCP-server's IP-address? [SOLVED ... BUT] on: January 10, 2013, 06:14:05 am
OK, I figured out what files I had to change:

Ethernet.h
Ethernet.cpp

But this means, every one wanting to use this sketch, will have to change there Ethernet Library (I attached my files). Can't I just include these files into my sketch? I tried todo so, but the Arduino IDE complains about a conflict between the original files (in the library folder) and the ones in my sketch. Why?

OR maybe even better, Can't I submit my change? So that everyone can use this: finding out your dhcp-servers IP-address.
38  International / Nederlands / Re: automatiseren generator on: January 08, 2013, 04:29:40 am
@rikky

Quote
<avr/pgmspace.h> blijft nog steeds zwart, en staat niet bij de libraries.
klopt, ik heb nu eindelijk door,  dat je die gewoon mag weglaten bij de includes. (hij wordt sowieso geladen)

ik gebruik PROGMEM om de html pas te in het geheugen te laden als het nodig is, doe je dit niet, dan zit de 2KB SRAM onmiddellijk vol. Met PROGMEM vloeit de html door een buffer (bv 125 bytes van SRAM). Een beetje meer uitleg vind je hier:

http://www.jo3ri.be/arduino/projects/an-integrated-webpage-with-image

Quote
<SoftwareSerial.h> staat inderdaad bij de libraries, maar in de scetch TankLevelMeaseringWeb1_1, blijft ie zwart gekleurd,???? samen met <avr/pgmspace.h>
(Alle andere libraries kleuren rood)
Sommige versies werken maar half (shame on me), gebruik best versie 2.0

Quote
Met de Arduino 1.1 geeft ie een byte dns[] redeclared as different kind of symbol op regel 95 (versie 2)
byte dns[] = {192,168,1,1}; // fill out your own gateway's ip address or change this in your browser (EEPROM)

Er is iets vreemds met IDE 1.1 Deze versie wil namelijk niet dat je zelf DNS invult en maakt daar dus problemen over, vandaar dat ik versie 1.0 gebruik.

Quote
Morgen weer een dag.
Dank je wel in ieder geval.

Het beste is om eerst je HTML pagina te maken, los van Arduino, zodat deze toont wat je wil. Daarna kan je dan deze in je code integreren.

ik weet dat die code van mijn project er ingewikkeld uitziet (en ook is), er zit trouwens een heel stuk in om het Ethernet te configureren via een webpage, maar dat zal jij vermoedelijk niet nodig hebben.
39  International / Nederlands / Re: Geen sketch op atmega328-pu op breadboard on: January 08, 2013, 04:17:56 am
dit is zo'n ISP shield:

http://shop.evilmadscientist.com/productsmenu/tinykitlist/253

maar het kan ook op een breadboard.

dit is een tutorial: http://www.sparkfun.com/tutorials/200 om een arduino te gebruiken als isp
en deze is een andere: http://www.instructables.com/id/Turn-Your-Arduino-Into-an-ISP/

ik vind het gebruik van een FTDI kabel of een USB2SERIAL adapter nog steeds het makkelijkste. (je hebt geen extra Arduino nodig)
40  International / Nederlands / Re: automatiseren generator on: January 07, 2013, 05:03:56 pm
Euh ?

Welke arduino ide gebruik je? Want die library is standaard.

Probeer eens arduino ide 1.0, want je moet echt niks extra installeren hoor.
41  International / Nederlands / Re: Geen sketch op atmega328-pu op breadboard on: January 07, 2013, 03:47:19 pm
Met USB2serial bedoel ik eigenlijk deze:



[url][http://arduino.cc/en/Main/USBSerial/url]

En niet een usb to seriƫle kabel zoals voor je computer

Heb je die van de foto? Zo niet, denk er dan maar eens over na om eentje te kopen. Een FTDI kabel is ook een optie en via google vind je oplossingen om zelf eentje te maken. Zoek op DIY en FTDI.
42  International / Nederlands / Re: automatiseren generator on: January 07, 2013, 08:12:18 am
Mijn systeem hangt in een vat met diesel en komt NIET in contact met de diesel en werkt. Dus als je dit systeem gebruikt en de sensor niet in contact komt met de olie, zou het ook moeten lukken.

Het is eigenlijk een afstandsmeter die het niveau meet van boven uit.
43  International / Nederlands / Re: Geen sketch op atmega328-pu op breadboard on: January 07, 2013, 07:37:18 am
Je kan een sketch uploaden naar je BBA (barebone arduino):
- met een arduino zonder chip erop (maar jij kan, je chip niet verwijderen, dus geen optie)
- of met een FTDI kabel.
- of met een USB2SERIAL kabel.
- of je koopt een oudere Arduino waar je de chip afhaalt en dan voorlopig je eigen chip opsteekt om je sketch te uploaden.

Als je dit veel gaat doen, dan koop je volgens mij best een FTDI kabel of een USB2SERIAL.

check dit eens ter info:

http://www.jo3ri.be/arduino/projects/barebonearduino-1

en eventueel deze:
http://www.jo3ri.be/tutorials
44  International / Nederlands / Re: Waar/welke case kopen? on: January 07, 2013, 07:28:31 am
Hoi jtlns,

Ik gebruik zowel de cases van Arduino (zoals in j reverentie) als gewoon een houten mdf plankje waarop ik alles vastvijs.

Er zijn er ook veel die gewoon een tuperware potje met deksel gebruiken, want dat kan je makkelijk open en dicht doen en makkelijk bewerken met boor en snijmes.
Andere gebruiken dan weer IP54 doosjes en lijmen alles erin met een lijmpistool.

Nog anderen maken zelf doosjes uit multiplex of kunststof met een laser cutter.

of je kan ook iets in dik karton maken.

Kijk bv eens naar deze post:

http://arduino.cc/forum/index.php/topic,82970.msg623124.html#msg623124

45  International / Nederlands / Re: automatiseren generator on: January 07, 2013, 06:32:25 am
Hoi Ricky

check mijn project eens: http://www.jo3ri.be/arduino/projects/tank-level-measuring-basic

vooral deze screenshot:


De groene letters worden elke seconde geupdate, maar de rest van de pagina niet.

en in deze screenshot wordt het niveau van de vaten geupdate en ook de % waarde, maar ook de rest van de pagina niet.


Dus: ja het kan zeker en vast. De truk ligt niet bij Arduino, maar bij HTML, je moet gebruik maken van iframes. Je maakt eigenlijk een aparte pagina met enkel de waardes (of tekeningen) die je laat verversen elke seconde (of 5 seconden) en deze pagina zet je in een iframe in je hoofdpagina.

Wat ook kan is dat je van elke knop een submit knop maakt met een waarde aan de knop zelf bv 1, in je code zelf kan je dan makkelijk een waarde van een variabel laten wisselen iedere keer als de knop wordt ingedrukt.

Succes.
Pages: 1 2 [3] 4 5 ... 26