Show Posts
Pages: 1 2 [3] 4 5 ... 44
31  International / Deutsch / Re: Projekt: LCDMenuLib - LCD Menü mit mehreren Ebenen (4Bit/I2C/ShiftReg/...) on: June 10, 2014, 05:50:33 am
Probier es mal so oder so ähnlich, ich kann es nun nicht testen da ich keinen Encoder besitze.

In Controll:
Code:
boolean lastEncoderValue = False;

void LCDMenuLib_control_encoder()
{
boolean statusEncoder;
uint8_t button = 0;

statusEncoder = digitalRead(Encoder_PinA);               //Variable i = Encoder PinA
if ((lastEncoderValue == LOW) && (statusEncoder == HIGH)) {
if (digitalRead(Encoder_PinB) == LOW) {     //wenn Encoder PinB low ist
button = 1; // links ?
} else {
button = 2; // rechts ?
}
}

lastEncoderValue = statusEncoder;
     

if(LCDML.Timer(g_LCDMenuLib_press_time, _LCDMenuLib_cfg_press_time) && button > 0)
{
   if(digitalRead(Encoder_Push)) { LCDML.Button_enter(); }
   //else if(digitalRead(_BUTTON_digital_up)) { LCDML.Button_up_down_left_right(_LCDMenuLib_button_up); }
   //else if(digitalRead(_BUTTON_digital_down)) { LCDML.Button_up_down_left_right(_LCDMenuLib_button_down); }
   //else if(digitalRead(_BUTTON_digital_quit) && _BUTTON_digital_enable_quit == 1) {LCDML.Button_quit(); }
   else if(button == 1) { LCDML.Button_up_down_left_right(_LCDMenuLib_button_left);}
   else if(button == 2) { LCDML.Button_up_down_left_right(_LCDMenuLib_button_right);}       

}

Im Setup, deine Pin definitionen mit  pinMode(.......)

Im Loop
Code:
//..
//LCDMenuLib_control_analog();      /* lcd menu control - config in tab "LCDML_control" */
  //LCDMenuLib_control_digital();     /* lcd menu control - config in tab "LCDML_control" */
  //LCDMenuLib_control_serial();        /* lcd menu control */ 
  LCDMenuLib_control_encoder();        /* lcd menu control */ 
  LCDMenuLib_loop();                  /* lcd function call */
//..

Die zurück Buttons auf jeder Ebene musst du dir selbst bauen, dazu gibt es auf irgendeiner der vorherigen Seite eine Anleitung, ich weiß nun aber nicht genau wo. Wenn ich sie finde füg ich sie hier noch ein.
32  International / Deutsch / Re: Projekt: LCDMenuLib - LCD Menü mit mehreren Ebenen (4Bit/I2C/ShiftReg/...) on: June 10, 2014, 04:54:56 am
Code geht mit  [ code ] [ /code ] ohne Leerzeichen.

Den Quellcode den du oben gepostet hast, der stammt aber nicht aus deinem Code, das ist ein Teil aus der Lib. Zeig mal bitte deinen eigenen Code

Edit:
Ihr wart schneller ;-)
33  International / Deutsch / Re: Projekt: LCDMenuLib - LCD Menü mit mehreren Ebenen (4Bit/I2C/ShiftReg/...) on: June 10, 2014, 04:24:56 am
@Letty
Das nur Menufunktionen von dieser Funktion betroffen sind ist absicht. Jede andere Funktion kann man direkt aufrufen.

@Giovanni85
Kannst du den Encoder schon auslesen ?  Falls nein, erstell bitte ein eigenes Thema. Sobald dieses funktioniert kann ich dir hier weiterhelfen um die Steuerung anzupassen. Dies ist dann in ein paar Minuten erledigt.
34  International / Deutsch / Re: Tutorial - Messdaten auf Webspace ablegen und grafisch darstellen on: May 25, 2014, 10:52:42 am
Zur Datenbank muss ich leider noch etwas meckern.

So wie deine Inserts aussehen ist das sehr offen. Ich könnte z.B: mit einer passenden Anfrage über $_GET  deine Datenbank lahmlegen oder gar klauen. Such mal nach dem Begriff SQL Injektion und schau dir in php mal die PDO und / oder mysqli Erweiterung an.

Ansonsten sieht das schon sehr gut aus ;-)
35  International / Deutsch / Re: Arduino über Raspberry PI steuern und programmieren on: May 25, 2014, 03:16:47 am
Oder schau mal in diesen Thread, dort basteln wir auch an so etwas rum ;-)

http://forum.arduino.cc/index.php?topic=234777.msg1698168#msg1698168

Ich kann mittlerweile bei mir das Hexfile per Website hochladen und es wird anschließend auf den Arduino übertragen.
36  International / Deutsch / Re: Projekt: LCDMenuLib - LCD Menü mit mehreren Ebenen (4Bit/I2C/ShiftReg/...) on: May 25, 2014, 02:14:54 am
An welche Stelle im Programm muss denn die LCDMenuLib_jumpToFunc(funcname);  gesetzt werden?

Ich habe es im setup probiert und im loop aber bei beiden malen Startet das Display nicht mehr bzw lässt sich nicht mehr bedienen.

Probier es mal hiermit:
Code:
//....
//Deaktivieren des Init Screens, da du ja eien eigene Funktion nutzen willst
//....

//....
void setup()
{   
  LCDMenuLib_setup(_LCDMenuLib_cnt);  /* Setup for LcdMenuLib */
  Serial.begin(9600);                 /* start serial */
  LCDMenuLib_jumpToFunc(FUNC_p2); 
}
//.....

In die Endfunktion von FUNC_p2 könntest du dann z.B.   

LCDML.goRoot();

einbauen. Mit diesem Befehl kommst du zurück zum Hauptmenü egal von wo.
37  International / Deutsch / Re: Projekt: LCDMenuLib - LCD Menü mit mehreren Ebenen (4Bit/I2C/ShiftReg/...) on: May 25, 2014, 02:05:28 am
Vermutlich ja, aber ohne Quellcode können wir alle nur raten
38  International / Deutsch / Re: Arduino <-> Raspberry <-> MySQL Serial Communication on: May 25, 2014, 02:04:22 am
Hi, kannst du teile deines Codes hier hochladen, ich hab die Teile meines Codes nicht gespeichert und müsste mir von oben alles zusammenkopieren. ;-)
Im Moment blick ich da nicht durch.
39  International / Deutsch / Re: Projekt: LCDMenuLib - LCD Menü mit mehreren Ebenen (4Bit/I2C/ShiftReg/...) on: May 23, 2014, 05:25:39 am
Ich bin bis Sonntag im Urlaub und schick dir dann ein Beispiel. Es kann auch Montag werde, je nachdem wie gut das Wetter am Sonntag ist ;-)
40  International / Deutsch / Re: Projekt: LCDMenuLib - LCD Menü mit mehreren Ebenen (4Bit/I2C/ShiftReg/...) on: May 15, 2014, 11:36:40 am
Hi, beides ist möglich.  Der Innit Screen ist quasi so eine Funktion.  Du kannst aber auch das Menü mit einer Funktionen beginnen lassen. ( LCDMenuLib_jumpToFunc(funcname); ) Das mit dem Zurück Knopf versteh ich nicht ganz, mal funktionierts, mal nicht oder wie ?
Wieso sind bei der Funktion mehr { }  drin als benötigt werden ?
41  International / Deutsch / Re: Arduino + Raspberry Pi Roboter on: May 15, 2014, 10:05:11 am
Hi,
Möglichkeiten, um die Drehung zu erkennen
- Radsensoren (Vorsichtig mit Schlupf)
- Gyroskop (vor jeder Drehung neu auf 0 setzen)
- optischer Maussensor (anbringung nicht am Mittelpunkt des Fahrzeuges. Die zurückgelegte Strecke sollte bei einer Drehung auf der Stelle gleich sein, somit könnte damit auch der Winkel der Drehung bestimmt werden (Über den Rand des Kreises/Elipse))
42  International / Deutsch / Re: CAN Schnittstelle mit ATMEL STUDIO on: May 13, 2014, 09:54:04 am
Klingt gut, so ähnlich hab ich es auch beim erstenmal gelöst ;-)
Die Fehlermeldung sind ja auch keine schlimmen, da nur einige Hardwaredefinitionen bei dem Due nicht vorhanden sind.
43  International / Deutsch / Re: CAN Schnittstelle mit ATMEL STUDIO on: May 13, 2014, 08:38:25 am
Es befindet sich ein Beispiel welches du verwenden kannst unter den Beispiel Projekten. Das du den Arduino Due verwendest ist klar, da es keinen anderen mit direktem CAN Anschluss gibt.

Pfad zum Beispiel:
- File->New->Example Projects
- im Suchfeld oben rechts "CAN" eingeben
- als Device Family: "SAM3, 32-bit" auswählen
- Das "CAN Example - SAM3X-EK" öffnen.

Dieses Beispiel nutzt zwar ein anderes Board rund um den Prozessor, aber der Chip ist der gleiche und ich hab dieses Beispiel verwendet um CAN erfolgreich einzusetzen. Alle möglichen Konfigurationsmöglichkeiten sind in dem Beispiel vorhanden.

Bei der Ansteuerung der CAN Schnittstelle das verwendete Board egal, es kommt ja nur auf den CHIP an und SAM3X ist bei beiden der gleiche.

Welchen Programmer nutzt du um den Due zu Programmieren ?
Ich musste mir damals extra nen Adapter für die 2,0 mm Stiftleisten bestellen.




44  International / Deutsch / Re: CAN Schnittstelle mit ATMEL STUDIO on: May 12, 2014, 03:02:50 pm
Hi,
das ist aber nicht der komplette Code im Atmel Studio.
Ist in der Boardconfig die CAN Schnittstelle richtig initialisiert ?
Was ist mit den includes und dem restlichen drumherum ?

Du kannst im Atmel Studio direkt unter Beispiele. (Beispiel Projekte)  den Arduino auswählen und auch dazu ein Can Projekt öffnen. Dieses ist lauffähig. Ich hab diese Beispielprojekte von ein paar Monaten noch verwendet und daraus eine Anwendung programmiert. Bei den Beispielen muss man oft mit dem Watchdog aufpassen, da dieser Standard maäßig aktiviert ist. (16 Sekunden überlaufszeit)

Programmierst du den Arduino über die USB Schnittstelle oder direkt über den Jtag Header mit einem richtigen Debugger ?

Der Code sollte, so oder so ähnlich im Beispiel aussehen:
Code:
/**
 * \file
 *
 * \brief CAN example for SAM.
 *
 * Copyright (c) 2011 - 2013 Atmel Corporation. All rights reserved.
 *
 * \asf_license_start
 *
 * \page License
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are met:
 *
 * 1. Redistributions of source code must retain the above copyright notice,
 *    this list of conditions and the following disclaimer.
 *
 * 2. Redistributions in binary form must reproduce the above copyright notice,
 *    this list of conditions and the following disclaimer in the documentation
 *    and/or other materials provided with the distribution.
 *
 * 3. The name of Atmel may not be used to endorse or promote products derived
 *    from this software without specific prior written permission.
 *
 * 4. This software may only be redistributed and used in connection with an
 *    Atmel microcontroller product.
 *
 * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED
 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
 * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR
 * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
 * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 * POSSIBILITY OF SUCH DAMAGE.
 *
 * \asf_license_stop
 *
 */

/**
 *  \mainpage CAN example
 *
 *  \par Purpose
 *
 *  This example demonstrates the basic functions of CAN controller.
 *
 *  \par Requirements
 *
 *  This package can be used with SAM3X or SAM4E evaluation kits.
 *  CAN0 and CAN1 should be hooked-up externally before running
 *  the example.
 *
 *  \par Description
 *
 *  In this example, it sends and receives messages over CAN bus to manage
 *  the LED on the board and display CAN message on the terminal window.
 *  There are four basic tests:
 *  - test1: Test the transmission from CAN0 Mailbox 0 to CAN1 Mailbox 0.
 *  - test2: Test the transmission from CAN0 Mailboxes 1 & 2 to CAN1 Mailbox 7
 *    without overwrite.
 *  - test3: Test the transmission from CAN0 Mailboxes 1 & 2 to CAN1 Mailbox 7
 *    with overwrite.
 *  - test4: Test the communication between CAN1 Mailbox 3 and CAN0 Mailbox 3.
 *
 *  \par Usage
 *
 *  -# Build the program and download it into the evaluation board.
 *  -# On the computer, open and configure a terminal application
 *     (e.g., HyperTerminal on Microsoft Windows) with these settings:
 *    - 115200 bauds
 *    - 8 bits of data
 *    - No parity
 *    - 1 stop bit
 *    - No flow control
 *  -# Connect CAN0 (J17 on SAM3X-EK or J13 on SAM4E-EK) and CAN1 (J20
 *     on SAM3X-EK or J14 on SAM4E-EK) in loop.
 *  -# Start the application.
 *  -# Upon startup, the application will output the following lines
 *     on the terminal window.
 *      \code
 *      -- CAN Example --
 *      -- SAMxx-EK --
 *      -- Compiled: xxx xx xxxx xx:xx:xx --
 *      \endcode
 *  -# Press a key in the terminal window to run the tests. CAN messages
 *     will be displayed on the terminal window and LED0 or LED1 will toggle
 *     according to the messages.
 */

#include <stdio.h>
#include <string.h>
#include "board.h"
#include "sysclk.h"
#include "exceptions.h"
#include "uart.h"
#include "pmc.h"
#include "ioport.h"
#include "can.h"
#include "stdio_serial.h"
#include "sn65hvd234.h"
#include "conf_board.h"
#include "conf_clock.h"

#define STRING_EOL    "\r"

#define STRING_HEADER "-- CAN Example --\r\n" \
                      "-- "BOARD_NAME" --\r\n" \
                      "-- Compiled: "__DATE__" "__TIME__" --"STRING_EOL

#define CAN_MSG_TOGGLE_LED_0        0x11223344
#define CAN_MSG_TOGGLE_LED_1        0xAABBCCDD
#define CAN_MSG_DUMMY_DATA          0x55AAAA55

//...
45  International / Deutsch / Re: Arduino <-> Raspberry <-> MySQL Serial Communication on: May 04, 2014, 03:31:21 am
Ich blick da gerade so schnell auch nicht durch:
Vielleicht zuviel abgeschnitten hier:  $gpin=substr($_GET['pin'],-2);
Pages: 1 2 [3] 4 5 ... 44