Ibutton
1. För att bussen ska ligga hög när den är inaktiv.
3. Deklarera 'tmp' som uint8_t istället (Lägg till "#include <inttypes.h>" i början av filen också). PINA är "unsigned 8-bitars" (uint8_t).
4. Är inte riktigt säker på det där. Men prova med att hålla den hög i 500µs i början. Sen när/om du får det att fungera så kan du prova att minska ner den tiden eller kanske helt ta bort den.
Vilken frekvens kör du AVR:en på?
Annars skulle det kanske kunna fungera. Har själv beställt en iButton med probe att leka med. Ska se om den kommer i veckan, så att man kan experimentera lite själv.
3. Deklarera 'tmp' som uint8_t istället (Lägg till "#include <inttypes.h>" i början av filen också). PINA är "unsigned 8-bitars" (uint8_t).
4. Är inte riktigt säker på det där. Men prova med att hålla den hög i 500µs i början. Sen när/om du får det att fungera så kan du prova att minska ner den tiden eller kanske helt ta bort den.
Vilken frekvens kör du AVR:en på?
Annars skulle det kanske kunna fungera. Har själv beställt en iButton med probe att leka med. Ska se om den kommer i veckan, så att man kan experimentera lite själv.
Jag vet inte var man kan köpa dom så jag skickade iväg en sample-request från Maxim. Och ja, det går bra att beställa som privatperson. Jag har angivit mitt namn som Company. Sen skriver jag "For educational use" där man fyller i vad man ska ha dom till. Har beställt några gånger förut därifrån och det har fungerat bra.
Jag skall oxå försöka mig på att bygga ett access-system (eller vad man nu skall kalla det) för ett kodlås är det ju inte. Eller en elektronisk kod är det ju iofs.
Har en 1991-knapp liggandes och ett USB-interface. Så jag kan se all info o testa kryptering mm i datorn. Men det skall byggas med en AVR Mega32 till o börja med iaf.
Men jag skiter nog i krypteringen till låset, iaf till en början.
Frågan är vart man får tag på låsblecket till dörrkarmen, ngn som har ett liggandes? skulle behöva några stycken.
Dom gånger jag har försökt o sampla i-buttons så har dom varit restade
Har en 1991-knapp liggandes och ett USB-interface. Så jag kan se all info o testa kryptering mm i datorn. Men det skall byggas med en AVR Mega32 till o börja med iaf.
Men jag skiter nog i krypteringen till låset, iaf till en början.
Frågan är vart man får tag på låsblecket till dörrkarmen, ngn som har ett liggandes? skulle behöva några stycken.
Dom gånger jag har försökt o sampla i-buttons så har dom varit restade
Har gjort lite saker med 1-wire grejor innan dock bara till PIC och med PICBasic... har dock fått insikt i mitt liv och gått över till AVR och AVR-GCC vilket har gett mig ett nytt sätt att se på livet Jaja... nog med det religösa... tänkte ge mig på 1-wire till en av temperatur sensorerna men kom och tänka på denna tråden... har nu sökt ganska mkt på google etc men det är ganska lite kod om att... har hittat följande:
Konstater att jag inte hittade ngt vettigt på webben förutom på AVRfreaks typ...
AVRfreaks - 1-wire
AVRfreaks - 1-wire
AVRfreaks - 1-wire - KOD!
AVRfreaks - 1-wire - KOD(!)
AVRfreaks - 1-wire - LIB -AVR-GCC
AVRfreaks - 1-wire- "LIB" - ASM
AVRfreaks - 1-wire- "LIB"/KOD - AVR-GCC
AVRfreaks - 1-wire - Multiple DS sensors
AVRfreaks - 1-wire m m - KOD
AVRfreaks - 1-wire
Command reference
Jag undrar om du De_Ville har lagt ner mer tid på att? jag ska ge mig på att mer imorrn i vilket fall som helst... har försökt hittat info om att idag nämligen... fårse om jag gör att imorrn... kanske får sakerna man har beställt från ELFA imorrn nämnligen
Enjoy the links... bra att ha iaf... jag kommer nog att kolla på dem imorrn om inte annat
[EDIT]: En fråga jag har dock är hur man kopplar Ibuttonen till AVR:en... kör man ytterhöljet på ibuttonen mot GND och sen tar men sin pinne på AVR:en och kör PULL-UP med ett motstånd? som även är kopplad till i-buttonen? Typ så här lr:
//Rille
Konstater att jag inte hittade ngt vettigt på webben förutom på AVRfreaks typ...
AVRfreaks - 1-wire
AVRfreaks - 1-wire
AVRfreaks - 1-wire - KOD!
AVRfreaks - 1-wire - KOD(!)
AVRfreaks - 1-wire - LIB -AVR-GCC
AVRfreaks - 1-wire- "LIB" - ASM
AVRfreaks - 1-wire- "LIB"/KOD - AVR-GCC
AVRfreaks - 1-wire - Multiple DS sensors
AVRfreaks - 1-wire m m - KOD
AVRfreaks - 1-wire
Command reference
Jag undrar om du De_Ville har lagt ner mer tid på att? jag ska ge mig på att mer imorrn i vilket fall som helst... har försökt hittat info om att idag nämligen... fårse om jag gör att imorrn... kanske får sakerna man har beställt från ELFA imorrn nämnligen
Enjoy the links... bra att ha iaf... jag kommer nog att kolla på dem imorrn om inte annat
[EDIT]: En fråga jag har dock är hur man kopplar Ibuttonen till AVR:en... kör man ytterhöljet på ibuttonen mot GND och sen tar men sin pinne på AVR:en och kör PULL-UP med ett motstånd? som även är kopplad till i-buttonen? Typ så här lr:
Kod: Markera allt
+5V
|
[motstånd]
|
[PORTX] ---+----- [IBUTTON BOTTEN] ---- [IBUTTON YTTERHÖLJE] ---+
|
GND
Har inte hunnit göra så mkt idag... har dock hunnit testa om det går att få den att säga att den är "där"...
Detta funkar för mig:
Testade själv först... sedan skrev jag om ovanstående kod från ett av Projecten på AVRFreaks.net och konstaterade att det ända jag hade glömt va att sätta output pinnen LÅG... hade satt den hög hela tiden istället...
Imorrn blir det nog bara matte man kanske hinner kolla lite på att
//Rille
Detta funkar för mig:
Kod: Markera allt
#include <avr/io.h>
#include <avr/delay.h>
#include <inttypes.h>
#include <avr/interrupt.h>
#include <avr/signal.h>
int main(void)
{
DDRB = 0xFF; /* Use PORTB as outputs (leds)*/
PORTB = 0xFF; /* Light all of the eight leds... */
DDRD |= _BV(PD5); // enable the output port
PORTD &= ~(_BV(PD5)); // drive the output low
_delay_loop_2(720); // wait for 720 uS
DDRD &= ~(_BV(PD5)); // disable the output
_delay_loop_2(65);
if (PIND & _BV(PD5)) // the input line should be low - presense pulse
PORTB = 0xFF; // abort if not
if (!(PIND & _BV(PD5))) // the input line should be back high again
PORTB = 0x00; // abort if not
return 0;
}
Imorrn blir det nog bara matte man kanske hinner kolla lite på att
//Rille
OK..
Tack för tipsen om kod mm, har inte tittat i tråden på ett tag.
Nu har följande hänt
Presence check funkar!
Skickar "begäran" om serienr
Läser serienr, dvs ibutton skickar sitt serienr.
nu återstår att läsa in serienumret i ett register.. och att tolka det!!
Hur skickar ibutton serienr familje kod mm??
Tack för tipsen om kod mm, har inte tittat i tråden på ett tag.
Nu har följande hänt
Presence check funkar!
Skickar "begäran" om serienr
Läser serienr, dvs ibutton skickar sitt serienr.
nu återstår att läsa in serienumret i ett register.. och att tolka det!!
Hur skickar ibutton serienr familje kod mm??
Har också fått mitt att funka fullt ut... lyckades med det förra veckan...
Att läsa in i register etc borde inte vara ngn fara... själv har jag funderat på hur man skulle kunna lösa att om man verkligen ska ha det som ett larm/säkerhetssystem... då skulle jag nog kört med ett extern EEPROM t ex 24LC01B från MicroChip. Och påså sätt kunna lägga till och ta bort rättigheter för folk... dvs AVR:en läser av EEPROMet... man skulle kunna använda EEPROMet i AVR:en också... jag tänkte dock mer om man har _väldigt_ många som ska komma åt att... man kanske väljer att köra att via en dator då... jag skickar via UART:en alla 8byten och visar på skärmen... hade varit löjligt lätt att kolla i en databas om I-Buttonen hade access eller inte... t o m ngn AVR från ATiny serien skulle lämpa sig för ett sådant här projekt... (åtminstone om man kollar mot en dator that is)
"Hur skickar ibutton serienr familje kod mm??"
Va? Utveckla vad du menar... du skrev ju att du läste serienr etc...
//Rille
Att läsa in i register etc borde inte vara ngn fara... själv har jag funderat på hur man skulle kunna lösa att om man verkligen ska ha det som ett larm/säkerhetssystem... då skulle jag nog kört med ett extern EEPROM t ex 24LC01B från MicroChip. Och påså sätt kunna lägga till och ta bort rättigheter för folk... dvs AVR:en läser av EEPROMet... man skulle kunna använda EEPROMet i AVR:en också... jag tänkte dock mer om man har _väldigt_ många som ska komma åt att... man kanske väljer att köra att via en dator då... jag skickar via UART:en alla 8byten och visar på skärmen... hade varit löjligt lätt att kolla i en databas om I-Buttonen hade access eller inte... t o m ngn AVR från ATiny serien skulle lämpa sig för ett sådant här projekt... (åtminstone om man kollar mot en dator that is)
"Hur skickar ibutton serienr familje kod mm??"
Va? Utveckla vad du menar... du skrev ju att du läste serienr etc...
//Rille
Står klart och tydligt i vilket 1-wire-datablad som helst hur koden är uppbyggd.De_Ville skrev:OK..
Tack för tipsen om kod mm, har inte tittat i tråden på ett tag.
Nu har följande hänt
Presence check funkar!
Skickar "begäran" om serienr
Läser serienr, dvs ibutton skickar sitt serienr.
nu återstår att läsa in serienumret i ett register.. och att tolka det!!
Hur skickar ibutton serienr familje kod mm??
Ledsen om det inte var svaret du ville ha.
Kolla överst på sidan 3 i http://pdfserv.maxim-ic.com/en/ds/DS199 ... 90A-F5.pdf . Jag har svårt att förstå hur du kan få ett bättre svar än det...
Fast nu har du tydligen tagit reda på hur den är uppbyggd själv...
Kolla överst på sidan 3 i http://pdfserv.maxim-ic.com/en/ds/DS199 ... 90A-F5.pdf . Jag har svårt att förstå hur du kan få ett bättre svar än det...
Fast nu har du tydligen tagit reda på hur den är uppbyggd själv...
Jag kan ju meddela att det inte gick så bra med mina samples från Maxim. Först beställde jag en iButton (med bara serienummer) och en probe med lysdiod. iButtonen fick jag men så hade de skickat med något iMac-inspirerat 1-wire-USB-interface istället för proben. Beställde en probe igen och en liten nyckelring. Fick bara nyckelringen igår, och ingen probe...
Går det inte att _köpa_ proben någonstans ifrån istället?
Går det inte att _köpa_ proben någonstans ifrån istället?