Arduino – die neusten Beiträge

Technik in der Schule erklärt?

Es gibt so einige Dinge bei denen ich mich Frage, wieso sie nicht in der Schule gelehrt werden... Aber was mich besonders beschäftigt ist allgemeinwissen über Technik...

Man hört immernur "die Jugend, die wächst ja jetzt mit der Technik auf, die können das" und so ein Zeugs... Dabei merke ich (16 Jahre) selbst, dass es eigentlich 2 Gruppen von Jugendlichen gibt;

1. Die, die es selbst interessiert und die sich damit beschäftigen

2. Und die, die einfach keinen Spaß dran haben, glücklich sind wenn alles funktioniert und sich dann halt ein iPhone oder so kaufen um möglichst wenig einstellen zu müssen...

(Und ja natürlich gibt es auch andere, die eben einfach schnell lernen oder einfach intuitiv wissen, wie etwas zu bedienen ist... Aber darum geht es jetzt Mal nicht...)

Ich habe neulich selbst erlebt wie mehrere Leute in meinem alter es nicht geschafft haben einen Computer anzuschließen und einzurichten... Da hab ich mich gefragt, wieso sowas eigentlich nicht Mal in der Schule behandelt wird...

Natürlich nicht einfach als "so schließt man einen PC an"... Aber man könnte sich ja wenigstens Mal eine Stunde in der Woche mit Dingen aus dem echten Leben beschäftigen (statt Pflicht Sport, Kunst oder Religion 2 Stunden die Woche)...

Wieso werden einem nicht Mal Steckerstandards oder sowas erklärt... Für viele Leute sind das einfach irgendwelche Stecker...

Ich finde es einfach traurig zu sehen, wie junge Menschen TECHNIKER holen, damit der Fernseher angeschlossen wird (nicht, weil sie keine Zeit hätten, sondern einfach, weil sie nicht wissen wie man ihn EINRICHTET und anschließt (hinstellen und montieren Mal außer acht gelassen))

Computer, Smartphone, Allgemeinwissen, Schule, Technik, Elektronik, System, Alltag, Gaming, Alltagsprobleme, Arduino, Elektriker, Kritik, modern, Python, Schulsystem, Technologie, Raspberry Pi, Raspberry, Ausbildung und Studium, Arduino Uno

Zweimal DHT22 Sensor verwenden?

Hallo,

ich baue gerade eine Art "Wetterstation" mit meinem Arduino dazu verwende ich zweimal den DHT22 um die Temperatur und Luftfeuchtigkeit innen und außen zu messen. Ich habe nun das Problem, dass ich einen Befehl (Fett gedruckt) nicht einfach doppelt verwenden kann. Was macht dieser Befehl ? Wie kann ich einfach beide Sensoren verwenden?

Danke im Voraus!

Code:

#include <SimpleDHT.h>

#include <LiquidCrystal.h>

int pinDHT22in = 8;

int pinDHT22out = 9;

int Sensorwert;

const uint8_t rs = 2, en = 3, d4 = 4, d5 = 5, d6 = 6, d7 = 7;

LiquidCrystal lcd(rs, en, d4, d5, d6, d7);

SimpleDHT22 dht22(pinDHT22in);

void setup(){

 Serial.begin(115200);             // Damit unsere Werte später im seriellen Monitor angezeigt werden können, legen wir zuerst die Baudrate 9600 fest.

 pinMode( 0 , INPUT);             // Pin 0 dient nun als Input

 lcd.begin(20, 4);              //Im Setup wird angegeben, wie viele Zeichen und Zeilen verwendet werden. Hier: 16 Zeichen in 4 Zeilen.

 lcd.clear();

}

void loop()

{

   Sensorwert = analogRead(0);       // Zuerst wird der Wert (gas) am Pin A0 ausgelesen...

     

   Serial.print("Der erfasste Wert lautet : "); 

   Serial.println(Sensorwert, DEC);     //... und anschließend im seriellen Monitor als Dezimalzahl ausgegeben.

   Serial.println();

   lcd.setCursor(0, 0);

   lcd.print("Messwert (gas): ");

   lcd.print(Sensorwert);

   delay(1000);

      float temperature = 0;

      float humidity = 0;

      int err = SimpleDHTErrSuccess;

      if((err=dht22.read2(&temperature, &humidity, NULL)) != SimpleDHTErrSuccess){

       lcd.setCursor(0, 1);

       lcd.print("Read DHT22 failed, err=");

       lcd.print(err);

       delay(2000);

       return;

}

     lcd.setCursor(0, 1);

     lcd.print("Temp(in): ");

     lcd.print((float)temperature);

     lcd.print(" *C");

     lcd.setCursor(0, 2);

     lcd.print("Luftfeuchte: ");

     lcd.print((float)humidity);

     lcd.print("%");

     delay(2500); // DHT22 sampling rate is 0.5HZ.   

 delay(1000);             

Computer, Technik, programmieren, Arduino, Sensor, Arduino Uno

Arduino funktioniert nicht?

Hallo zusammen,

Ich wollte eben wieder etwas mit meinem Arduino machen. Um genau zu sein, einen einfachen 9g Servo steuern.

Allerdings lässt sich nichts auf den Arduino schreiben.

Com-Anschlussnummer habe ich jetzt auch schon mehrmals geändert. Auchanders Kable, anderen USB Port usw. Hat aber nichts gebracht.

(Was mir übrigens auch noch aufgefallen ist: Die grüne LED auf dem Arduino leuchtet durchgehend und blinkt nicht beim versuch ihn zu beschreiben.)

Bekomme immer diese Fehlermeldung:

avrdude: ser_open(): can't open device "\\.\COM3": Das System kann die angegebene Datei nicht finden.




avrdude: ser_drain(): read error: Das Handle ist ung�ltig.




avrdude: ser_send(): write error: sorry no info avail
avrdude: stk500_send(): failed to send command to serial port
avrdude: ser_recv(): read error: Das Handle ist ung�ltig.




avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: ser_send(): write error: sorry no info avail
avrdude: stk500_send(): failed to send command to serial port
avrdude: ser_recv(): read error: Das Handle ist ung�ltig.




Der ausgewählte serielle Port 
 ist nicht vorhanden oder das Board ist nicht angeschlossen
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: ser_send(): write error: sorry no info avail
avrdude: stk500_send(): failed to send command to serial port
avrdude: ser_recv(): read error: Das Handle ist ung�ltig.




avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: ser_send(): write error: sorry no info avail
avrdude: stk500_send(): failed to send command to serial port
avrdude: ser_recv(): read error: Das Handle ist ung�ltig.




avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: ser_send(): write error: sorry no info avail
avrdude: stk500_send(): failed to send command to serial port
avrdude: ser_recv(): read error: Das Handle ist ung�ltig.




avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: ser_send(): write error: sorry no info avail
avrdude: stk500_send(): failed to send command to serial port
avrdude: ser_recv(): read error: Das Handle ist ung�ltig.




avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_getsync(): timeout communicating with programmer


Wäre sehr dankbar, wenn mir jemand helfen könnte.

Computer, Software, Microsoft, Programm, Netzteil, Hardware, Elektronik, programmieren, Elektrik, Mikrocontroller, Gaming, Cplusplus, Motor, Arduino, CPP, Visual Studio, Servo, Arduino Uno, Arduino IDE

Arduino steuerung mit millis?

Hallo liebe comunety,

Habe ein Programm zur Rolladensteuerung geschrieben leider weißt das Programm noch Fehler auf und ich kann diese nicht finden.

Hab das erste mal mit millis programmiert und nicht mit delay.

Bitte um nachsicht ich versuche noch zu lernen.

const int buttonPin  = 7;
     int RolloAb    = 3;
     int RolloAuf   = 4;
     int Hupe       = 5;
     int Lampe      = 6;
     int myTimer    = 0;
     int myTimer2   = 0;
     int myTimer3   = 0;
     long myTimeout = 20000;
     long myTimeout2 = 20000;
     long myTimeout3 = 2000;
void setup() {
 pinMode (buttonPin, INPUT_PULLUP);
 pinMode (RolloAb,  OUTPUT);
 pinMode (RolloAuf, OUTPUT);
 pinMode (Hupe,     OUTPUT);
 pinMode (Lampe,    OUTPUT);
}
void loop()                            {
 digitalRead(buttonPin);
 delay(20);
 if(buttonPin == HIGH);               {
   myTimer2 = millis();
   digitalWrite(Lampe, HIGH);
  if(millis() < myTimer + myTimeout)  {
   digitalWrite(RolloAb, HIGH);
  if(millis() < myTimer3 + myTimeout3) {
    myTimer3 = millis();
    if(Hupe == LOW)                   {
    digitalWrite(Hupe,HIGH);
 }
   if(Hupe == HIGH)                   {
   digitalWrite(Hupe,LOW);
 }
 }
 }
 }
 if(buttonPin == LOW);                {
   myTimer = millis();
  if(millis() < myTimer2 + myTimeout2) {
   digitalWrite(RolloAuf, HIGH);
  }
  }
}

Zum Ablauf des Programmes:

bei betätigung des schalters soll der Rollo nach unten fahren.

Zeitgleich soll eine Hupe schalten und ein getaktetes akustisches Signal ausgeben.

Die Warnleuchte soll auch während der fahrt nach unten Läuchten.

Beim rücksetzen des Tasters soll der Rollo wieder noch oben fahren dabei sind Lampe und Hupe NICHT aktiv.

Danke für Ihre Hilfe

Mit freundlichen Grüßen

Paul

Computer, Schule, Technik, programmieren, Arduino

Wie kan man einen Arduino Sketch mit mit einen taster veränderen?

habe meine frage im Sktech gestellt.

void setup() {
 // put your setup code here, to run once:
pinMode (1,OUTPUT);
pinMode (2,OUTPUT);
pinMode (3,OUTPUT);
pinMode (4,OUTPUT);
pinMode (5,OUTPUT);
pinMode (6,OUTPUT);
pinMode (7,OUTPUT);
}
void loop() {
 // put your main code here, to run repeatedly 
digitalWrite (1,HIGH);
digitalWrite (2,LOW);
digitalWrite (3,LOW);
digitalWrite (4,LOW);
digitalWrite (5,LOW);
digitalWrite (6,LOW);
digitalWrite (7,LOW);
delay (2000);// wen der taster gedrückt ist soll die led auf pin 2 sofort
umspringen soll
digitalWrite (1,LOW);
digitalWrite (2,HIGH);
digitalWrite (3,LOW);
digitalWrite (4,LOW);
digitalWrite (5,LOW);
digitalWrite (6,LOW);
digitalWrite (7,LOW);
delay (2000);
digitalWrite (1,LOW);
digitalWrite (2,LOW);
digitalWrite (3,HIGH);
digitalWrite (4,LOW);
digitalWrite (5,LOW);
digitalWrite (6,LOW);
digitalWrite (7,LOW);
delay (2000);
digitalWrite (1,LOW);
digitalWrite (2,LOW);
digitalWrite (3,LOW);
digitalWrite (4,HIGH);
digitalWrite (5,LOW);
digitalWrite (6,LOW);
digitalWrite (7,LOW);
delay (2000);
digitalWrite (1,LOW);
digitalWrite (2,LOW);
digitalWrite (3,LOW);
digitalWrite (4,LOW);
digitalWrite (5,HIGH);
digitalWrite (6,LOW);
digitalWrite (7,LOW);
delay (2000);
digitalWrite (1,LOW);
digitalWrite (2,LOW);
digitalWrite (3,LOW);
digitalWrite (4,LOW);
digitalWrite (5,LOW);
digitalWrite (6,HIGH);
digitalWrite (7,LOW);
delay (2000);
digitalWrite (1,LOW);
digitalWrite (2,LOW);
digitalWrite (3,LOW);
digitalWrite (4,LOW);
digitalWrite (5,LOW);
digitalWrite (6,LOW);
digitalWrite (7,HIGH);
delay (2000);}
Computer, Technik, Arduino

Arduino - Kein auslesen der Daten beim Ir-Empfänger?

Ich haben ein kleines Problem beim Auslesen des Ir-Empfänges am Arduino. Ich habe nähmlich als nächstes Projekt vor, den Arduino über eine Infrarotfernbedinung ferzusteuern. Um dies jedoch machen zu können, muss ich natürlich erst einmal die Werte auslesen, welche von der Fernbedinung kommen. Das Problem jedoch dabei ist, dass mir im Seriellen Monitor bei der Ausgabe der Wert 0 angezeigt wird (bei jeder Taste).

Ich sehe jedoch dass der Ir-Empfänger reagiert und verarbeitet. Zudem sind sowohl Hardware als auch Software richtig:

#include <IRremote.h>

int RECV_PIN =7;

IRrecv irrecv(RECV_PIN);

decode_results results;

void setup()

{

 Serial.begin(9600);

 irrecv.enableIRIn(); // Start the receiver

}

void loop() {

 if (irrecv.decode()) {

  Serial.println(results.value, HEX);

  irrecv.resume();

 }

}

Das seltsame begann schon für mich, als ich in dem if-statement das &results entfernen musstem weil der Serielle Monitor mir sonst folgendes anzeigte:

Aber noch einmal zurück zu auslesen. An der Hardware kann es auch nicht liegen. Ich hatte sowahl den Arduino, als auch den Infrarot-Sensor ausgetauscht. Ich habe auch schon versucht den Ir-Empfänger am AnalogPin anzuschließen, jedoch mit dem selben resultat. Auch die Fernbedinungen untereinander habe ich ausgetauscht.

Würde micht über Antworten freuen

Ps. Ich nutzte einen ArduinoUno R3

Mein Ir-Empfänger: https://www.amazon.de/ANGEEK-Infrarot-IR-Empf%C3%A4nger-Infrarot-Receiver/dp/B07RMDR9LL/ref=sr_1_5?__mk_de_DE=%C3%85M%C3%85%C5%BD%C3%95%C3%91&crid=POLRK63VNK91&dchild=1&keywords=arduino+ir+empf%C3%A4nger&qid=1612701939&sprefix=arduino+ir+%2Caps%2C190&sr=8-5

Bild zum Beitrag
Computer, Technik, Hardware, programmieren, Arduino, Technologie

Arduino Lauflicht Programmierung?

Hallo ich bin Neu hier und auch neu in der Materie Arduino. Ich hoffe hier kann mir einer helfen- Ich möchte ein Lauflicht (wie auf Video:https://www.instagram.com/p/CHOOV51Fj_T/?igshid=tudc3clo118m) in Kaltweiss für zwei Led Bänder programmieren die Parallel zueinander anlaufen sollen. Dazu habe ich eine gewisse Schaltung aufgebaut (siehe Bild) die via Pulldown-Widerstand angeschalten bzw. ausgeschalten werden sollen. Zum beigefügten Bild kurz eine Erklärung meiner Vorstellung:

Über den 230V Funkschalter wird ein Funkaktor angesteuert der wiederum die Primärseite des 5V Trafos an bzw. ausschalten kann. Über die Sekundärseite werden die Led-Strips bestromt sowie der Digitial Port 11 der wiederum einen "Pulldown-Widerstand" von 10kOhm vorgeschalten hat und als An bzw. Ausschalter dem Arduino einen Digitalenschalter aufzeigen soll, damit dieser weiss wann er die Led-Strips zu schalten hat. Die Led sollen dann lediglich in einem Kaltweiss Ton als Lauflicht (wie im Video) parallel zu einander loslaufen. Es sind zwei led streifen mit jeweils 165LED.

Der Arduino UNO selbst ist über ein seperates Netzteil dauerbestromt. Soweit in der Theorie...
Jetzt brauche ich allerdings eure Hilfe, denn den Skript dafür zu programmieren traue ich mir absolut nicht zu, da ich dazu leider absolut zu wenig Ahnung davon habe. Ich hoffe einer von Euch kann mir helfen und dazu einen passenden Skript schreiben und Ihn mir hier zur Verfügung stellen. Freue mich für jede Hilfreiche Antwort. Liebe Grüße

Bild zum Beitrag
Computer, Technik, programmieren, Arduino, LED, Technologie, Arduino Uno, Spiele und Gaming

Wie kann ich diese delays mit millis ersetzen?

Hallo, ich versuche mir gerade die millis Funktion beizubringen. Zurzeit verstehe ich wie man Blink without delay an der internen LED programmiert, aber ich blicke nicht ganz durch, wie ich mein ganzes Programm mit millis ersetze. Ich möchte nämlich, dass sich zwei Motoren abhängig von den Messwerten eines Ultraschallsensors drehen. Wenn die Distanz >=5 ist, sollen sie sich beide vorwärts drehen ansonsten für 3 Sekunden rückwärts (Im Code sieht es nur so komisch aus mit FORWARD und BACKWARD, weil ich die Anschlüsse bei einem Motor falsch angelötet habe). Ich würde mich sehr über eine Antwort freuen :)

#include <AFMotor.h>
#include <Servo.h>


//AF_DCMotor motor1(1);
//AF_DCMotor motor2(2);
AF_DCMotor motor3(3);
AF_DCMotor motor4(4);


int trigPin = 9;
int echoPin = 10;


unsigned long currentmillis;
unsigned long previousmillis;
const long interval_1 = 1000;
const long interval_2 = 10;


void setup() {
  Serial.begin(9600); 
  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);


//  motor1.setSpeed(250);
//  motor1.run(RELEASE);
//  motor2.setSpeed(250);
//  motor2.run(RELEASE);
  motor3.setSpeed(250);
  motor3.run(RELEASE);
  motor4.setSpeed(250);
  motor4.run(RELEASE);


}


void loop() {
  //Ultraschallsensor
  currentmillis = millis();
  long duration, distance;


  if (currentmillis - previousmillis >= interval_1){
  digitalWrite(trigPin,HIGH);
  //delay(1000);
     previousmillis = currentmillis;
  }
  if (currentmillis - previousmillis >= interval_2){
  digitalWrite(trigPin, LOW);
  duration=pulseIn(echoPin, HIGH);
  distance =(duration/2)/29.1;
  Serial.print(distance);
  Serial.println("CM");
  //delay (10);
     previousmillis = currentmillis;
  }


//Motoren


//vorwärts
if (distance >=5){
  motor3.run(FORWARD);
  motor4.run(BACKWARD);
}
//rückwärts
if (currentmillis - previousmillis <= interval_1){
  if (distance <=5) {
  motor3.run(BACKWARD);
  motor4.run(FORWARD);
  //delay(3000);
    previousmillis = currentmillis;
  }
}
Arduino, Arduino Uno

Kann man die Arduino Software auch für ähnliche Mainboards verwenden?

Ich habe einen 3D Drucker mit einem Atmel Mainboard. Die Firmware kann ich flashen und ihre Version ändern, das habe ich schon öfters getan.

Der Arduino Mega 2560 kann man dann als 3D Drucker Mainboard verwenden und die Firmware selbst, ziemlich unkompliziert programmieren.

Meine Frage ist, ob ich bei meinem Mainboard mit Atmel Prozessor, das ja eigentlich äquivalent wie der Arduino Mega ist, Auf diese Art die Achsen steuern kann, sowie alle nötigen Sensoren, sowie die Nozzle ansteuern kann.

Die Schnittstellen sind auf dem Mainboard gekennzeichnet und theoretisch sollte ich ja diese alle ansteuern können, oder? Wenn dies der Fall wäre, könnte ich ja mithilfe des Arduinos eine eigene Firmware auf den Drucker laden (natürlich selbst programmiert. Ich kenne mich bereits aus mit dem Programmieren von Arduinos.) Meine Drucker Firmware hat gewisse Hürden, die mich zwingen das Hauseigene Filament zu verwenden. Da die Anschlüsse auf dem Printer nicht alles Standartanschlüsse sind, möchte ich bestenfalls das Originale Mainboard behalten.

Ich habe es selbst noch nicht ausprobiert, da ich unsicher war. Kann mir jemand bestätigen, dass dies möglich ist? Und muss ich noch etwas bestimmtes beachten?

LG Lubi

Bild zum Beitrag
Computer, Software, Technik, IT, programmieren, Firmware, Arduino, Informatik, Technologie, 3D-Drucker, Spiele und Gaming

Meistgelesene Beiträge zum Thema Arduino