- Karácsonyfaként világíthat a Thermaltake új CPU-hűtője
- Az USA vizsgálja a RISC-V kínai terjedésének kockázatát
- Kicsit extrémre sikerült a Hyte belépője a készre szerelt vízhűtések világába
- Egészen nagy teljesítményspektrumon fedné le a mobil piacot az AMD
- Kihívás a középkategóriában: teszten a Radeon RX 7600 XT
Hirdetés
-
AMD Radeon undervolt/overclock
lo Minden egy hideg, téli estén kezdődött, mikor rájöttem, hogy már kicsit kevés az RTX2060...
-
Már tudjuk, hogy mikor jön az idei Xbox Games Showcase
gp A showt egy külön Direct előadás követi, ami szinte biztosan az idei Call of Duty lelepelzése lesz.
-
Agyi chipes gyártóba fektetett a kriptocég
it A Tether 200 millió dollárt fektet a Blackrock Neurotech agyi chipes vállalatba.
-
PROHARDVER!
Arduino hardverrel és szoftverrel foglakozó téma. Minden mikrovezérlő ami arduinoval programozható, és minden arduino program, board, és hardverrel kapcsolatos kérdések helye.
Új hozzászólás Aktív témák
-
Saua
tag
Sziasztok,
Itt találtam egy applikációt androidos telefonra reléket lehet vele kapcsolgatni bluetoothon keresztül, HC-05 modult használok és Arduino Unot. A karakterek amiket az arduinonak küld a KI/BE kapcsoláshoz megvannak (mellékelt táblázat)
A probléma hogy nincsenek meg a karakterek amiket vár az arduinó felől, hogy a gombok színe (funkciója ) KI/BE megváltozzon.
az alábbi kis sketchel próbáltam tesztelni
#include <SoftwareSerial.h>
int bluetoothTx = 2; // TX-O pin of bluetooth mate, Arduino D2
int bluetoothRx = 3; // RX-I pin of bluetooth mate, Arduino D3
int led1 = 12;
int dataFromBt;
SoftwareSerial bluetooth(bluetoothTx, bluetoothRx);
void setup()
{
Serial.begin(9600); // Begin the serial monitor at 9600bps
bluetooth.begin(115200); // The Bluetooth Mate defaults to 115200bps
bluetooth.print("$"); // Print three times individually
bluetooth.print("$");
bluetooth.print("$"); // Enter command mode
delay(100); // Short delay, wait for the Mate to send back CMD
bluetooth.println("U,9600,N"); // Temporarily Change the baudrate to 9600, no parity
// 115200 can be too fast at times for NewSoftSerial to relay the data reliably
bluetooth.begin(9600); // Start bluetooth serial at 9600
pinMode(led1, OUTPUT);
}
void loop()
{
if(bluetooth.available()) // If the bluetooth sent any characters
{
// Send any characters the bluetooth prints to the serial monitor
dataFromBt = bluetooth.read();
Serial.println((char)dataFromBt);
// button1
if(dataFromBt == 'e'){
Serial.println("led1 on");
digitalWrite(led1, HIGH);
bluetooth.print("1"); // ezekkel van a gond
}
if(dataFromBt == 'o'){
Serial.println("led1 off");
digitalWrite(led1, LOW);
bluetooth.print("x"); // ezekkel van a gond
}
}
}például ha kikapcsolás után "x" karaktet küldök érdekesen viselkedik (változtatja a 4- es, 7 –es gombot)
Tipp, ötlet hogyan lehetne összehozni egy sketcht amivel lehet használni az applikációt ?
Esetleg ha tudtok hasonló telefonos applikációt jól jönne a link. A lényeg, hogy a telefonnon az arduinó kimeneteinek az aktuális állapota látszódjon. A nagytöbbségüknél nincs visszajelzés.[ Szerkesztve ]
-
Saua
tag
Nézegettem a Blynk-et, ez olyasmi lehet mint az MIT App Inventor 2 [link]
Ezekkel azért elég komplikált jól működő, profi kinézetű appot csinálni. Én kész appot keresek mindegy, hogy ingyenes vagy fizetős, például mint ez:
[link]
Sajnos az arduinohoz való sketcht ehhez sem adják, csak a saját hardwerével működik, mint az előbbi hozzászólásban linkelt app. -
Saua
tag
Sziasztok,
Egy androidos applikáció igy küldi az adatokat az arduino felé:
<d0> … <d4> <d5> <d6> <d7> …<d99>Hogy lehetne számmá alakítani, hogy az analogWrite utasítást használva lehessen egy LED fényerejét változtatni?
[ Szerkesztve ]
-
Saua
tag
válasz gyapo11 #1514 üzenetére
Igen, stringeket küld
Az app innen tölthető [link] , nagyon jól néz kiezzel siketült kiolvasni a karaktereket amit küld
#include <SoftwareSerial.h>
int bluetoothTx = 2; // TX-O pin of bluetooth mate, Arduino D2
int bluetoothRx = 3; // RX-I pin of bluetooth mate, Arduino D3String readString;
SoftwareSerial bluetooth(bluetoothTx, bluetoothRx);
void setup() {
Serial.begin(9600);
bluetooth.begin(9600); // Start bluetooth serial at 9600
}void loop() {
while (bluetooth.available()) {
delay(3);
char c = bluetooth.read ();
readString += c;
}if (readString.length() >0) {
Serial.println(readString);
readString="";
}
}Az jó lenne amit linkeltél, csak nem világos, hogyan tudnám automatizálni, hogy a második, vagy a második és a harmadik karaktert szűrje ki.
-
Saua
tag
válasz Gergosz2 #1516 üzenetére
Köszönöm, amit írtál az tökéletesen működik.
De van egy probléma ami jelentkezett eddig is csak nem tulajdonítottam neki jelentőséget. Csak most sikerült tesztelni is, így módosítottam:
#include <SoftwareSerial.h>
int bluetoothTx = 2;
int bluetoothRx = 3;
int ledPin = 11;
int szam = 0;
SoftwareSerial bluetooth(bluetoothTx, bluetoothRx);
String readString;
void setup() {
Serial.begin(9600);
bluetooth.begin(9600);
}
void loop() {
while (bluetooth.available()) {
delay(3);
char c = bluetooth.read ();
if (c != '<' && c != 'd' && c != '>' )
{
readString += c;
}
}
if (readString.length() > 0) {
int szam = readString.toInt();
Serial.println(szam);
readString = "";
analogWrite(ledPin, szam);
}
}az alábbi hiba jelentkezik, néha a karaktereket összeolvassa:
tehát a LED néha-néha véletlenszerüen teljes fényerővel világít.
-
Saua
tag
válasz peter1998 #1525 üzenetére
termosztát tárolja a célhőmérsékletet.
-
Saua
tag
válasz dave0825 #1529 üzenetére
ez is jól működik csak bluetooth kapcsolatot használ: [BlueTerm]
-
Saua
tag
Szerintem kezdésnek elég az Arduino UNO csak arra kell figyelni, hogy a központi chip ATMega328 az USB illesztő chip meg ATMega16U2 legyen. Kínából rendeltem: [link]
A lényeg, hogy űgyis a a többi kiegészítö shield (wifi, bluetooth, szenzorok.....) lesz a drágább
[ Szerkesztve ]
-
Saua
tag
Sziasztok,
Egyszer már párosított androidos telefon és bluetooth modulos arduino automata kapcsolódása megvalósítható? Tehát mikor egymás hatósugarába kerülnek automatikusan kapcsolódjanak.
A bluetooth modul HC-05 (kapcsolhaó master/slave módba), a telefon és a modul MAC címe ismert. A neten már hetek óta keresek megoldást de semmi konkrétumot nem találtam . -
Saua
tag
válasz Gergosz2 #1564 üzenetére
Köszi a választ, próbálgatom az applikációt, kismillió beállítási lehetőség van...egyenlőre nem sikerül működésre bírni. Ezek a profilok vannak:
Media Audio (A2DP)
Call Audio (HSP)
Health (HDP)
Input Device (HID)
Networking (PAN)
Phonebook (PBAP)
Az input device meg a networking -ot választottam ki.Valami olyasmi megoldást keresek, hogy automatikusan kapcsolódjon mint például az autórádiókhoz, mert a mostani a procedúra: megnyomni a bekapcsológombot a telefonon, feloldani a képernyőzárat kattintás az applikációra, beállítások/bluetooth és kattintás a párosított eszközre a csatlakozáshoz. Ettől szeretnék megszabadulni.
[ Szerkesztve ]
-
Saua
tag
Az alábbi linken levő applikációt szeretném kipróbálni,sajnos a sketch az arduinóhoz nincs megadva csak a szerkeszthető applikáció.
[bluetooth temperature sensor]A lényeg, hogy egy tizedesnyi pontossággal kellene a DS18B20 által mért hőmérséklet, például 21.4
az alábbi kóddal próbálkoztam:
{
sensors.requestTemperatures();
float temp = sensors.getTempCByIndex(0);
Serial.print("Temperature is: ");
Serial.println(temp);
int tempC = temp * 10.0+0.5;
Serial.print("Kerekitve: ");
Serial.println(tempC/10.0);
delay(1000);
}A probléma, hogy most kerekítés után a 21.43 így jelenik meg 21.40 tehát nem csak egy tizedes marad.
-
Saua
tag
válasz DougButabi #1586 üzenetére
úgy tudom az árnyékolt kábel a jó nagyobb távolságokra, de mindenképp kérdezz rá ezeken a fórumokon:
tavir vagy hobbielektronika
-
Saua
tag
Sziasztok
App Inventorral szeretnék készíteni egy androidos applikációt, amivel egy arduinót lehet vezérelni bluetoothon keresztül. Itt van egy nagyon jó leírás.
Ha jól értem meg lehet oldani a telefon és az arduinó automatikus kapcsolódását mikor egymás hatósugarába kerülnek. A bluetooth modulom MAC címét ismerem, de nem világos pontosan hogyan és hova kellene beírni. Ebben kérném valakinek a segítségét aki ismeri az App Inventor használatát. -
Saua
tag
Sziasztok,
Ezt a kódot sikerült összeeszkábálni, nyomógombbal és telefonról is lehet kapcsolgatni a LED –et, és a telefonon megjelenik a LED aktuális állapota.
/*
LED attached from pin 12 to ground
pushbutton attached to pin 5 from +5V
10K resistor attached to pin 5 from ground
*/
#include <SoftwareSerial.h>
int bluetoothTx = 2; // TX-O pin of bluetooth mate, Arduino D2
int bluetoothRx = 3; // RX-I pin of bluetooth mate, Arduino D3
int led = 12;
int button = 5;
int dataFromBt;
SoftwareSerial bluetooth(bluetoothTx, bluetoothRx);
// változókat hozunk létre:
int ledState = LOW; // kimeneti pin aktuális állapota
int buttonState; // bemeneti pin aktuális állapota
int lastButtonState = LOW; // bemeneti pin előző értéke
long lastDebounceTime = 0;
long debounceDelay = 50;
void setup()
{
Serial.begin(9600); // Begin the serial monitor at 9600bps
bluetooth.begin(115200); // The Bluetooth Mate defaults to 115200bps
bluetooth.print("$"); // Print three times individually
bluetooth.print("$");
bluetooth.print("$"); // Enter command mode
delay(100); // Short delay, wait for the Mate to send back CMD
bluetooth.println("U,9600,N"); // Temporarily Change the baudrate to 9600, no parity
// 115200 can be too fast at times for NewSoftSerial to relay the data reliably
bluetooth.begin(9600); // Start bluetooth serial at 9600
pinMode(led, OUTPUT);
pinMode(button, INPUT);
digitalWrite(led, ledState);
}
void loop()
{
if(bluetooth.available()) // If the bluetooth sent any characters
{
dataFromBt = bluetooth.read();
if(dataFromBt == '1'){
digitalWrite(led, HIGH);
ledState = HIGH;
}
if(dataFromBt == '0'){
digitalWrite(led, LOW);
ledState = LOW;
}
if(dataFromBt == '3'){
bluetooth.print(ledState);
}
}
int reading = digitalRead(button);
if (reading != lastButtonState) {
lastDebounceTime = millis();
}
if ((millis() - lastDebounceTime) > debounceDelay) {
if (reading != buttonState) {
buttonState = reading;
if (buttonState == HIGH) {
ledState = !ledState;
digitalWrite(led, ledState);
}
}
}
lastButtonState = reading;
}Ezt szeretném módosítani, hogy négy LED –et lehessen kapcsolgatni.
Főleg a LED aktuális állapotának a lekérdezésével van a gond (most a telefon 100 miliszekundomonként küldi a 3-as karaktert és visszakapja a 1 vagy 0 karaktert)…nem tudom hogyan küldhetne a többi LED más-más karaktert az állapotokról, mert az állapotuk csak LOW vagy HIGH lehet.
-
Saua
tag
válasz JozsBiker #1816 üzenetére
Szia,
Az androidos rész az Appinventorral készült, a használata nagyon egyszerü, nem kell hozzá programozói tudás. Az arduinós kód pedig mint egy legó lett összerakva egy tipikus nyomógombos példaprogramból (először bekapcsolja, majd második megnyomásnál kikapcsolja a LED-et, pergésmentesítést is használ) meg egy LED ki-be kapcsolgató kódbol.
De ha már négy nyomógombrol plusz a telefonrol jövő karaterekrő van szó, gondolom már tömböt kellene használni....az meg már más tudásszint[ Szerkesztve ]
-
Saua
tag
Szia,
Én is nagyon kezdő vagyok...de ez a kód valószínüleg nem működik rendesen, rengeteg késleltetés van benne....és ameddig egy-egy delay tart hiába nyomkodod a gombot nem történik semmi. Nem árt kész kódokat is tanulmányozni. Sokmindent már megoldottak, nehezen lehet tökéletesíteni.
[ Szerkesztve ]
-
Saua
tag
Sziasztok,
Eredetileg egy LED-et lehet ki/be kapcsolni neten keresztül a ”Led1” utasítással. Ezt módosítottam, hogy egy nyomógombbal is működjön. A probléma, hogy a weboldara nem sikerül kiíratni a LED állapotát ha a gombbal kapcsolgatom.
Hogyan kellene módosítani a kódot?
/*
LED attached from pin 6 to ground
pushbutton attached to pin 2 from +5V
10K resistor attached to pin 2 from ground
*/
#include <SPI.h>
#include <Ethernet.h>
#include <String.h>
byte mac[] = { 0x00, 0xAA, 0xBB, 0xCC, 0xDE, 0x02 };
byte ip[] = { 192, 168, 1, 202 };
EthernetServer server(80);
int led1 = 6;
int button = 2;
String readString = String(30) ;
boolean statusLed = false;
int buttonState; // bemeneti pin aktuális állapota
int lastButtonState = LOW; // bemeneti pin előző értéke
long lastDebounceTime = 0;
long debounceDelay = 50;
long prevido1; //előző idő eltárolására
void setup() {
pinMode(led1, OUTPUT);
pinMode(button, INPUT);
Serial.begin(9600);
Ethernet.begin(mac, ip);
}
void loop() {
EthernetClient client = server.available(); // Create a client connection
if (client) {
while (client.connected())
{
if (client.available ())
{
char c = client.read(); // Read char by char HTTP request
if (readString.length() < 30)
{
readString += (c) ;
}
if (c == '\n')
{
if(readString.indexOf("Led1")>=0)
{
if (statusLed) {
digitalWrite (led1, LOW) ;
statusLed = false;
} else {
digitalWrite (led1, HIGH) ;
statusLed = true;
}
}
client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html");
client.println();
client.print ("<font size ='20'>");
if (statusLed) {
client.print("Led1 bekapcsolva");
} else {
client.print("Led1 kikapcsolva");
}
readString="";
delay(1); // give the web browser time to receive the data
client.stop();
}
}
}
}
//==============================
int reading = digitalRead(button);
if (reading != lastButtonState) {
lastDebounceTime = millis();
}
if ((millis() - lastDebounceTime) > debounceDelay) {
if (reading != buttonState) {
buttonState = reading;
if (buttonState == HIGH) {
statusLed = !statusLed;
digitalWrite(led1, statusLed);
}
}
}
lastButtonState = reading;
//==============================
} -
Saua
tag
válasz DrojDtroll #1951 üzenetére
az Arduino lábanként maximum 40mA-es áramot tud leadni
-
Saua
tag
válasz DrojDtroll #1953 üzenetére
az még nincs tisztázva, hogy a 20mA például 5V -ra vonatkozik, vagy 220V -ra. Öt voltnál nagyobb feszültségekre valamilyen relét lehetne használni, ilyesmit, vagy szilárdtest relét.
-
Saua
tag
Szia
Nézegetem ezt a Blynk programot. Ha jól értem az arduino és a telefonon futó app is kliensként csatlakozik a Blynk szerveréhez, jobban szeretném ha a saját szerveremhez csatlakoznának. Ez megoldható valahogy? Hirtenjében nem találtam semmit erre vonatkozóan.
Eddig az App Invertort használtam felhasználói felületet készíteni arduinohoz Androidra, azzal el lehet menteni a kész .apk fájlt, tehát telepítheő formában el lehet küldeni másnak is a kész applikációt. A Blynk –el lehet ilyesmit csinálni, vagy feltétlenül telepíteni kell az egész Blynk applikációt?[ Szerkesztve ]
-
Saua
tag
Sziasztok,
Egy másodpercenként szeretném kiolvasni a hőmérsékletet és ha a hőmérséklet nagyobb vagy kisebb mint a beállított érték akkor egyszer fusson le a blink függvény. Tehat mindig csak egyszer fusson le mikor a beállított érték alá csökken és mindig csak egyszer mikor az érték fölé emelkedik.
#include <OneWire.h>
#include <DallasTemperature.h>
#define ONE_WIRE_BUS 7 // Hőmérő a pin7-en
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
int led1 = 6;
int ledState = LOW; // kimeneti pin aktuális állapota
int ledBLINK = 8;
char engedely = HIGH;
unsigned long lastTemp;
float temperature;
void setup()
{
pinMode(led1, OUTPUT);
digitalWrite(led1, ledState);
pinMode(ledBLINK, OUTPUT);
Serial.begin(9600);
sensors.begin();
sensors.setResolution(11);
}
void loop()
{
engedely = engedely; // blink5 hivás engedelyezese
if (millis() > lastTemp + 1000 ){
sensors.requestTemperatures();
temperature = sensors.getTempCByIndex(0);
Serial.println(temperature);
if (temperature < (24-0.5 ))
{
ledState = HIGH;
if((ledState == HIGH) && (engedely == HIGH)) blink5();
}
else if (temperature > (24+0.5 ))
{
ledState = LOW;
if((ledState == LOW) && (engedely == HIGH)) blink5();
}
lastTemp = millis();
}
digitalWrite(led1, ledState);
}
void blink5()
{
for(int i=0;i<5;i++){
digitalWrite(ledBLINK,HIGH);
delay(500);
digitalWrite(ledBLINK,LOW);
delay(500);
}
engedely = LOW; // további meghívás tiltása
}A hőmérséklet mérés az jó, határértékek elérésekor a led1 müködik…de a blink függvény nem akar működni. Hol rontottam el ?
-
Saua
tag
Az "engedély" lenne a változó ami csak egyszer engedi lefutni a blink függvényt. A blink függvény lefutásakor LOW értéket vesz fel, és ezt kellene valahogy felvegye a loop -ban levő engedély változó, hogy ne induljon újra és újra a függvény.
Nem működik ..... ha a hőmérséklet nagyobb vagy kisebb mint a beállított érték akkor nem fut le a blink függvény.
[ Szerkesztve ]
-
Saua
tag
Sziasztok,
Egy Samsung TV távirányítót szeretnék helyettesíteni arduinóval. Innen letöltöttem az IRLib könyvtárat, és az IRrecord példát szeretném kipróbálni.
A TV távirányító jelét veszi is, de nem világos, hogy az adó LED -et hova kell kötni. Kell módosítani a kódot?Ez a példaprogram:
/* Example program for from IRLib – an Arduino library for infrared encoding and decoding
* Version 1.5 June 2014
* Copyright 2014 by Chris Young http://cyborg5.com
* Based on original example sketch for IRremote library
* Version 0.11 September, 2009
* Copyright 2009 Ken Shirriff
* http://www.righto.com/
*/
/*
* IRrecord: record and play back IR signals
* An IR detector/demodulator must be connected to the input RECV_PIN.
* An IR LED must be connected to the appropriate pin.(See IRLibTimer.h) for your
* machine's timers and erupts.
* Record a value by pointing your remote at the device then send any character
* from the serial monitor to send the recorded value.
* Also demonstrates how to use toggle bits which must be controlled outside
* the library routines.
* The logic is:
* If an IR code is received, record it.
* If a serial character is received, send the IR code.
*/
#include <IRLib.h>
int RECV_PIN = 11;
IRrecv My_Receiver(RECV_PIN);
IRdecode My_Decoder;
IRsend My_Sender;
/*
* Because this version of the library separated the receiver from the decoder,
* technically you would not need to "store" the code outside the decoder object
* for this overly simple example. All of the details would remain in the object.
* However we are going to go ahead and store them just to show you how.
*/
// Storage for the recorded code
IRTYPES codeType; // The type of code
unsigned long codeValue; // The data bits if type is not raw
int codeBits; // The length of the code in bits
// These values are only stored if it's an unknown type and we are going to use
// raw codes to resend the information.
unsigned int rawCodes[RAWBUF]; // The durations if raw
int rawCount; //The number of interval samples
bool GotOne, GotNew;
void setup()
{
GotOne=false; GotNew=false;
codeType=UNKNOWN;
codeValue=0;
Serial.begin(9600);
delay(2000);while(!Serial);//delay for Leonardo
Serial.println(F("Send a code from your remote and we will record it."));
Serial.println(F("Type any character and press enter. We will send the recorded code."));
My_Receiver.enableIRIn(); // Start the receiver
}
// Stores the code for later playback
void storeCode(void) {
GotNew=true;
codeType = My_Decoder.decode_type;
if (codeType == UNKNOWN) {
Serial.println("Received unknown code, saving as raw");
// To store raw codes:
// Drop first value (gap)
// As of v1.3 of IRLib global values are already in microseconds rather than ticks
// They have also been adjusted for overreporting/underreporting of marks and spaces
rawCount = My_Decoder.rawlen-1;
for (int i = 1; i <=rawCount; i++) {
rawCodes[i - 1] = My_Decoder.rawbuf[i];
};
My_Decoder.DumpResults();
codeType=UNKNOWN;
}
else {
Serial.print(F("Received "));
Serial.print(Pnames(codeType));
if (My_Decoder.value == REPEAT) {
// Don't record a NEC repeat value as that's useless.
Serial.println(F("repeat; ignoring."));
}
else {
codeValue = My_Decoder.value;
codeBits = My_Decoder.bits;
}
Serial.print(F(" Value:0x"));
Serial.println(My_Decoder.value, HEX);
}
}
void sendCode(int repeat) {
if(codeType== UNKNOWN) {
// Assume 38 KHz
My_Sender.IRsendRaw::send(rawCodes,rawCount,38);
Serial.println(F("Sent raw"));
return;
}
if( !GotNew ) {//We've already sent this so handle toggle bits
if (codeType == RC5) {
codeValue ^= 0x0800;
}
else if (codeType == RC6) {
codeValue ^= 0x10000;
}
}
GotNew=false;
My_Sender.send(codeType,codeValue,codeBits);
Serial.print(F("Sent "));
Serial.print(Pnames(codeType));
Serial.print(F(" Value:0x"));
Serial.println(codeValue, HEX);
}
void loop() {
if (Serial.read() != -1) {
if(GotOne) {
sendCode(0);
My_Receiver.enableIRIn(); // Re-enable receiver
}
}
else if (My_Receiver.GetResults(&My_Decoder)) {
My_Decoder.decode();
GotOne=true;
storeCode();
delay(1000);
My_Receiver.resume();
}
}[ Szerkesztve ]
-
Saua
tag
A wordpaddal megnyitottam, de csak egy nagy betűhalmazt látok. Nem kellene definiálva legyen, mint ahogy meg van adva, hogy az infra vevő a 11-es lábra van kötve ....int RECV_PIN = 11 ?
itt úgy értem, hogy a 3-as lábra kell kötni (Arduino UNO). Rá is kötöttem, a telefon kamerájával nézem....de nem pislog.
[ Szerkesztve ]
-
Saua
tag
Az infra LED egy 120 ohmos ellenállással van sorbakötve, 5 V -ra kötve a telefon kamerája látja a fényét. A hullámhosszával viszont lehet gond, mert nem tudom pontosan milyen típusu, viszont az arduinóhoz kötve is csak fel kellene villanjon.
A soros monitoron úgy látszik, hogy minden rendben.[ Szerkesztve ]
-
Saua
tag
Remélem meglett a probléma, túl kicsi lehet a LED árama. Ha kb. 50 centire teszem az érzékelőt úgy már jó.Lehet a telefon kamerájával azért nem látszik semmi mert túl rövid és gyors az impulzussorozat?
Az előbbi könyvtárból a minták/ IRsendDemo jól megy kb. fél méterig
/* Example program for from IRLib – an Arduino library for infrared encoding and decoding
* Version 1.3 January 2014
* Copyright 2014 by Chris Young http://cyborg5.com
* Based on original example sketch for IRremote library
* Version 0.11 September, 2009
* Copyright 2009 Ken Shirriff
* http://www.righto.com/
*/
#include <IRLib.h>
IRsend My_Sender;
void setup()
{
Serial.begin(9600);
}
void loop() {
if (Serial.read() != -1) {
//send a code every time a character is received from the serial port
//SAMSUNG LE32C530
My_Sender.send(NEC,0xE0E036C9, 32);
}
}[ Szerkesztve ]
-
Saua
tag
Sziasztok,
Egy LM75 hömérot csak magában, termosztátként szeretnék használni, mint az alábbi ábrán látható
Arduinóhoz csatlakoztatva beállítottam a kapcsolási homérsékleteket és a komparátor módot, jól múködik.
Viszont mikor lekapcsolom az Arduinórol már nem kapcsol a beállított értékeknél. Nem világos, hogy csak a gyárilag beállított értékekkel (80 és 75 fok) használható önmagában?[ Szerkesztve ]
-
Saua
tag
Sziasztok,
egy SIM900 -as GSM modult próbálgatok, az [itt] található 55.3 -as példaprogrammal próbálkozom, Arduino IDE 1.0.5-r2 változatot használoka SIM900 így van összekötve az arduinóval: SIM900 7pin - Arduino7pin és SIM900 8 pin -Arduino 8 pin ... SIM900 -an a SW serial van kiválasztva
// Example 55.3
#include <SoftwareSerial.h>
SoftwareSerial SIM900(7, 8);
int x,y;
String textForSMS;
void setup()
{
SIM900.begin(19200);
SIM900power();
delay(20000); // give time to log on to network.
randomSeed(analogRead(0));
}
void SIM900power()
// software equivalent of pressing the GSM shield "power" button
{
digitalWrite(9, HIGH);
delay(1000);
digitalWrite(9, LOW);
delay(7000);
}
void sendSMS(String message)
{
SIM900.print("AT+CMGF=1\r"); // AT command to send SMS message
delay(100);
SIM900.println("AT + CMGS = \"+12128675309\""); // recipient's mobile number, in international format
delay(100);
SIM900.println(message); // message to send
delay(100);
SIM900.println((char)26); // End AT command with a ^Z, ASCII code 26
delay(100);
SIM900.println();
delay(5000); // give module time to send SMS
SIM900power(); // turn off module
}
void loop()
{
x = random(0,255);
y = random(0,255);
textForSMS = "Your random numbers are ";
textForSMS.concat(x);
textForSMS = textForSMS + " and ";
textForSMS.concat(y);
textForSMS = textForSMS + ". Enjoy!";
sendSMS(textForSMS);
do {} while (1);
}a telefonszámot változtattam meg a sebességet állítottam 9600 -ra
a szoftveres bekapcsolást nem használtam void SIM900power(), a lapon levő gombbal kapcsolom be... nem akar működni. Tanácsokat szeretnék kérni a probléma megoldására. Esetleg a SoftwareSerial.h könyvtárral lehet a gond?
Ugyanzen az oldalon levő másik program Making a telephone call from your Arduino (Example 55.1) jól működik.[ Szerkesztve ]
-
Saua
tag
válasz Janos250 #6758 üzenetére
ezt az oldalt linkeltem be
de mi a probléma a szoftver változattal (IDE 1.0.5-r2 ), nekem tökéletesen működik ehhez vannak a könyvtáraim és a kódok amiket próbálgatok azok is legalább 2-3 évesek. Szóval a tesztelt kódok 90% -a jól megy ez kívétel, szerintem a kódban klehet valami... igaz nem vagyok nagy szakértője a programozásnak.[ Szerkesztve ]
-
Saua
tag
Ha észrevetted feltetten egy print screent is, ha úgy tetszik 38 karaktert bepötyögtethesz kézzel is, nem ammyira fárasztó, de elnézést ha zavar ha olyan oldalt tesznek közzé amelyik tele van arduinós sketch-ekkel és "csak" odaírták, hogy melyik példaprogramról van szó.
Ezúton is kérem a moderátort, hogy törölje a 6752-es hozzászólásomban levő linket.
[ Szerkesztve ]
Új hozzászólás Aktív témák
- Samsung Univerzum: Az S23-at is megbabonázta a Galaxy AI
- Xiaomi Mi 11 Ultra - Circus Maximus
- Itt az első kép a 2024-es Nokia 3210-ről
- Kihívás a középkategóriában: teszten a Radeon RX 7600 XT
- EA Sports WRC '23
- Luck Dragon: Asszociációs játék. :)
- Parfüm topik
- Veszprém és környéke adok-veszek-beszélgetek
- Kerékpárosok, bringások ide!
- Okos Otthon / Smart Home
- További aktív témák...