www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Relais über PIC und Taster schalten


Autor: Patrick Dengg (schweindl)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!
Ich möchte mehrere Relais über mehrer Taster (oder auch Schalter, ist 
egal) schalten können.
Warum dazu der PIC? Also für jedes Relais soll ein Taster vorhanden sein 
mit dem man das Relais ein oder aus schalten kann. Dann sollen noch zwei 
Taster da sein um die Relais zufällig schlaten zu lassen oder eben 
manuell. Die Zufallszeit sollte per Poti regelbar sein.

Da ich nicht der große Programmierer bin möche ich um Hilfe für den Code 
bitten!


(Hoffe ich bin mit meinem Problem hier im richtigen Forum...)


Danke schonmal für jede Antwort!

Autor: Master Snowman (snowman)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
1.
>> Die Zufallszeit sollte per Poti regelbar sein
also doch keine zufallszeit

2.
>> Da ich nicht der große Programmierer
dann löse es mit "analogen" bauteilen

aus 1) und 2) ergibt für mich logischerweise, dass du das gescheiter 
nicht per uC lösen sollst/kannst. wenn es aber ein lernbeispiel sein 
soll, um in die uC-materie reinzukommen, helfen wir dir gerne bei 
problemen - aber hier wird dir niemand die schaltung und C-code für dich 
von null auf machen.

erkläre doch, wo deine probleme liegen...

Autor: Patrick Dengg (schweindl)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dass mir keiner das Programm und die Schaltung machen wird ist klar!
Ja, es soll ein lern/übungs/fun Projekt werden, aber ich habe noch 
nirgends etwas gefunden, dass mir wirklich weiter geholfen hätte...
Das größe Problem ist, dass Poti auslesen und daraus eine Variable 
(-->Zeit) zu machen um dann die Ausgänge dementsprechend lang ein/aus zu 
schalten.
Hab das in der Schule schon mal versucht, aber da konnte mir leider 
nichtmal der Prof. helfen... (kein Kommentar dazu... :-D)
Und jetzt sind schon Ferien und ich möchte es nochmal versuchen.

--> Ich bräuchte also Hilfe beim C-Code für die AD-Wandlung und der Wert 
sollte dann in eine Variable für die Zeit umgewandelt werden.
(verwende einen PIC18F458)

Autor: Master Snowman (snowman)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
kannste mal das angucken:

#include <p18F458.h>
#include <adc.h>

#pragma config OSC = HS
#pragma config WDT = OFF
#pragma config LVP = OFF

unsigned int  iADCvalue;  // 16bit

void main (void)
{
  TRISA = 0xFF; // all input
  TRISB = 0x00; // all output     
  TRISC = 0xFF;
  TRISD = 0xFF; 
  TRISE = 0x0F; // all input - wenn 0xFF => copiliert nicht

  // ADC initialisieren
  OpenADC(ADC_FOSC_RC &
          ADC_RIGHT_JUST &
          ADC_1ANA_0REF,
          ADC_CH0 &
          ADC_INT_OFF);

  while (1) {
    ConvertADC();
    while (BusyADC());   
    iADCvalue = ReadADC(); 

    // mach was mit iADCvalue

 
  }
}

Autor: Der Micha (steinadler)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also wenn du zweidrähtige Sensoren haben willst, würde ich dir zu der 
analogen Variante raten, also N/PTC.
Hiervon gibt es auch lineare Sensoren, welche allerdings etwas teurer 
sind.

Die Anzahl der messbaren Kanäle ist hierbei abhängig von der Anzahl der 
analogen Eingänge die dein Controller hat.

So schlecht find ich das Projekt gar nicht, versuchs doch mal.
Man kann nur dazulernen (besonders aus Fehlern).

Mach aber erst nen Schaltplan und ein kleines Layout.

Kannst dich auch gern per PM an mich wenden.

Autor: Patrick Dengg (schweindl)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
wow... Danke für die schnellen Antworten!

Ein weiters Problem habe ich gefunden... Kann mir jemand beim C-Code für 
eine Zufallszahl zwischen 0 und 32 helfen?
Dann muss ich nur noch die restlichen Bauteile für die Platine 
bestellen, sobald ich die hab werd ich den rest Programmieren und 
testen!

Autor: Master Snowman (snowman)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
kannste auch dein schaltplan mal zuerst hier veröffentlichen und wir 
können dir sagen, was du besser abänderst - vielleicht brauchst dann ein 
paar bauteile mehr, vielleicht ein paar andere weniger ;)

@Micha: ich verstehe dein posting im zusammenhang nicht :|

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.