Beaglebone: An I2C Tutorial - Interfacing to a BMA180 Accelerometer

แชร์
ฝัง
  • เผยแพร่เมื่อ 9 ก.ย. 2024

ความคิดเห็น • 60

  • @teuluPaul
    @teuluPaul 12 ปีที่แล้ว +1

    No worries - thanks for letting me know. I found the KPlotWidget which will do the same job. I will now spend my day understanding (1) how to open a socket on the Beaglebone and expose the sensor data, (2) accessing the data on the host PC, and (3) displaying it in a simple Qt application. Fun! If I succeed, I will post the code on github in case anyone else is interested.

  • @lifeonagriculture3330
    @lifeonagriculture3330 5 ปีที่แล้ว

    This video provides information from hardware, spec , register and programming of register and lot more. Thank you for valuable video

  • @MichaelHyde
    @MichaelHyde 10 ปีที่แล้ว +3

    Thank you for creating a fantastic video very thorough very professional please keep up the good work!

  • @afterthought138
    @afterthought138 12 ปีที่แล้ว

    These videos are amazing. I've learned so much about the beaglebone, embedded linux, and linux in general from them. I hope that you can make more because they are a resource i keep coming back to!

  • @boydsoftprez
    @boydsoftprez 12 ปีที่แล้ว

    Thank you for your beaglebone videos! They are the best I have found on the net.

  • @alski259
    @alski259 6 ปีที่แล้ว

    This wasn't trivial. To articulate the concepts while talking, typing, recording. Well done. Just got your book.

  • @mik3anthon3y
    @mik3anthon3y 11 ปีที่แล้ว

    Fantastic lesson! I've been looking for videos with similar content for the Raspberry pi. I hadn't found anything worth mentioning, unitl now. Thank you!!!

  • @CheyenneMeyer
    @CheyenneMeyer 9 ปีที่แล้ว +1

    FYI, In some fields I do believe it is standard practice to utilize the full resolution of the destination variable when pushing your ADC values into place. This allows you to replace the ADC with one of a different resolution without needing additional programming changes (assuming the interface has not changed). Thus a 14-bit ADC and a 12-bit ADC would both utilize the same scale. Uusing a ushort, for example, would provide a universal scale of 0 to 65535 regardless of ADC resolution. This is very common in industrial applications.

  • @roxa8651
    @roxa8651 12 ปีที่แล้ว

    This is really good! I have been waiting for this video and I am pleased! I wish the next video is about real time execution. I have tried pthread in angstrom and it is running well, but I havn't got the scheduling to work yet.

  • @daevyd100
    @daevyd100 8 ปีที่แล้ว

    Thank you for this series Derek

  • @DerekMolloyatDCU
    @DerekMolloyatDCU  11 ปีที่แล้ว

    I have had a very busy lecturing load in the past 4 months. Normal service will resume soon! Derek.

  • @DerekMolloyatDCU
    @DerekMolloyatDCU  11 ปีที่แล้ว

    Hi Bessem, I'll try to dig out the source code for my website. I had trouble finding it just now. The code on the client side contains some code that I do not have permission to redistribute. The code on the beaglebone was regular C++ socket code and the code on the server side (PC) was the standard QT socket example. The intercommunication worked straight off (if I remember correctly - there may have been one late night!)

  • @subhajitghosh8
    @subhajitghosh8 10 ปีที่แล้ว

    It is really good. Thank you very much for sharing your knowledge. I am planning to make a kernel driver for the same device.

    • @yasiral-hilali7855
      @yasiral-hilali7855 6 ปีที่แล้ว

      How did it go? Was there any issues? I am struggling with making one on new version of Debian

  • @tusharpaithankar
    @tusharpaithankar 8 ปีที่แล้ว

    thank you for such a detail information, loved it.

  • @undercrackers56
    @undercrackers56 11 ปีที่แล้ว

    Sir, I salute your knowledge, your willingness to share this knowledge and the skill with which you make it available. Although I don't work with Embedded Linux (I work with Microchip C and MPASM) I seem to have become somewhat addicted to your videos.
    Is there any chance of a tutorial on how you put your tutorials together?

  • @DerekMolloyatDCU
    @DerekMolloyatDCU  11 ปีที่แล้ว

    I am currently working on a tutorial on SPI and on OpenCV - I have been slowed down dramatically by the changes to the Linux kernel in 3.8.3 that has made configuring the I/O pins difficult. Hopefully I will work it out soon and the tutorial will follow!

  • @michaelpowell1308
    @michaelpowell1308 9 ปีที่แล้ว

    this seems like an easier (?) way to interface through sysfs than directly through any I2C calls, worrying about whether SMBUS protocol is implemented, or what have you. definitely work some time to get better acquainted with this way or working with I2C.

    • @michaelpowell1308
      @michaelpowell1308 9 ปีที่แล้ว

      when I worked with I2C, I did similar driver/application level class abstractions. good stuff. also using C++1y standards, strongly typed enums, using hex-enum values, to make it easier to translate to/from device docs, etc. driver classes being close to the metal, application classes being abstractions for the application level, where it makes sense, may combine multiple driver classes into various sessions, etc. well, closer to the metal, if you talk to pure C-guys, but with C++ any more, it's about as close as you can get to the metal. std::bitset is wonderful for this! :)

  • @DerekMolloyatDCU
    @DerekMolloyatDCU  11 ปีที่แล้ว

    When you mount the SD card under Linux it should come up as two drives: Boot /media/boot, And rootfs. I have enabled i2c-2, by adding "i2c_bus=2,400" to boot arguments in uEnv.txt (under Boot). Now, I made this change after rebuilding the Kernel (in my next Beaglebone video) so I may have made some changes to the kernel configuration. Good luck!

  • @RixtronixLAB
    @RixtronixLAB 3 ปีที่แล้ว

    Cool info, thanks :)

  • @immanuvelleenus
    @immanuvelleenus 11 ปีที่แล้ว

    Hi derek Thanks for this video it will be very useful to me

  • @Baloon_edits
    @Baloon_edits 10 ปีที่แล้ว

    Derek ..nice tutorial..pls relase ur video for SPI communication like this...

  • @sskimbox
    @sskimbox 12 ปีที่แล้ว

    Amazingly well-made and informative video.
    Like other people, I also want to suggest other topics, including UART control (BTW, is it possible to simultaneously control 4 UART?).

  • @ramonsa1688
    @ramonsa1688 11 ปีที่แล้ว

    Hi , Derek - Could you please post a tutorial how to use SPI on beaglebone?

  • @DerekMolloyatDCU
    @DerekMolloyatDCU  12 ปีที่แล้ว

    Hi Paul, unfortunately I am using a QT graphing library in that code that I do not have permission to redistribute. If I get some time I will try to build a sockets example that does not do any graphing and I will be able to distribute it.

  • @bessembaccouche4771
    @bessembaccouche4771 11 ปีที่แล้ว

    Hi Derek,
    Could you please post the code you used to transfer the data from the sensor over the network . Thanks

  • @brentsimpson3791
    @brentsimpson3791 10 ปีที่แล้ว

    Awesome video! I'm new at this, where could I download the Source Code you mentioned? I'm keen to have a play with it...

  • @ThaFacka
    @ThaFacka 12 ปีที่แล้ว

    I'm glad I abo'ed you!

  • @lifeonagriculture3330
    @lifeonagriculture3330 5 ปีที่แล้ว

    Hi Derek, It would be very helpful if you prepare interview on I2C linux device driver. Please prepare. .ko on i2c. Thank you very much in advance.

  • @angelosantos4706
    @angelosantos4706 11 ปีที่แล้ว

    Great video! Although I was wondering if there was a difference with embedded linux and uclinux? If so, is there a similar method I can use with uclinux? And is there a way that I can get a copy of the codes of the bma180 that is uclinux compatible?

  • @katogangstad
    @katogangstad 11 ปีที่แล้ว

    I also would like to get my hands on the complete code.
    Could you please post it ?

  • @tcbetka
    @tcbetka 11 ปีที่แล้ว

    Hi Derek, I was wondering if you could/would share the name of the Qt charting widget you used? I take it that it's not in the base Qt package, and may possibly be a 3rd-party control? I've been looking for something just like this, and there is one out there I've found--but I was hoping you could share the name of this one, and maybe where a person can learn more about it.
    Thanks!

  • @teuluPaul
    @teuluPaul 12 ปีที่แล้ว

    Mentioned at 10:17. Have a look at:
    elinux.org/Interfacing_with_I2C_Devices#Beagleboard_I2C2_Enable
    That gives you some pointers

  • @l0calm0ti0n
    @l0calm0ti0n 11 ปีที่แล้ว

    Hi Derek, I didn't see the I2C code attached anywhere for this video. Perhaps you can point me to the correct location? Thank you!

  • @MrLolztome1
    @MrLolztome1 12 ปีที่แล้ว

    @DerekMolloyDCU EPic Videos man but hey can u make videos on OPENCV in BB and maybe some fun C++ code?

  • @superxingzheng
    @superxingzheng 11 ปีที่แล้ว

    Hi Derek, could please tell me some helpful tutorial or reference material for serial port programming in C/C++ under ubuntu for beaglebone?

  • @katcam7993
    @katcam7993 4 ปีที่แล้ว

    I am trying to use the Ivensense iCP 10110 pressure sensor with a pocketbeagle. When i try to i2cdump to it I get many X (read errors ) and 1 value 01 (when it actually write back). Whenever I try to write or read from I get errno 121 remote i o error and then it dissapears from from the i2cdetect plot. I power cycle each time and start again. Has anyone encountered something like this ? If, so were you able to make it work?

  • @shiweiluan
    @shiweiluan 10 ปีที่แล้ว

    Hi Derek, can you give me some instructions on how to use Java codes to monitor I2C port on BeagleBone? I want to attach several I2C devices to Beglebone, if any device sends information to Beaglebone, the codes on Beaglebone can read the information. I think I can use Multi threads by Java, but don't know how to do it exactly, or if it's possible to use multi threaids to monitor I2c. Thank you.

  • @cyrillehasdenteufel2158
    @cyrillehasdenteufel2158 12 ปีที่แล้ว

    Thank you so much it's very helpful...
    On my beaglebone just omap_i2c.1 is available.
    What can I do for omap.i2c.2 or 3 ? do u have an idea ?
    Thanks in advance

  • @teuluPaul
    @teuluPaul 12 ปีที่แล้ว

    Hi Derek - Could you please post the code for your qt program running on the host pc?
    Thanks!
    Paul

  • @hamdihosni1942
    @hamdihosni1942 11 ปีที่แล้ว

    Is it possible to configure BBB port as slave ??

  • @liqiangdu3062
    @liqiangdu3062 10 ปีที่แล้ว

    Hello Derek, first thank you very much for you work, it really help us beginners a lot.And I have a problem here, I did everything just like what you said,and I also got the device address,but after that when I use the "i2cdump" command, almost all the values are 0,do you have any idea why that is happening?I'm using MPU6050,it's a 3 axis accel and gyro, so the data all be 0 just don't make any sense.And my BBB system is Linux arm 3.8.13(debian).Thank you for your help

    • @anticlementous
      @anticlementous 9 ปีที่แล้ว

      liqiang Du You have to write a 0 to turn off the sleep bit. I believe you need to write to 6b. Try i2cset 3 0x68 0x6b 0.

  • @keybisenriqueramosbecerra5639
    @keybisenriqueramosbecerra5639 8 ปีที่แล้ว

    can you do in c++? blacklib library

  • @Csangomorfozis
    @Csangomorfozis 9 ปีที่แล้ว

    Hello everyone! :) I tried to connect an MS5803-14BA pressure sensor to my Beaglebone Black, and when i test i2c-1 (pins P9_19 and P9_20), the sensor's address doesn't appear on the memory map. My hookup is the following
    MS5803-14BA Beaglebone_Black
    GND -> P9_1
    3.3V -> P9_3
    SDA -> P9_20
    SCL -> P9_19
    I am using the latest Debian image on the BBB with the kernel version 3.8.13
    My question is: Did i something wrong on the hookup or on the Beaglebone do i need to configure something to make the i2c probing correctly? Theoretically if i connected the sensor properly, then i should see its address on the Beaglebone. Can give me somebody an advice? Thanks :)

    • @deepapadmanabhan7573
      @deepapadmanabhan7573 9 ปีที่แล้ว

      Csangomorfozis
      You need to enable the 3rd set of i2c pins.
      echo BB-I2C1 > /sys/devices/bone_capemgr.*/slots

    • @deepapadmanabhan7573
      @deepapadmanabhan7573 9 ปีที่แล้ว

      deepa padmanabhan
      Initially, I couldn't get the BBB to recognise my DMA280 accelerometer. I had to use pull up resistors and enable to pin-select. What I mean to say is just connecting may not be sufficient. There might be MS5803-14BA specific inputs you might have to give.

  • @bBrain
    @bBrain 10 ปีที่แล้ว

    Could you do a video for the simplest way to connect a sparkfun's LSM9DS0 9dof to beaglebone black? I can't figure it out...

    • @freedepee
      @freedepee 10 ปีที่แล้ว

      have you figured it out yet?

    • @bBrain
      @bBrain 10 ปีที่แล้ว

      fttl not on bbb. On arduino yes.

    • @CountDownToDisaster
      @CountDownToDisaster 9 ปีที่แล้ว

      GodFear17 If you have figured it out, please let me know. I'm having the same problem.

    • @bBrain
      @bBrain 9 ปีที่แล้ว

      ***** I never got the LSM9DS0 to work on the BBB, but I did get it working easily with the arduino, I'm just using a mega and works fine.

    • @AlexFuhr1
      @AlexFuhr1 9 ปีที่แล้ว

      GodFear17 If you're still looking, I managed to get a library made based on the Sparkfun library: github.com/projectzen/Beaglebone-LSM9DS0

  • @user-cd8kn9ew3y
    @user-cd8kn9ew3y 7 ปีที่แล้ว

    how I get the source code?

  • @shebotnov
    @shebotnov 11 ปีที่แล้ว

    no new videos for 5 month :(

  • @c2h2c2h210
    @c2h2c2h210 12 ปีที่แล้ว

    please use github to post code not a zip, not linux style