Programmieren leicht gemacht........für mich :)

Hallo ,

ich habe einen Sketch , der jetzt soweit fertig ist . Der abgeänderte Sketch zeigt mir Fehler (gelöst) da steht es drinnen. Es geht darum , eine Cocktailmaschine zu betreiben per Bluetooth.

  1. Ich möchte gerne ein LED Ring verschiedene Statuten programmieren.
    A. Beleuchtung bei nicht gebrauch soll Regenbogenfarbig sein (um den Ring drehen)
    B. LED soll bei Cocktail erstellen Blau leuchten.
    C. Bei fertiggestellt soll es etwas ausgeflippt sein ( weiß nicht , was man alles mit dem Ring machen kann)

  2. Ich möchte zusätzlich ein LED Band außen installieren (evt. Schriftzug "Cocktail") , das die Buchstaben nacheinander leuchten lässt. Wenn es nicht geht , irgendwas cooles wäre toll( schaue mir gerne Beispiele an)

  3. Ein 3,2 zoll Touchscreen zur Anzeige und Einstellung intrigieren.

Ich habe ein Mega 2560 und ein Relaisboard mit 16 Kanäle, ein HC-05 .
Gekauft werden muss noch 10 Luftpumpen, (Drucken werde ich 3 Peristaltikpumpen), Kabel , ein Breadboard und 2 kOhm Wiederstand. (Wer was überhat , macht mir gerne ein Angebot.)
Das Innenleben vom Cocktailmaker ist schon fertig und muss nur noch gedruckt werden.
Gehäuse für Mega und Relaisboard stell ich noch her.

Programmierwissen sind ca. 10 % . Aber ich habe vollstes Vertrauen in Euer Wissen und bin da zuversichtlich, das ich viel lernen werde.

Vielen Dank schonmal ,

Gruß Referent

Cocktailmaker.txt (10.1 KB)

referent:
.....
Programmierwissen sind ca. 10 % . Aber ich habe vollstes Vertrauen in Euer Wissen und bin da zuversichtlich, das ich viel lernen werde.

Du lernst am besten und schnellsten, wenn du dir die Basics aneignest und diese sehr genau liest.

Vieles findest du hier und hier und hier und bei Google unter "Arduino Grundlagen".

Einfach mal lesen und lernen.

Wenn du dann in den Projekten Probleme hast, darfst du gern hier fragen.

Uiiii - da hast Dir ja was vorgenommen.
Ich will Dir ja nicht vollends den Mut nehmen, aber so wird das nix sehr schwierig.

Grundsätzlich solltest Du jeden Hardwareteil getrennt in den Griff bekommen und danach die Teile erst zusammenfügen. Relaiskarte war ja hardwaretechnisch überschaubar.
Das nächst einfache wäre vermutlich der LED-Ring (welcher?, bitte Link); Display mit Touch wird dich vermutlich vor Weihnachten dieses Jahr noch überfordern.

Sobald sich irgendetwas ändern soll während die Flüssigkeiten gezapft werden geht das mit dem Cocktail-Sketch noch nicht. Dazu musst Du erst die delay()-Aufrufe aus der Mix()-Funktion loswerden.

Damit landet #2 schon mal ganz unten auf der Prioritätenliste; #3 würde ich noch dahinter einsortieren. LED und Display zusammen erzeugt nur unnötige Komplexität.

1B scheint mir am einfachsten (feste Einstellung während Mix() aktiv). Das ist aber nicht interessant; fällt bei der Inbetriebnahme des Rings mit ab.
1A kann eine schöne Übung werden, um nicht-blockierend (ohne delay() - das ist verboten) programmieren zu lernen.
1C kann Erweiterung von 1A werden (im und gegen den Uhrzeigersinn laufende Muster oder so)

Hallo wno158,

was bewirkt der delay ?
hier der Ring :LED RIng ws2812 . Hatte die Idee mit dem LED Band nur , weil es mehr "Showeffekt" hat. Muss aber nicht sein. Der Ring ist schon ein muss , ohne macht der Cocktailmaker einfach nichts her.
Wenn ich das richtig verstehe , wenn ich delay rausnehme , wird der Automat alles gleichzeitig machen?
Delay ist verzögern ??
TFT sollte nur sein , weil der Mega durch den Sketch ja auch was anzeigt. Kann aber auch ein normales LCD 2004 sein. Muss aber nicht unbedingt sein ,da alles über die APP Läuft.

Kann ich eigentlich auch das "Shield" als Breadboard benutzen?

Gruß Referent

(deleted)

OK , wenn ich es richtig verstanden hab , hat er eine Verzögerung von 800ms zwischen den einzelnen Pumpen eingesetzt. Wenn das so ist , würde die LED diese Verzögerung auch mit machen. Also , Pumpe an LED an , Warten 800ms LED aus , Pumpe an LED an ?

PS: Brauch jetzt ne Latte Macchiato . Noch irgendwer , wenn ich schon da bin? :wink:

(deleted)

Okay , habe ich verstanden. Kann ich beim mixen mit Leben das die LED dann mit ausgeht. 1B wäre also sozusagen erledigt :slight_smile: . Nur einprogrammieren dann noch.
1A schrieb wno158 , wäre nicht so schwer . Habe darüber auch schon gelesen . Würde ich auch hinkriegen , das zu Programmieren ,hoff ich.
Bleibt nur noch 1C. Habe da ein Video gesehen, wo der Ring sehr viele verschiedene Sachen macht . Ist wohl so eine Art Demosketch. Jetzt fällt mir auch auf , wenn das Glas weg ist , macht ja die LED dann weiter bis zum Ende des Programms.

Kann man da eine Infrarotschranke einsetzen , die dann sagt "Glas weg LED aus" ?
Wäre ja dann ,glaub ich , so , Infrarot unterbrochen , Pin für LED bleibt an , Infrarot nicht unterbrochen , Pin LED aus.
Wäre ja auch gut , in der Zeit dann Regenbogenfarben laufen zu lassen und wenn ein Glas reingestellt wird , erst Weiß und beim Mix dann Blau.

uiuiui , echt mega interessant.

Gruß Referent

Hab grad gemerkt . das geht nicht. Pin für Led darf nicht ausgehen , nur umswitchen auf Regenbogenfarben.

referent:
Hab grad gemerkt . das geht nicht. Pin für Led darf nicht ausgehen , nur umswitchen auf Regenbogenfarben.

Du musst in die Schleife eingreifen, die dein Farbmuster erstellt.
Wenn du da immer abfragst, geht auch ein unterbrechen des Musters.

Die LED anschalten kommt in das void setup , die einzelnen Abläufe in void loop? Mit "if" kann ich dann die Infrarotschranke steuern(Laiendeutsch) : if Lichtschranke an , Regenbogenfarbe , if Lichtschranke aus Programmablauf Mixen. Richtig so?
Heute Abend werde ich alle Informationen sammeln und zusammenstellen.

Gruß Referent

referent:
Die LED anschalten kommt in das void setup , die einzelnen Abläufe in void loop? Mit "if" kann ich dann die Infrarotschranke steuern(Laiendeutsch) : if Lichtschranke an , Regenbogenfarbe , if Lichtschranke aus Programmablauf Mixen. Richtig so?

Nicht so ganz.
Es kommt sehr auf die verwendete Lichtschranke an,

Du musst das ankommende Signal per if-Abfrage auswerten.
Je nachdem was du für ein Signal bekommst, kann es heißen:

Beispiel:

if (Signal == HIGH) 
{
// dann diese Funktion ausführen
}
else
{
// dann diese Funktion ausführen
}

Hier mal lein Video , was ich meine : LEDRing
0:16 für Drink ist Fertig
1:03 für Regenbogenfarbe
1:24 für Mixen

Sorry , war ein Fehlerteufel drin. Jetzt ist alles gut.

Danke HotSystems , genau so hatte ich es gedacht. Wenn "if" Mixprozedur abspielen , weil glas ja drinsteht. Wenn "else" dann einfach nur Regenbogen abspielen.

Infrarot ist nicht so gut? Wie ist es mit induktiven Sensor? Oder mit einer Waage? Oder Laser? Was wäre am zuverlässigsten? Mega muss ja nur Glas erkennen. Bin schon ein Schritt weiter als ich wollte , aber die Infos sind unbezahlbar. :wink:

Gruß Referent

referent:
Infrarot ist nicht so gut? Wie ist es mit induktiven Sensor? Oder mit einer Waage? Oder Laser? Was wäre am zuverlässigsten? Mega muss ja nur Glas erkennen. Bin schon ein Schritt weiter als ich wollte , aber die Infos sind unbezahlbar. :wink:

Du könntest es mit einer Reflexlichtschranke testen. Das Glas reflektiert das Licht und kann somit ausgewertet werden.

Halo referent,

also aus der Art wie du fragst kann man schlussfolgern, dass du bis jetzt noch recht wenig Ahnung vom Programmieren hast. Da muss eine gute Portion dazukommen, sonst wird das eine Geschichte - diese Zeitangabe meine ich ernst:
2 Jahre dauerndes Projekt. So lange soll es vermutlich nicht dauern.

Ich möchte es an einem Alltagsvergleich beschreiben:

Wenn jemand Fahrrad fahren lernt, dann kann er sich als allererstes natürlich einen Profi-Radfahrer anschauen.
Nach 10 Minuten zusehen wird er "Rad fahren" ungefähr so beschreiben:

"Man steigt auf das Ding drauf, nimmt die Querstange in die Hände und dann tritt man mit den Füßen nach unten und dann fährt es."

Schon irgendwie zutreffende Beschreibung aber völlig unzureichend.
Man muss noch einiger mehr wissen:
nicht nur "irgendwie" nach unten treten sondern die Pedale
Die Pedale in der richtigen Richtung nach unten treten
dieser Hebel hier an der "Querstange" ist die Bremse
dieser Hebel hier ist die Gangschaltung

Bremse: Bremsgriff zum Lenker ziehen dann bremst es. Nicht versuchen den Bremshebel zu drehen!
(jetzt magst du denken "bescheuerte Anmerkung weiß doch jeder Kind!". Ja und Nein. EIn zweijähriges Kind hat noch sooooo wenig Fahrrad-Wissen das es auch diese Binsenweisheit noch nicht weiß) Das ist dein Wissensstand in Sachen programmieren)

Gangschaltung:
Hebel nach Links hoch schalten
Hebel nach rechts runter schalten

Und nicht zu vergessen: man muss die eigene Körperbalance trainieren.
Ohne eigene Körper-Balance wird man immer wieder runter fallen.
Da nützt es auch nichts einem Kunstradfahrer stundenlang zu zuschauen wie der das macht.

Man muss zwingend selber mit dem Rad fahren.

Beim Programmieren ist das ähnlich. Man wird mit - von anderen geschriebenem Code - ein bisschen weiter kommen als beim Radfahren zuschauen aber nicht viel.

Du hast jetzt die Wahl zwischen 8-10 Wochen lang mit Halbwissen "rumzupfuschen" und dann zu der Erkenntnis kommen ich sollte wohl doch lieber die Grundlagen lernen
oder dir 2-3 Wochen Zeit zu nehmen gleich die Grundlagen zu lernen. Diese Grundlagen machen noch nichts mit "Cocktail-Mixen" (Das ist das Bremshebel- und Gangschaltungsbedinungswissen das du brauchst um überhaupt irgendeine Radtour machen zu können - auch die Radtour zum Cocktail-Mixer)

Schaue dir mal diesen Grundlagenkurs an ob er dir gefällt:
https://www.hobbyelektroniker.ch/roboter/arduinoprogrammierung/

viele Grüße Stefan

Das Thema ist nicht neu, hier kannst Du mal schauen:

HILFE !!! Cocktailmaschine mit Arduino Uno

Ausgänge gleichzeitig einschalten und unabhängig voneinander ausschalten

Hallo StefanL38, ja habe ich , steht weiter oben ca. 10 % , mehr habe ich nicht . Bin aber schon fleißig am lesen und verstehen. Im Moment habe ich noch so viele Fragen , da ich gern vorausplane , habe wenig Zeit am Tag zur Verfügung.
Das Projekt soll ja nicht gleich morgen fertig sein , zum Sommer nächsten Jahres aber schon. Ich taste mich da langsam ran , aber ohne Hilfe von den ganzen Menschen , die absolut den Durchblick haben geht es nicht. Auch wenn es einer schon weiß wie man es programmiert , würde ich es lieber allein versuchen . Berichtigen kann man mich danach , den aus Fehlern lernt man. Aber gebe dir Recht "Fahrradfahren muss man auch von Grund auf". Werde mir die ganzen Lektüren Abends mal reinschrauben . Vielen Dank schon mal an alle für die tolle Hilfe . Freut mich , das es noch so gute Foren gibt , wird immer seltener.

Gruß Referent

Hallo HotSystem ,

die Lichtschranke erkennt damit , das sich was spiegelt und schaltet dann denn Pin?

Da müsste ich dann ein loch in der Mitte , wo das glas steht , machen um da zu agieren. Bei 2,5 cm max. Abstand sollte das gehen.

Habe mal was vom Innenleben Cocktailmaker Innenleben

Der Ausschnitt für den 50 mm Ring ist schon mit eingeplant . Und da in der Mitte kann ich die Lichtschranke einsetzen.

Gruß Referent

referent:
Hallo HotSystem ,

die Lichtschranke erkennt damit , das sich was spiegelt und schaltet dann denn Pin?

Ja, korrekt.

Dein Link funktioniert nicht.

Funktioniert er jetzt?

Gruß Referent