Покажи участието

От тук може да видиш всички публикации на този потребител.


Публикации - reverenge

Страници: [1] 2
1
Ардуино (Arduino) / Arduino Real Time
« -: Февруари 14, 2012, 07:01:24 am »
Щом имаш съмнения във версията свали си по-старата.Аз използвам и двете и не съм обърнал внимание с коя съм качвал кода,доколкото до библиотеките се използват същите.
  Когато за първи път си играех с RTC проблем ми беше ,че го правих на бреадбоард и заради лошите връзки не можех да прочета точния час.След като го прехвърлих на платка всичко тръгна нормално.Друго нещо което оказва положителен ефект е корпуса на кварца да се даде на маса.
  Ако имаш възможност смени DS1307 да не е дефектен или изгорял.

2
Ардуино (Arduino) / Най-евтин процесор.
« -: Февруари 14, 2012, 06:50:27 am »
Знам ,че въпроса е повдигнат отдавна,но да споделя и моите "изследвания" по въпроса.
Atmega 8L - има bootloader за този процесор в интернет.Удобното на bootloadera е,че включва вътрешния осцилатор и не е нужен външен,което още повече намалява стойноста на изделието.Цената на процесора е 3,20 лева.
  В E-Bay има още по-добри цени ,но трябва да  да се вземат бройки.Примерно Atmega 8 в TQFP корпус при 10 бройки цената пада на 1,5 лева.

3
Ардуино (Arduino) / Гарантирам,че работи.
« -: Февруари 08, 2012, 09:23:37 pm »
//
// Maurice Ribble
// 4-17-2008
// http://www.glacialwanderer.com/hobbyrobotics

// This code tests the DS1307 Real Time clock on the Arduino board.
// The ds1307 works in binary coded decimal or BCD.  You can look up
// bcd in google if you aren't familior with it.  There can output
// a square wave, but I don't expose that in this code.  See the
// ds1307 for it's full capabilities.

#include "Wire.h"
#define DS1307_I2C_ADDRESS 0x68

// Convert normal decimal numbers to binary coded decimal
byte decToBcd(byte val)
{
  return ( (val/10*16) + (val%10) );
}

// Convert binary coded decimal to normal decimal numbers
byte bcdToDec(byte val)
{
  return ( (val/16*10) + (val%16) );
}

// Stops the DS1307, but it has the side effect of setting seconds to 0
// Probably only want to use this for testing
/*void stopDs1307()
{
  Wire.beginTransmission(DS1307_I2C_ADDRESS);
  Wire.send(0);
  Wire.send(0x80);
  Wire.endTransmission();
}*/

// 1) Sets the date and time on the ds1307
// 2) Starts the clock
// 3) Sets hour mode to 24 hour clock
// Assumes you're passing in valid numbers
void setDateDs1307(byte second,        // 0-59
                   byte minute,        // 0-59
                   byte hour,          // 1-23
                   byte dayOfWeek,     // 1-7
                   byte dayOfMonth,    // 1-28/29/30/31
                   byte month,         // 1-12
                   byte year)          // 0-99
{
   Wire.beginTransmission(DS1307_I2C_ADDRESS);
   Wire.send(0);
   Wire.send(decToBcd(second));    // 0 to bit 7 starts the clock
   Wire.send(decToBcd(minute));
   Wire.send(decToBcd(hour));      // If you want 12 hour am/pm you need to set
                                   // bit 6 (also need to change readDateDs1307)
   Wire.send(decToBcd(dayOfWeek));
   Wire.send(decToBcd(dayOfMonth));
   Wire.send(decToBcd(month));
   Wire.send(decToBcd(year));
   Wire.endTransmission();
}

// Gets the date and time from the ds1307
void getDateDs1307(byte *second,
          byte *minute,
          byte *hour,
          byte *dayOfWeek,
          byte *dayOfMonth,
          byte *month,
          byte *year)
{
  // Reset the register pointer
  Wire.beginTransmission(DS1307_I2C_ADDRESS);
  Wire.send(0);
  Wire.endTransmission();

  Wire.requestFrom(DS1307_I2C_ADDRESS, 7);

  // A few of these need masks because certain bits are control bits
  *second     = bcdToDec(Wire.receive() & 0x7f);
  *minute     = bcdToDec(Wire.receive());
  *hour       = bcdToDec(Wire.receive() & 0x3f);  // Need to change this if 12 hour am/pm
  *dayOfWeek  = bcdToDec(Wire.receive());
  *dayOfMonth = bcdToDec(Wire.receive());
  *month      = bcdToDec(Wire.receive());
  *year       = bcdToDec(Wire.receive());
}

void setup()
{
  byte second, minute, hour, dayOfWeek, dayOfMonth, month, year;
  Wire.begin();
  Serial.begin(9600);

  // Change these values to what you want to set your clock to.
  // You probably only want to set your clock once and then remove
  // the setDateDs1307 call.
  second = 45;
  minute = 3;
  hour = 7;
  dayOfWeek = 5;
  dayOfMonth = 17;
  month = 4;
  year = 8;
  setDateDs1307(second, minute, hour, dayOfWeek, dayOfMonth, month, year);
}

void loop()
{
  byte second, minute, hour, dayOfWeek, dayOfMonth, month, year;

  getDateDs1307(&second, &minute, &hour, &dayOfWeek, &dayOfMonth, &month, &year);
  Serial.print(hour, DEC);
  Serial.print(":");
  Serial.print(minute, DEC);
  Serial.print(":");
  Serial.print(second, DEC);
  Serial.print("  ");
  Serial.print(month, DEC);
  Serial.print("/");
  Serial.print(dayOfMonth, DEC);
  Serial.print("/");
  Serial.print(year, DEC);
  Serial.print("  Day_of_week:");
  Serial.println(dayOfWeek, DEC);

  delay(1000);
}


Кода е етстван много пъти и работи.Дори съм го направил да изобразява часа на LCD дисплей и работи много добре.Пробвай.

4
Електроника / схема на датчик за движение
« -: Декември 26, 2011, 06:23:56 am »
Ако искащ нещо наготово:

http://www.robotev.com/product_info.php?cPath=1_29&products_id=179

http://www.robotev.com/product_info.php?cPath=1_29&products_id=262

Аз бих направил схемата , която zoro1 е предложил.Заради предизвикателството.

5
Ардуино (Arduino) / Проблем с АТ команда.
« -: Декември 24, 2011, 04:38:25 pm »
Проблема е решен с тази команда.

Serial.println("ATD0899999999;");

Успех.

6
Ардуино (Arduino) / Проблем с АТ команда.
« -: Декември 24, 2011, 02:32:55 pm »
Имам следния проблем.Направил съм ГСМ дайлер,който при натискане на бутон набира два телефона през 30 секунди по два пъти.Устройството работи близо година без никакви проблеми,но сега реши да не набира глобулския телефон,който е на втора позиция.АТ командите които използвам не са проблем защото набират другия телефонен номер ,който е МТЕЛ-ски без проблем.Взех още една карта,която е на МТЕЛ,защото си мислех,че няма да има проблем,но се оказа,че когато дойде ред да се набере телефона на втора и четвърта позиция таба,който показва,че телефона набира се движи и на 4 та -5 та секунда телефона спира да набира.
Ако някой знае решение на проблем,ще се радвам да го сподели.
Телефона е Т230 а това е кода.


/*
GSM Dialer
 На 7-ми пин на Ардуино се свързва светодиод,на 9 пин е входа който чака високо ниво , за да започне дайлера да набира.
 Ако програмата работи нормално светодиода мига около три пъти в секунда.
 При високо ниво на входа (пин 9) светодиода светва постоянно докато набере всички номера и отново започва да мига след като ги набере.
 */
void setup()
{
  Serial.begin(9600);  
  pinMode(13,OUTPUT);
  pinMode(8,INPUT);
  digitalWrite(8,HIGH);
}
void loop()
{
  digitalWrite(13,HIGH);
  delay(150);
  int firstcheck=digitalRead(8);// Ако има високо ниво
  if(firstcheck==0)
  {
    delay(500);
    int seccheck=digitalRead(8);// Проверява след 0,5 секунди дали още има високо ниво и ако има започва набирането на телефоните.
    if(seccheck==0)
    {
      dial();
    }
  }
  digitalWrite(13,LOW);
  delay(150);  
}
void dial()
{
  Serial.print("ATD=\"0888888888\"\r");
  delay(30000);
  Serial.print("ATD=\"0899999999\"\r");
  delay(30000);
  Serial.print("ATD=\"0888888888\"\r");
  delay(30000);
  Serial.print("ATD=\"0899999999\"\r");
  delay(30000);
}

7
Цитат на: "NKK"
Цитат
Странна работа ... За тази цена на много места само кутията струва толкова.


Не само,че е нормална цената ами и е височка дори :twisted: . А и китайците ги окомплектоват с 10 RFID-та , но колегата сигурно ги е "изгубил" останалите  :zubi:


Благодаря  :clap:

Къде са модераторите???

8
Добра цена->Внос->Продажба->Печалба->Търсене на следващия продукт с добра цена->Внос и т.н



Малко стана като Чат,но отговарям на въпроса тук , а не на лични някой да не си помисли,че примерно са крадени или нещо такова.

 ;)

9
Купувам-Продавам / Отговор:
« -: Ноември 26, 2011, 06:01:48 pm »
1.Карти се премахват по три начина.
    първи - изтриване на всички карти.
    втори  - (отговор на Вашия въпрос) всяка карта има изписан номер на нея.След като се влезне с инсталаторския код последван от адреса за изтриване на карти , се набира от клавиатурата номера на картата и тя се изтрива.
    трети  - може също да се изтрива карта като се влезне на адреса за изтриване на карти и се прочете картата.

2.Почти всички самостоятелни контролери , които се продават работят на 12 волта.Аз лично никога не съм монтирал устройство захранването на,което да е различно от 12 волта.Може би е по-безопасно.

3.Специализиран чип може и да има,но да е отдолу.Не съм сигурен.

4.Защо не?Има реле с NO и NC контакт .Но антената е доста голяма(100Х100 мм)неудобна ще е за вграждане в автомобил,но има букса за включване на външна антена.Ако Ви се занимава може да си направите антена с по-малки габарити.Има джъмпер,с който се избира с коя антена ще работи-вградена или външна.

10
Самостоятелен контрол на достъпа с RFID карти.

Възможност за добавяне до 800 (стандартни EM 125 KHz) карти.
Работно напрежение 12 В.
Консумация 40 мА.
NO/NC контакт.
Вход за бутон за принудително отваряне(монтира се от вътрешната страна на помещението)
Изход за звънец.

Възможност за програмиране на:
Време за задържане на релето.
Инсталаторска парола
Потребителска парола
Тип на сработване на релето:Само с карта, Само с код, С карта и код

1 бр контролер.
1 бр инструкция за програмиране
6 бр RFID ключодържатели.

Нова цена: 45 лева.





0877 575 008 Христо

[email protected]

11
Ардуино (Arduino) / .
« -: Ноември 10, 2010, 09:29:08 pm »
Махни двата реда:

pinMode(ledPin, OUTPUT); // sets the pin as output
pinMode(ledPin1,OUTPUT);

те не ти трябват , когато използваш пиновете като PWM.
Също добави и някакво малко забавяне след analogWrite,примерно 20 милисекунди няма да ги усетиш.
Това е.

12
Цитат на: "nunep"
Здравейте
Мога ли да използвам схемата от линка на reverenge с идеята: Atmega програмиран с Arduino Duemilanove да го преместя в тази схема с цел да се намали размера на платката?


Както е казал колегата още в първия си пост:
"Изводите на тези контролери са напълно идентични така че позволява смяната 1:1"

Давай смело.Ако ще използваш програмирана Атмега не ти е нужна цялата схема,която съм дал , а само това:

 

Успех.

13
Понеже от скоро и аз съм почитател на Ардуино ме впечатли платката която си изготвил,наистина изглежда професионално за което ти се възхищавам.
А това е моя контролер Ардуино,който съветвам всеки начинаещ и чудещ се с какво първо да започне при програмирането на процесори.


Тука е в действие:


Схемата , която съм използвал е тази http://webzone.k3.mah.se/k3dacu/arduino/releases/serial_v2/arduino_rs232_v2.png
Отнема около 2-3 часа да се направи и след това започват забавленията.

Успех на всички.

14
Електроника / Проблем с LCD дисплей.
« -: Януари 10, 2010, 11:47:51 pm »
Цитат на: "sv_shady"
Ами виждаш до 8мия символ, защото от 9 до 16 се водят в паметта като втори ред. Пробвай да го инициализираш с lcd.begin(8, 2); Ако това не стане, трябва да бръкнеш във функцията, която пише и да я пригодиш с адресите на твоя дисплей.


Благодаря ти !!!:robotics:  Така наистина стана.
Това ми е бил проблема.
Благодаря на всички за оказаната помощ.

15
Електроника / .
« -: Януари 10, 2010, 03:27:38 pm »
#include <LiquidCrystal.h>

 // initialize the library with the numbers of the interface pins
 LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

 void setup() {
   // set up the LCD's number of rows and columns:
   lcd.begin(16, 1);
   // Print a message to the LCD.
   lcd.print("hello, world!");
 }

 void loop() {
   // Turn off the display:
   lcd.noDisplay();
   delay(500);
    // Turn on the display:
   lcd.display();
   delay(500);
 }

Няма значение кои от готовите кодове ползвам.
Примерно с този , който съм дал виждам само до осмия символ.
Ардуиното сам си го направих , това е схемата http://arduino.cc/en/Main/ArduinoBoardSerial с ATmega8 , но не мисля,че това е от значение.Утре ще си намеря друг дисплей защото вече имам съмнения в този.Като го свържа към LPT порта и пусна да изобразява някакъв текст резултата е същия , пак пише само до 8-мия символ.

Благодаря за всяко едно мнение.

Страници: [1] 2